deal.II version GIT relicensing-2306-ga6fff1538f 2024-12-29 17:30:00+00:00
|
#include <deal.II/numerics/data_postprocessor.h>
Public Member Functions | |
template<int dim> | |
void | set_cell (const typename DoFHandler< dim, spacedim >::cell_iterator &cell) |
template<int dim> | |
void | set_cell_and_face (const typename DoFHandler< dim, spacedim >::cell_iterator &cell, const unsigned int face_number) |
template<int dim> | |
DoFHandler< dim, spacedim >::cell_iterator | get_cell () const |
unsigned int | get_face_number () const |
Public Attributes | |
std::vector<::Vector< double > > | solution_values |
std::vector< std::vector< Tensor< 1, spacedim > > > | solution_gradients |
std::vector< std::vector< Tensor< 2, spacedim > > > | solution_hessians |
std::vector< Tensor< 1, spacedim > > | normals |
std::vector< Point< spacedim > > | evaluation_points |
Private Attributes | |
std::any | cell |
unsigned int | face_number |
A structure that is used to pass information to DataPostprocessor::evaluate_vector_field(). It contains the values and (if requested) derivatives of a vector-valued solution variable at the evaluation points on a cell or face.
This class is also used if the solution vector is complex-valued (whether it is scalar- or vector-valued is immaterial in that case) since in that case, the DataOut and related classes take apart the real and imaginary parts of a solution vector. In practice, that means that if a solution vector has \(N\) vector components (i.e., there are \(N\) functions that form the solution of the PDE you are dealing with; \(N\) is not the size of the solution vector), then if the solution is real-valued the solution_values
variable below will be an array with as many entries as there are evaluation points on a cell, and each entry is a vector of length \(N\) representing the \(N\) solution functions evaluated at a point. On the other hand, if the solution is complex-valued (i.e., the vector passed to DataOut::build_patches() has complex-valued entries), then the solution_values
member variable of this class will have \(2N\) entries for each evaluation point. The first \(N\) of these entries represent the real parts of the solution, and the second \(N\) entries correspond to the imaginary parts of the solution evaluated at the evaluation point. The same layout is used for the solution_gradients
and solution_hessians
fields: First the gradients/Hessians of the real components, then all the gradients/Hessians of the imaginary components. There is more information about the subject in the documentation of the DataPostprocessor class itself. step-58 provides an example of how this class is used in a complex-valued situation.
Through the fields in the CommonInputs base class, this class also makes available access to the locations of evaluations points, normal vectors (if appropriate), and which cell data is currently being evaluated on (also if appropriate).
Definition at line 399 of file data_postprocessor.h.
|
inherited |
Set the cell that is currently being used in evaluating the data for which the DataPostprocessor object is being called.
This function is not usually called from user space, but is instead called by DataOut and similar classes when creating the object that is then passed to DataPostprocessor.
|
inherited |
Set the cell and face number that is currently being used in evaluating the data for which the DataPostprocessor object is being called. Given that a face is required, this function is meant to be called by a class such as DataOutFaces.
This function is not usually called from user space, but is instead called by DataOutFaces and similar classes when creating the object that is then passed to DataPostprocessor.
|
inherited |
Query the cell on which we currently produce graphical output. See the documentation of the current class for an example on how to use this function.
|
inherited |
Query the face number on which we currently produce graphical output. See the documentation of the current class for an example on how to use the related get_cell() function that is meant to query the cell currently being worked on.
This function is intended for use when producing graphical output on faces, for example through the DataOutFaces class.
Definition at line 32 of file data_postprocessor.cc.
std::vector<::Vector<double> > DataPostprocessorInputs::Vector< spacedim >::solution_values |
An array of values of a vector-valued solution at each of the evaluation points used to create graphical output from one cell, face, or other object.
The outer vector runs over the evaluation points, whereas the inner vector runs over the components of the finite element field for which output will be generated.
Definition at line 410 of file data_postprocessor.h.
std::vector<std::vector<Tensor<1, spacedim> > > DataPostprocessorInputs::Vector< spacedim >::solution_gradients |
An array of gradients of a vector-valued solution at each of the evaluation points used to create graphical output from one cell, face, or other object.
The outer vector runs over the evaluation points, whereas the inner vector runs over the components of the finite element field for which output will be generated.
This array is only filled if a user-derived class overloads the DataPostprocessor::get_needed_update_flags(), and the function returns (possibly among other flags) UpdateFlags::update_gradients. Alternatively, a class derived from DataPostprocessorScalar, DataPostprocessorVector, or DataPostprocessorTensor may pass this flag to the constructor of these three classes.
Definition at line 429 of file data_postprocessor.h.
std::vector<std::vector<Tensor<2, spacedim> > > DataPostprocessorInputs::Vector< spacedim >::solution_hessians |
An array of second derivatives of a vector-valued solution at each of the evaluation points used to create graphical output from one cell, face, or other object.
The outer vector runs over the evaluation points, whereas the inner vector runs over the components of the finite element field for which output will be generated.
This array is only filled if a user-derived class overloads the DataPostprocessor::get_needed_update_flags(), and the function returns (possibly among other flags) UpdateFlags::update_hessians. Alternatively, a class derived from DataPostprocessorScalar, DataPostprocessorVector, or DataPostprocessorTensor may pass this flag to the constructor of these three classes.
Definition at line 448 of file data_postprocessor.h.
|
inherited |
An array of vectors normal to the faces of cells, evaluated at the points at which we are generating graphical output. This array is only used by the DataOutFaces class, and is left empty by all other classes for which the DataPostprocessor framework can be used. In the case of DataOutFaces, the array contains the outward normal vectors to the face, seen from the interior of the cell.
This array is only filled if a user-derived class overloads the DataPostprocessor::get_needed_update_flags(), and the function returns (possibly among other flags) UpdateFlags::update_normal_vectors. Alternatively, a class derived from DataPostprocessorScalar, DataPostprocessorVector, or DataPostprocessorTensor may pass this flag to the constructor of these three classes.
Definition at line 214 of file data_postprocessor.h.
|
inherited |
An array of coordinates corresponding to the locations at which we are generating graphical output on one cell.
This array is only filled if a user-derived class overloads the DataPostprocessor::get_needed_update_flags(), and the function returns (possibly among other flags) UpdateFlags::update_quadrature_points. Alternatively, a class derived from DataPostprocessorScalar, DataPostprocessorVector, or DataPostprocessorTensor may pass this flag to the constructor of these three classes.
Definition at line 236 of file data_postprocessor.h.
|
privateinherited |
The place where set_cell() stores the cell. Since the actual data type of the cell iterator can be many different things, the interface uses std::any here. This makes assignment in set_cell() simple, but requires knowing the data type of the stored object in get_cell().
Definition at line 295 of file data_postprocessor.h.
|
privateinherited |
The place where set_cell_and_face() stores the number of the face being worked on.
Definition at line 301 of file data_postprocessor.h.