The DataEntry classes abstract away the concrete data type of vectors users can attach to DataOut (and similar) objects and allow the underlying DataOut functions to query for individual elements of solution vectors without having to know the concrete vector type. This avoids that DataOut has to know what vectors are being used, but it has the downside that DataOut also doesn't know the underlying scalar type of these vectors.
If the underlying scalar types all represent real numbers (in the mathematical sense – i.e., the scalar type would be float
, double
, etc) then that is not a problem – DataOut simply receives the values of individual vector components as double
objects. On the other hand, if the vector type uses a std::complex scalar type, then DataEntry returning a double
for a vector entry is not sufficient – we need to provide DataOut with a way to query both the real and the imaginary part, so that they can be written into output files separately.
This enum allows DataOut to tell a DataEntry function which component of a vector entry it wants to query, i.e., whether it wants the real or the imaginary part of a vector entry.
Enumerator |
---|
real_part | |
imaginary_part | |
Definition at line 202 of file data_out_dof_data.h.