Reference documentation for deal.II version 8.1.0
Public Member Functions | Public Attributes | List of all members
internal::DataOut::DataEntryBase< DH > Class Template Referenceabstract

#include <data_out_dof_data.h>

Public Member Functions

 DataEntryBase (const DH *dofs, const std::vector< std::string > &names, const std::vector< DataComponentInterpretation::DataComponentInterpretation > &data_component_interpretation)
 
 DataEntryBase (const DH *dofs, const DataPostprocessor< DH::space_dimension > *data_postprocessor)
 
virtual ~DataEntryBase ()
 
virtual double get_cell_data_value (const unsigned int cell_number) const =0
 
virtual void get_function_values (const FEValuesBase< DH::dimension, DH::space_dimension > &fe_patch_values, std::vector< double > &patch_values) const =0
 
virtual void get_function_values (const FEValuesBase< DH::dimension, DH::space_dimension > &fe_patch_values, std::vector<::Vector< double > > &patch_values_system) const =0
 
virtual void get_function_gradients (const FEValuesBase< DH::dimension, DH::space_dimension > &fe_patch_values, std::vector< Tensor< 1, DH::space_dimension > > &patch_gradients) const =0
 
virtual void get_function_gradients (const FEValuesBase< DH::dimension, DH::space_dimension > &fe_patch_values, std::vector< std::vector< Tensor< 1, DH::space_dimension > > > &patch_gradients_system) const =0
 
virtual void get_function_hessians (const FEValuesBase< DH::dimension, DH::space_dimension > &fe_patch_values, std::vector< Tensor< 2, DH::space_dimension > > &patch_hessians) const =0
 
virtual void get_function_hessians (const FEValuesBase< DH::dimension, DH::space_dimension > &fe_patch_values, std::vector< std::vector< Tensor< 2, DH::space_dimension > > > &patch_hessians_system) const =0
 
virtual void clear ()=0
 
virtual std::size_t memory_consumption () const =0
 

Public Attributes

SmartPointer< const DH > dof_handler
 
const std::vector< std::string > names
 
const std::vector< DataComponentInterpretation::DataComponentInterpretationdata_component_interpretation
 
SmartPointer< const ::DataPostprocessor< DH::space_dimension > > postprocessor
 
unsigned int n_output_variables
 

Detailed Description

template<class DH>
class internal::DataOut::DataEntryBase< DH >

For each vector that has been added through the add_data_vector() functions, we need to keep track of a pointer to it, and allow data extraction from it when we generate patches. Unfortunately, we need to do this for a number of different vector types. Fortunately, they all have the same interface. So the way we go is to have a base class that provides the functions to access the vector's information, and to have a derived template class that can be instantiated for each vector type. Since the vectors all have the same interface, this is no big problem, as they can all use the same general templatized code.

Author
Wolfgang Bangerth, 2004

Definition at line 59 of file data_out_dof_data.h.

Constructor & Destructor Documentation

template<class DH >
internal::DataOut::DataEntryBase< DH >::DataEntryBase ( const DH *  dofs,
const std::vector< std::string > &  names,
const std::vector< DataComponentInterpretation::DataComponentInterpretation > &  data_component_interpretation 
)

Constructor. Give a list of names for the individual components of the vector and their interpretation as scalar or vector data. This constructor assumes that no postprocessor is going to be used.

template<class DH >
internal::DataOut::DataEntryBase< DH >::DataEntryBase ( const DH *  dofs,
const DataPostprocessor< DH::space_dimension > *  data_postprocessor 
)

Constructor when a data postprocessor is going to be used. In that case, the names and vector declarations are going to be acquired from the postprocessor.

template<class DH >
virtual internal::DataOut::DataEntryBase< DH >::~DataEntryBase ( )
virtual

Destructor made virtual.

Member Function Documentation

template<class DH >
virtual double internal::DataOut::DataEntryBase< DH >::get_cell_data_value ( const unsigned int  cell_number) const
pure virtual

Assuming that the stored vector is a cell vector, extract the given element from it.

template<class DH >
virtual void internal::DataOut::DataEntryBase< DH >::get_function_values ( const FEValuesBase< DH::dimension, DH::space_dimension > &  fe_patch_values,
std::vector< double > &  patch_values 
) const
pure virtual

Given a FEValuesBase object, extract the values on the present cell from the vector we actually store.

template<class DH >
virtual void internal::DataOut::DataEntryBase< DH >::get_function_values ( const FEValuesBase< DH::dimension, DH::space_dimension > &  fe_patch_values,
std::vector<::Vector< double > > &  patch_values_system 
) const
pure virtual

Given a FEValuesBase object, extract the values on the present cell from the vector we actually store. This function does the same as the one above but for vector-valued finite elements.

template<class DH >
virtual void internal::DataOut::DataEntryBase< DH >::get_function_gradients ( const FEValuesBase< DH::dimension, DH::space_dimension > &  fe_patch_values,
std::vector< Tensor< 1, DH::space_dimension > > &  patch_gradients 
) const
pure virtual

Given a FEValuesBase object, extract the gradients on the present cell from the vector we actually store.

template<class DH >
virtual void internal::DataOut::DataEntryBase< DH >::get_function_gradients ( const FEValuesBase< DH::dimension, DH::space_dimension > &  fe_patch_values,
std::vector< std::vector< Tensor< 1, DH::space_dimension > > > &  patch_gradients_system 
) const
pure virtual

Given a FEValuesBase object, extract the gradients on the present cell from the vector we actually store. This function does the same as the one above but for vector-valued finite elements.

template<class DH >
virtual void internal::DataOut::DataEntryBase< DH >::get_function_hessians ( const FEValuesBase< DH::dimension, DH::space_dimension > &  fe_patch_values,
std::vector< Tensor< 2, DH::space_dimension > > &  patch_hessians 
) const
pure virtual

Given a FEValuesBase object, extract the second derivatives on the present cell from the vector we actually store.

template<class DH >
virtual void internal::DataOut::DataEntryBase< DH >::get_function_hessians ( const FEValuesBase< DH::dimension, DH::space_dimension > &  fe_patch_values,
std::vector< std::vector< Tensor< 2, DH::space_dimension > > > &  patch_hessians_system 
) const
pure virtual

Given a FEValuesBase object, extract the second derivatives on the present cell from the vector we actually store. This function does the same as the one above but for vector-valued finite elements.

template<class DH >
virtual void internal::DataOut::DataEntryBase< DH >::clear ( )
pure virtual

Clear all references to the vectors.

template<class DH >
virtual std::size_t internal::DataOut::DataEntryBase< DH >::memory_consumption ( ) const
pure virtual

Determine an estimate for the memory consumption (in bytes) of this object.

Member Data Documentation

template<class DH >
SmartPointer<const DH> internal::DataOut::DataEntryBase< DH >::dof_handler

Pointer to the DoFHandler object that the vector is based on.

Definition at line 163 of file data_out_dof_data.h.

template<class DH >
const std::vector<std::string> internal::DataOut::DataEntryBase< DH >::names

Names of the components of this data vector.

Definition at line 168 of file data_out_dof_data.h.

template<class DH >
const std::vector<DataComponentInterpretation::DataComponentInterpretation> internal::DataOut::DataEntryBase< DH >::data_component_interpretation

A vector that for each of the n_output_variables variables of the current data set indicates whether they are scalar fields, parts of a vector-field, or any of the other supported kinds of data.

Definition at line 176 of file data_out_dof_data.h.

template<class DH >
SmartPointer<const ::DataPostprocessor<DH::space_dimension> > internal::DataOut::DataEntryBase< DH >::postprocessor

Pointer to a DataPostprocessing object which shall be applied to this data vector.

Definition at line 182 of file data_out_dof_data.h.

template<class DH >
unsigned int internal::DataOut::DataEntryBase< DH >::n_output_variables

Number of output variables this dataset provides (either number of components in vector valued function / data vector or number of computed quantities, if DataPostprocessor is applied). This variable is determined via and thus equivalent to names.size().

Definition at line 190 of file data_out_dof_data.h.


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