Reference documentation for deal.II version 9.2.0
\(\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\}}\)
Public Member Functions | Private Attributes | List of all members
DataPostprocessorScalar< dim > Class Template Reference

#include <deal.II/numerics/data_postprocessor.h>

Inheritance diagram for DataPostprocessorScalar< dim >:
[legend]

Public Member Functions

 DataPostprocessorScalar (const std::string &name, const UpdateFlags update_flags)
 
virtual std::vector< std::string > get_names () const override
 
virtual std::vector< DataComponentInterpretation::DataComponentInterpretationget_data_component_interpretation () const override
 
virtual UpdateFlags get_needed_update_flags () const override
 
- Public Member Functions inherited from DataPostprocessor< dim >
virtual ~DataPostprocessor () override=default
 
virtual void evaluate_scalar_field (const DataPostprocessorInputs::Scalar< dim > &input_data, std::vector< Vector< double >> &computed_quantities) const
 
virtual void evaluate_vector_field (const DataPostprocessorInputs::Vector< dim > &input_data, std::vector< Vector< double >> &computed_quantities) const
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
 Subscriptor (Subscriptor &&) noexcept
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
Subscriptoroperator= (Subscriptor &&) noexcept
 
void subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
void unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
unsigned int n_subscriptions () const
 
template<typename StreamType >
void list_subscribers (StreamType &stream) const
 
void list_subscribers () const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

const std::string name
 
const UpdateFlags update_flags
 

Additional Inherited Members

- Static Public Member Functions inherited from Subscriptor
static ::ExceptionBaseExcInUse (int arg1, std::string arg2, std::string arg3)
 
static ::ExceptionBaseExcNoSubscriber (std::string arg1, std::string arg2)
 

Detailed Description

template<int dim>
class DataPostprocessorScalar< dim >

This class provides a simpler interface to the functionality offered by the DataPostprocessor class in case one wants to compute only a single scalar quantity from the finite element field passed to the DataOut class. For this particular case, it is clear what the returned value of DataPostprocessor::get_data_component_interpretation() should be and we pass the values returned by get_names() and get_needed_update_flags() to the constructor so that derived classes do not have to implement these functions by hand.

All derived classes have to do is implement a constructor and overload either DataPostprocessor::evaluate_scalar_field() or DataPostprocessor::evaluate_vector_field() as discussed in the DataPostprocessor class's documentation.

An example of how this class can be used can be found in step-29 for the case where we are interested in computing the magnitude (a scalar) of a complex-valued solution. While in step-29, the solution vector consists of separate real and imaginary parts of the solution, step-58 computes the solution vector as a vector with complex entries and the DataPostprocessorScalar class is used there to compute the magnitude and phase of the solution in a different way there.

An example of how the closely related DataPostprocessorVector class can be used is found in the documentation of that class. The same is true for the DataPostprocessorTensor class.

Author
Wolfgang Bangerth, 2011

Definition at line 628 of file data_postprocessor.h.

Constructor & Destructor Documentation

◆ DataPostprocessorScalar()

template<int dim>
DataPostprocessorScalar< dim >::DataPostprocessorScalar ( const std::string &  name,
const UpdateFlags  update_flags 
)

Constructor. Take the name of the single scalar variable computed by classes derived from the current one, as well as the update flags necessary to compute this quantity.

Parameters
nameThe name by which the scalar variable computed by this class should be made available in graphical output files.
update_flagsThis has to be a combination of update_values, update_gradients, update_hessians and update_quadrature_points. Note that the flag update_quadrature_points updates DataPostprocessorInputs::CommonInputs::evaluation_points. If the DataPostprocessor is to be used in combination with DataOutFaces, you may also ask for a update of normals via the update_normal_vectors flag. The description of the flags can be found at UpdateFlags.

Definition at line 60 of file data_postprocessor.cc.

Member Function Documentation

◆ get_names()

template<int dim>
std::vector< std::string > DataPostprocessorScalar< dim >::get_names
overridevirtual

Return the vector of strings describing the names of the computed quantities. Given the purpose of this class, this is a vector with a single entry equal to the name given to the constructor.

Implements DataPostprocessor< dim >.

Definition at line 71 of file data_postprocessor.cc.

◆ get_data_component_interpretation()

template<int dim>
std::vector< DataComponentInterpretation::DataComponentInterpretation > DataPostprocessorScalar< dim >::get_data_component_interpretation
overridevirtual

This function returns information about how the individual components of output files that consist of more than one data set are to be interpreted. Since the current class is meant to be used for a single scalar result variable, the returned value is obviously DataComponentInterpretation::component_is_scalar.

Reimplemented from DataPostprocessor< dim >.

Definition at line 80 of file data_postprocessor.cc.

◆ get_needed_update_flags()

template<int dim>
UpdateFlags DataPostprocessorScalar< dim >::get_needed_update_flags
overridevirtual

Return, which data has to be provided to compute the derived quantities. The flags returned here are the ones passed to the constructor of this class.

Implements DataPostprocessor< dim >.

Definition at line 89 of file data_postprocessor.cc.

Member Data Documentation

◆ name

template<int dim>
const std::string DataPostprocessorScalar< dim >::name
private

Copies of the two arguments given to the constructor of this class.

Definition at line 679 of file data_postprocessor.h.

◆ update_flags

template<int dim>
const UpdateFlags DataPostprocessorScalar< dim >::update_flags
private

Definition at line 680 of file data_postprocessor.h.


The documentation for this class was generated from the following files: