Reference documentation for deal.II version 9.3.0
internal::DataOutImplementation Namespace Reference

## Classes

class  DataEntryBase

struct  ParallelData

struct  ParallelDataBase

## Enumerations

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

## ◆ ComponentExtractor

 strong

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 199 of file data_out_dof_data.h.