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

#include <multimesh_elementdatacontainer.h>

Public Member Functions

template<template< int, int > class FE, typename SPARSITYPATTERN , int dopedim, int dealdim>
 Multimesh_ElementDataContainer (const Quadrature< dim > &quad, UpdateFlags update_flags, SpaceTimeHandler< FE, dealii::DoFHandler, SPARSITYPATTERN, VECTOR, dopedim, dealdim > &sth, const typename std::vector< typename dealii::DoFHandler< dim >::cell_iterator > &element, const typename std::vector< typename dealii::Triangulation< dim >::cell_iterator > &tria_element, const std::map< std::string, const Vector< double > * > &param_values, const std::map< std::string, const VECTOR * > &domain_values)
 
 ~Multimesh_ElementDataContainer ()
 
void ReInit (unsigned int coarse_index, unsigned int fine_index, const FullMatrix< double > &prolongation_matrix)
 
unsigned int GetNDoFsPerElement () const
 
unsigned int GetNQPoints () const
 
unsigned int GetMaterialId () const
 
unsigned int GetNbrMaterialId (unsigned int face) const
 
bool GetIsAtBoundary () const
 
double GetElementDiameter () const
 
const DOpEWrapper::FEValues
< dim > & 
GetFEValuesState () const
 
const DOpEWrapper::FEValues
< dim > & 
GetFEValuesControl () const
 
void GetParamValues (std::string name, Vector< double > &value) const
 
void GetValuesState (std::string name, std::vector< double > &values) const
 
void GetValuesState (std::string name, std::vector< Vector< double > > &values) const
 
void GetValuesControl (std::string name, std::vector< double > &values) const
 
void GetValuesControl (std::string name, std::vector< Vector< double > > &values) const
 
template<int targetdim>
void GetGradsState (std::string name, std::vector< Tensor< 1, targetdim > > &values) const
 
template<int targetdim>
void GetGradsState (std::string name, std::vector< std::vector< Tensor< 1, targetdim > > > &values) const
 
template<int targetdim>
void GetGradsControl (std::string name, std::vector< Tensor< 1, targetdim > > &values) const
 
template<int targetdim>
void GetGradsControl (std::string name, std::vector< std::vector< Tensor< 1, targetdim > > > &values) const
 

Detailed Description

template<typename VECTOR, int dim>
class DOpE::Multimesh_ElementDataContainer< dealii::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 & Destructor Documentation

template<typename VECTOR , int dim>
template<template< int, int > class FE, typename SPARSITYPATTERN , int dopedim, int dealdim>
DOpE::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::Multimesh_ElementDataContainer ( const Quadrature< dim > &  quad,
UpdateFlags  update_flags,
SpaceTimeHandler< FE, dealii::DoFHandler, SPARSITYPATTERN, VECTOR, dopedim, dealdim > &  sth,
const typename std::vector< typename dealii::DoFHandler< dim >::cell_iterator > &  element,
const typename std::vector< typename dealii::Triangulation< dim >::cell_iterator > &  tria_element,
const std::map< std::string, const Vector< double > * > &  param_values,
const std::map< std::string, const VECTOR * > &  domain_values 
)
inline

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"
template<typename VECTOR , int dim>
DOpE::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::~Multimesh_ElementDataContainer ( )
inline

Member Function Documentation

template<typename VECTOR , int dim>
double DOpE::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::GetElementDiameter ( ) const
inline
template<typename VECTOR , int dim>
const DOpEWrapper::FEValues< dim > & DOpE::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::GetFEValuesControl ( ) const
inline
template<typename VECTOR , int dim>
const DOpEWrapper::FEValues< dim > & DOpE::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::GetFEValuesState ( ) const
inline
template<typename VECTOR , int dim>
template<int targetdim>
void DOpE::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::GetGradsControl ( std::string  name,
std::vector< Tensor< 1, targetdim > > &  values 
) const
inline
template<typename VECTOR , int dim>
template<int targetdim>
void DOpE::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::GetGradsControl ( std::string  name,
std::vector< std::vector< Tensor< 1, targetdim > > > &  values 
) const
inline
template<typename VECTOR , int dim>
template<int targetdim>
void DOpE::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::GetGradsState ( std::string  name,
std::vector< Tensor< 1, targetdim > > &  values 
) const
inline
template<typename VECTOR , int dim>
template<int targetdim>
void DOpE::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::GetGradsState ( std::string  name,
std::vector< std::vector< Tensor< 1, targetdim > > > &  values 
) const
inline
template<typename VECTOR , int dim>
bool DOpE::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::GetIsAtBoundary ( ) const
inline
template<typename VECTOR , int dim>
unsigned int DOpE::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::GetMaterialId ( ) const
inline
template<typename VECTOR , int dim>
unsigned int DOpE::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::GetNbrMaterialId ( unsigned int  face) const
inline
template<typename VECTOR , int dim>
unsigned int DOpE::Multimesh_ElementDataContainer< dealii::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::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::GetNQPoints ( ) const
inline
template<typename VECTOR , int dim>
void DOpE::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::GetParamValues ( std::string  name,
Vector< double > &  value 
) const
template<typename VECTOR , int dim>
void DOpE::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::GetValuesControl ( std::string  name,
std::vector< double > &  values 
) const
inline
template<typename VECTOR , int dim>
void DOpE::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::GetValuesControl ( std::string  name,
std::vector< Vector< double > > &  values 
) const
inline
template<typename VECTOR , int dim>
void DOpE::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::GetValuesState ( std::string  name,
std::vector< double > &  values 
) const
inline

Functions to extract values and gradients out of the FEValues

template<typename VECTOR , int dim>
void DOpE::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::GetValuesState ( std::string  name,
std::vector< Vector< double > > &  values 
) const
inline
template<typename VECTOR , int dim>
void DOpE::Multimesh_ElementDataContainer< dealii::DoFHandler, VECTOR, dim >::ReInit ( unsigned int  coarse_index,
unsigned int  fine_index,
const FullMatrix< double > &  prolongation_matrix 
)
inline

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