DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase Class Reference

Inheritance diagram for DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase:

Inheritance graph
[legend]

List of all members.

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


Detailed Description

template<class DH, int patch_dim, int patch_space_dim = patch_dim>
class DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase

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

Constructor & Destructor Documentation

template<class DH, int patch_dim, int patch_space_dim = patch_dim>
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.

template<class DH, int patch_dim, int patch_space_dim = patch_dim>
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.

template<class DH, int patch_dim, int patch_space_dim = patch_dim>
virtual DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase::~DataEntryBase (  )  [virtual]

Destructor made virtual.


Member Function Documentation

template<class DH, int patch_dim, int patch_space_dim = patch_dim>
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 >.

template<class DH, int patch_dim, int patch_space_dim = patch_dim>
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 >.

template<class DH, int patch_dim, int patch_space_dim = patch_dim>
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 >.

template<class DH, int patch_dim, int patch_space_dim = patch_dim>
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 >.

template<class DH, int patch_dim, int patch_space_dim = patch_dim>
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 >.

template<class DH, int patch_dim, int patch_space_dim = patch_dim>
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 >.

template<class DH, int patch_dim, int patch_space_dim = patch_dim>
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 >.

template<class DH, int patch_dim, int patch_space_dim = patch_dim>
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 >.

template<class DH, int patch_dim, int patch_space_dim = patch_dim>
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 >.


Member Data Documentation

template<class DH, int patch_dim, int patch_space_dim = patch_dim>
const std::vector<std::string> DataOut_DoFData< DH, patch_dim, patch_space_dim >::DataEntryBase::names

Names of the components of this data vector.

template<class DH, int patch_dim, int patch_space_dim = patch_dim>
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.

template<class DH, int patch_dim, int patch_space_dim = patch_dim>
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.

template<class DH, int patch_dim, int patch_space_dim = patch_dim>
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().


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

deal.II documentation generated on Sat Aug 15 16:51:46 2009 by doxygen 1.5.9