Reference documentation for deal.II version Git f0d9923401 2020-09-28 19:47:38 -0600
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Classes | Enumerations
internal::DataOutImplementation Namespace Reference


class  DataEntryBase
struct  ParallelData
struct  ParallelDataBase


enum  ComponentExtractor { ComponentExtractor::real_part, ComponentExtractor::imaginary_part }

Enumeration Type Documentation

◆ ComponentExtractor

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.


Definition at line 199 of file data_out_dof_data.h.