Public Member Functions | |
DataEntryBase (const std::vector< std::string > &names, const std::vector< DataComponentInterpretation::DataComponentInterpretation > &data_component_interpretation) | |
DataEntryBase (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 unsigned int | memory_consumption () const =0 |
Public Attributes | |
const std::vector< std::string > | names |
const std::vector < DataComponentInterpretation::DataComponentInterpretation > | data_component_interpretation |
SmartPointer< const DataPostprocessor < DH::space_dimension > > | postprocessor |
unsigned int | n_output_variables |
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.
DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase::DataEntryBase | ( | 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.
DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase::DataEntryBase | ( | 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 aquired from the postprocessor.
virtual DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase::~DataEntryBase | ( | ) | [virtual] |
Destructor made virtual.
virtual double DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase::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.
Implemented in DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntry< VectorType >.
virtual void DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase::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.
Implemented in DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntry< VectorType >.
virtual void DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase::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.
Implemented in DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntry< VectorType >.
virtual void DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase::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.
Implemented in DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntry< VectorType >.
virtual void DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase::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.
Implemented in DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntry< VectorType >.
virtual void DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase::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.
Implemented in DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntry< VectorType >.
virtual void DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase::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.
Implemented in DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntry< VectorType >.
virtual void DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase::clear | ( | ) | [pure virtual] |
Clear all references to the vectors.
Implemented in DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntry< VectorType >.
virtual unsigned int DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase::memory_consumption | ( | ) | const [pure virtual] |
Determine an estimate for the memory consumption (in bytes) of this object.
Implemented in DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntry< VectorType >.
const std::vector<std::string> DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase::names |
Names of the components of this data vector.
const std::vector<DataComponentInterpretation::DataComponentInterpretation> DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase::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.
SmartPointer<const DataPostprocessor<DH::space_dimension> > DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase::postprocessor |
Pointer to a DataPostprocessing object which shall be applied to this data vector.
unsigned int DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase::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()
.