DOpE
Public Member Functions
DOpE::ElementDataContainer< dealii::hp::DoFHandler, VECTOR, dim > Class Template Reference

#include <elementdatacontainer.h>

Inheritance diagram for DOpE::ElementDataContainer< dealii::hp::DoFHandler, VECTOR, dim >:
DOpE::edcinternal::ElementDataContainerInternal< VECTOR, dim >

Public Member Functions

template<template< int, int > class FE, typename SPARSITYPATTERN , int dopedim, int dealdim>
 ElementDataContainer (const hp::QCollection< dim > &q_collection, UpdateFlags update_flags, SpaceTimeHandler< FE, dealii::hp::DoFHandler, SPARSITYPATTERN, VECTOR, dopedim, dealdim > &sth, const std::vector< typename DOpEWrapper::DoFHandler< dim, dealii::hp::DoFHandler >::active_cell_iterator > &element, const std::map< std::string, const Vector< double > * > &param_values, const std::map< std::string, const VECTOR * > &domain_values)
 
template<template< int, int > class FE, typename SPARSITYPATTERN >
 ElementDataContainer (const hp::QCollection< dim > &q_collection, UpdateFlags update_flags, StateSpaceTimeHandler< FE, dealii::hp::DoFHandler, SPARSITYPATTERN, VECTOR, dim > &sth, const std::vector< typename DOpEWrapper::DoFHandler< dim, dealii::hp::DoFHandler >::active_cell_iterator > &element, const std::map< std::string, const Vector< double > * > &param_values, const std::map< std::string, const VECTOR * > &domain_values)
 
 ~ElementDataContainer ()
 
void ReInit ()
 
unsigned int GetNDoFsPerElement () const
 
unsigned int GetNQPoints () const
 
unsigned int GetMaterialId () const
 
unsigned int GetNbrMaterialId (unsigned int face) const
 
unsigned int GetFaceBoundaryIndicator (unsigned int face) const
 
bool GetIsAtBoundary () const
 
double GetElementDiameter () const
 
Point< dim > GetCenter () const
 
const DOpEWrapper::FEValues
< dim > & 
GetFEValuesState () const
 
const DOpEWrapper::FEValues
< dim > & 
GetFEValuesControl () const
 
- Public Member Functions inherited from DOpE::edcinternal::ElementDataContainerInternal< VECTOR, dim >
 ElementDataContainerInternal (const std::map< std::string, const dealii::Vector< double > * > &param_values, const std::map< std::string, const VECTOR * > &domain_values)
 
virtual ~ElementDataContainerInternal ()
 
void GetParamValues (std::string name, dealii::Vector< double > &value) const
 
const std::map< std::string,
const VECTOR * > & 
GetDomainValues () const
 
const Triangulation< dim >
::cell_iterator 
GetElementState () const
 
void GetValuesState (std::string name, std::vector< double > &values) const
 
void GetValuesState (std::string name, std::vector< dealii::Vector< double > > &values) const
 
void GetValuesControl (std::string name, std::vector< double > &values) const
 
void GetValuesControl (std::string name, std::vector< dealii::Vector< double > > &values) const
 
template<int targetdim>
void GetGradsState (std::string name, std::vector< dealii::Tensor< 1, targetdim > > &values) const
 
template<int targetdim>
void GetGradsState (std::string name, std::vector< std::vector< dealii::Tensor< 1, targetdim > > > &values) const
 
template<int targetdim>
void GetGradsControl (std::string name, std::vector< dealii::Tensor< 1, targetdim > > &values) const
 
template<int targetdim>
void GetGradsControl (std::string name, std::vector< std::vector< dealii::Tensor< 1, targetdim > > > &values) const
 
template<int targetdim>
void GetHessiansState (std::string name, std::vector< dealii::Tensor< 2, targetdim > > &values) const
 
template<int targetdim>
void GetHessiansState (std::string name, std::vector< std::vector< dealii::Tensor< 2, targetdim > > > &values) const
 
template<int targetdim>
void GetHessiansControl (std::string name, std::vector< dealii::Tensor< 2, targetdim > > &values) const
 
template<int targetdim>
void GetHessiansControl (std::string name, std::vector< std::vector< dealii::Tensor< 2, targetdim > > > &values) const
 
void GetLaplaciansState (std::string name, std::vector< double > &values) const
 
void GetLaplaciansState (std::string name, std::vector< dealii::Vector< double > > &values) const
 
void GetLaplaciansControl (std::string name, std::vector< double > &values) const
 
void GetLaplaciansControl (std::string name, std::vector< dealii::Vector< double > > &values) const
 

Detailed Description

template<typename VECTOR, int dim>
class DOpE::ElementDataContainer< dealii::hp::DoFHandler, VECTOR, dim >

This two classes hold all the information we need in the integrator to integrate something over a element (could be a functional, a PDE, etc.). Of particular importance: This class holds the FEValues objects.

VECTOR Type of the vector we use in our computations (i.e. Vector<double> or BlockVector<double>) dim The dimension of the integral we are actually interested in. Constructor. Initializes the FEValues objects.

FE Type of the finite element in use. Must be compatible with dealii::DofHandler. //TODO Should we fix this? SPARSITYPATTERN The corresponding Sparsitypattern to the class-template VECTOR. dopedim The dimension of the control variable. dealdim The dimension of the state variable.

Parameters
quadReference to the quadrature-rule which we use at the moment.
update_flagsThe update flags we need to initialize the FEValues obejcts
sthA reference to the SpaceTimeHandler in use.
elementA vector of element iterators through which we gain most of the needed information (like material_ids, n_dfos, etc.)
param_valuesA std::map containing parameter data (e.g. non space dependent data). If the control is done by parameters, it is contained in this map at the position "control".
domain_valuesA std::map containing domain data (e.g. nodal vectors for FE-Functions). If the control is distributed, it is contained in this map at the position "control". The state may always be found in this map at the position "state" Constructor. Initializes the FEValues objects. When only a PDE is used.

FE Type of the finite element in use. SPARSITYPATTERN The corresponding Sparsitypattern to the class-template VECTOR.

Parameters
quadReference to the quadrature-rule which we use at the moment.
update_flagsThe update flags we need to initialize the FEValues obejcts
sthA reference to the SpaceTimeHandler in use.
elementA vector of element iterators through which we gain most of the needed information (like material_ids, n_dfos, etc.)
param_valuesA std::map containing parameter data (e.g. non space dependent data). If the control is done by parameters, it is contained in this map at the position "control".
domain_valuesA std::map containing domain data (e.g. nodal vectors for FE-Functions). If the control is distributed, it is contained in this map at the position "control". The state may always be found in this map at the position "state" Get functions to extract data. They all assume that ReInit is executed before calling them. Self explanatory.

Constructor & Destructor Documentation

template<typename VECTOR , int dim>
template<template< int, int > class FE, typename SPARSITYPATTERN , int dopedim, int dealdim>
DOpE::ElementDataContainer< dealii::hp::DoFHandler, VECTOR, dim >::ElementDataContainer ( const hp::QCollection< dim > &  q_collection,
UpdateFlags  update_flags,
SpaceTimeHandler< FE, dealii::hp::DoFHandler, SPARSITYPATTERN, VECTOR, dopedim, dealdim > &  sth,
const std::vector< typename DOpEWrapper::DoFHandler< dim, dealii::hp::DoFHandler >::active_cell_iterator > &  element,
const std::map< std::string, const Vector< double > * > &  param_values,
const std::map< std::string, const VECTOR * > &  domain_values 
)
inline

Constructor. Initializes the hp_fe_falues objects.

FE Type of the finite element in use. Must be compatible with hp::DoFHandler. //TODO Should we fix this? SPARSITYPATTERN The corresponding Sparsitypattern to the class-template VECTOR. dopedim The dimension of the control variable. dealdim The dimension of the state variable.

Parameters
quadReference to the qcollection-rule which we use at the moment.
update_flagsThe update flags we need to initialize the FEValues obejcts
sthA reference to the SpaceTimeHandler in use.
elementA vector of element iterators through which we gain most of the needed information (like material_ids, n_dfos, etc.)
param_valuesA std::map containing parameter data (e.g. non space dependent data). If the control is done by parameters, it is contained in this map at the position "control".
domain_valuesA std::map containing domain data (e.g. nodal vectors for FE-Functions). If the control is distributed, it is contained in this map at the position "control". The state may always be found in this map at the position "state"
template<typename VECTOR , int dim>
template<template< int, int > class FE, typename SPARSITYPATTERN >
DOpE::ElementDataContainer< dealii::hp::DoFHandler, VECTOR, dim >::ElementDataContainer ( const hp::QCollection< dim > &  q_collection,
UpdateFlags  update_flags,
StateSpaceTimeHandler< FE, dealii::hp::DoFHandler, SPARSITYPATTERN, VECTOR, dim > &  sth,
const std::vector< typename DOpEWrapper::DoFHandler< dim, dealii::hp::DoFHandler >::active_cell_iterator > &  element,
const std::map< std::string, const Vector< double > * > &  param_values,
const std::map< std::string, const VECTOR * > &  domain_values 
)
inline

Constructor. Initializes the hp_fe_falues objects. For PDE only.

SPARSITYPATTERN The corresponding Sparsitypattern to the class-template VECTOR.

Parameters
quadReference to the qcollection-rule which we use at the moment.
update_flagsThe update flags we need to initialize the FEValues obejcts
sthA reference to the SpaceTimeHandler in use.
elementA vector of element iterators through which we gain most of the needed information (like material_ids, n_dfos, etc.)
param_valuesA std::map containing parameter data (e.g. non space dependent data). If the control is done by parameters, it is contained in this map at the position "control".
domain_valuesA std::map containing domain data (e.g. nodal vectors for FE-Functions). If the control is distributed, it is contained in this map at the position "control". The state may always be found in this map at the position "state"
template<typename VECTOR , int dim>
DOpE::ElementDataContainer< dealii::hp::DoFHandler, VECTOR, dim >::~ElementDataContainer ( )
inline

Member Function Documentation

template<typename VECTOR , int dim>
Point< dim > DOpE::ElementDataContainer< dealii::hp::DoFHandler, VECTOR, dim >::GetCenter ( ) const
inline
template<typename VECTOR , int dim>
double DOpE::ElementDataContainer< dealii::hp::DoFHandler, VECTOR, dim >::GetElementDiameter ( ) const
inline
template<typename VECTOR , int dim>
unsigned int DOpE::ElementDataContainer< dealii::hp::DoFHandler, VECTOR, dim >::GetFaceBoundaryIndicator ( unsigned int  face) const
inline
template<typename VECTOR , int dim>
const DOpEWrapper::FEValues< dim > & DOpE::ElementDataContainer< dealii::hp::DoFHandler, VECTOR, dim >::GetFEValuesControl ( ) const
inlinevirtual
template<typename VECTOR , int dim>
const DOpEWrapper::FEValues< dim > & DOpE::ElementDataContainer< dealii::hp::DoFHandler, VECTOR, dim >::GetFEValuesState ( ) const
inlinevirtual
template<typename VECTOR , int dim>
bool DOpE::ElementDataContainer< dealii::hp::DoFHandler, VECTOR, dim >::GetIsAtBoundary ( ) const
inline
template<typename VECTOR , int dim>
unsigned int DOpE::ElementDataContainer< dealii::hp::DoFHandler, VECTOR, dim >::GetMaterialId ( ) const
inline
template<typename VECTOR , int dim>
unsigned int DOpE::ElementDataContainer< dealii::hp::DoFHandler, VECTOR, dim >::GetNbrMaterialId ( unsigned int  face) const
inline
template<typename VECTOR , int dim>
unsigned int DOpE::ElementDataContainer< dealii::hp::DoFHandler, VECTOR, dim >::GetNDoFsPerElement ( ) const
inline

Get functions to extract data. They all assume that ReInit is executed before calling them. Self explanatory.

template<typename VECTOR , int dim>
unsigned int DOpE::ElementDataContainer< dealii::hp::DoFHandler, VECTOR, dim >::GetNQPoints ( ) const
inline
template<typename VECTOR , int dim>
void DOpE::ElementDataContainer< dealii::hp::DoFHandler, VECTOR, dim >::ReInit ( )
inline

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