DOpE
Public Member Functions | Protected Attributes
DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim > Class Template Referenceabstract

#include <statespacetimehandler.h>

Inheritance diagram for DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >:
DOpE::SpaceTimeHandlerBase< VECTOR > DOpE::MethodOfLines_StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >

Public Member Functions

 StateSpaceTimeHandler ()
 
 StateSpaceTimeHandler (dealii::Triangulation< 1 > &times)
 
 StateSpaceTimeHandler (const ActiveFEIndexSetterInterface< dealdim > &index_setter)
 
 StateSpaceTimeHandler (dealii::Triangulation< 1 > &times, const ActiveFEIndexSetterInterface< dealdim > &index_setter)
 
virtual ~StateSpaceTimeHandler ()
 
virtual void ReInit (unsigned int state_n_blocks, const std::vector< unsigned int > &state_block_component)=0
 
virtual const
DOpEWrapper::DoFHandler
< dealdim, DH > & 
GetStateDoFHandler () const =0
 
virtual const
DOpEWrapper::Mapping< dealdim,
DH > & 
GetMapping () const =0
 
const std::vector< const
DOpEWrapper::DoFHandler
< dealdim, DH > * > & 
GetDoFHandler () const
 
std::vector< typename
DOpEWrapper::DoFHandler
< dealdim, DH >
::active_cell_iterator > 
GetDoFHandlerBeginActive () const
 
std::vector< typename
DOpEWrapper::DoFHandler
< dealdim, DH >
::active_cell_iterator > 
GetDoFHandlerEnd () const
 
std::vector< typename
DOpEWrapper::DoFHandler
< dealdim, DH >::cell_iterator > 
GetDoFHandlerBeginActiveAllLevels () const
 
std::vector< typename
DOpEWrapper::DoFHandler
< dealdim, DH >::cell_iterator > 
GetDoFHandlerEndAllLevels () const
 
unsigned int GetStateIndex ()
 
const
ActiveFEIndexSetterInterface
< dealdim > & 
GetFEIndexSetter () const
 
void SetActiveFEIndicesState (DOpEWrapper::DoFHandler< dealdim, DH > &dof_handler)
 
virtual const
dealii::Triangulation< dealdim > & 
GetTriangulation () const
 
virtual unsigned int GetStateDoFsPerBlock (unsigned int b, int time_point=-1) const =0
 
virtual const
dealii::ConstraintMatrix & 
GetStateDoFConstraints () const =0
 
virtual const std::vector
< dealii::Point< dealdim > > & 
GetMapDoFToSupportPoints ()=0
 
virtual void ComputeStateSparsityPattern (SPARSITYPATTERN &sparsity) const =0
 
virtual const FE< dealdim,
dealdim > & 
GetFESystem (std::string name) const =0
 
DOpEWrapper::DataOut< dealdim,
DH > & 
GetDataOut ()
 
- Public Member Functions inherited from DOpE::SpaceTimeHandlerBase< VECTOR >
 SpaceTimeHandlerBase (DOpEtypes::ControlType control_type=DOpEtypes::stationary)
 
 SpaceTimeHandlerBase (dealii::Triangulation< 1 > &times, DOpEtypes::ControlType type=DOpEtypes::stationary)
 
 SpaceTimeHandlerBase (dealii::Triangulation< 1 > &times, const dealii::FiniteElement< 1 > &fe, DOpEtypes::ControlType type=DOpEtypes::stationary)
 
virtual ~SpaceTimeHandlerBase ()
 
void ReInitTime ()
 
unsigned int GetMaxTimePoint () const
 
unsigned int GetNbrOfIntervals () const
 
void SetInterval (const TimeIterator &it)
 
const TimeIteratorGetInterval () const
 
double GetTime (unsigned int time_point) const
 
const TimeDoFHandlerGetTimeDoFHandler () const
 
const std::vector< double > & GetTimes () const
 
void GetTimes (const TimeIterator &interval, std::vector< double > &local_times) const
 
bool IsValidStateTicket (unsigned int &ticket) const
 
bool IsValidControlTicket (unsigned int &ticket) const
 
DOpEtypes::ControlType GetControlType () const
 
virtual void InterpolateControl (VECTOR &, const std::vector< VECTOR * > &, double, const TimeIterator &) const
 
virtual void InterpolateState (VECTOR &, const std::vector< VECTOR * > &, double, const TimeIterator &) const =0
 
virtual void InterpolateConstraint (VECTOR &, const std::vector< VECTOR * > &, double, const TimeIterator &) const
 
virtual unsigned int GetControlNDoFs (int=-1) const
 
virtual unsigned int GetStateNDoFs (int time_point=-1) const =0
 
virtual unsigned int GetConstraintNDoFs (std::string) const
 
virtual const std::vector
< unsigned int > & 
GetControlDoFsPerBlock (int=-1) const
 
virtual const std::vector
< unsigned int > & 
GetStateDoFsPerBlock (int time_point=-1) const =0
 
virtual const std::vector
< unsigned int > & 
GetConstraintDoFsPerBlock (std::string) const
 
virtual unsigned int GetNGlobalConstraints () const
 
virtual unsigned int GetNLocalConstraints () const
 
double GetStepSize () const
 
double GetNextStepSize () const
 
double GetPreviousStepSize () const
 
virtual unsigned int NewTimePointToOldTimePoint (unsigned int t) const =0
 
virtual void SpatialMeshTransferControl (const VECTOR &, VECTOR &) const
 
virtual void SpatialMeshTransferState (const VECTOR &, VECTOR &) const
 
void RefineTime (DOpEtypes::RefinementType=DOpEtypes::RefinementType::global)
 
void RefineTime (const RefinementContainer &ref_container)
 

Protected Attributes

DOpEWrapper::DataOut< dealdim, DH > data_out_
 
const
ActiveFEIndexSetterInterface
< dealdim > * 
fe_index_setter_
 
std::vector< const
DOpEWrapper::DoFHandler
< dealdim, DH > * > 
domain_dofhandler_vector_
 

Additional Inherited Members

- Protected Member Functions inherited from DOpE::SpaceTimeHandlerBase< VECTOR >
void IncrementStateTicket ()
 
void IncrementControlTicket ()
 

Detailed Description

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
class DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >

Interface to the dimension depended functionality of a StateSpaceTimeDoFHandler.

Template Parameters
<FE>The finite element type we use (i.e. 'normal' finite elements vs. hp::FECollections)
<DH>The dofhandler type we use (i.e. 'normal' dofhandler vs. hp::dofhandler)
<SPARSITYPATTERN>The sparsity pattern for control & state. This is needed as a class template, because member function templates are not allowed for virtual member functions.
<VECTOR>The vector type for control & state (i.e. dealii::Vector<double> or dealii::BlockVector<double>)
The dimension for the state variable. This is the dimension the mesh is in.

Constructor & Destructor Documentation

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::StateSpaceTimeHandler ( )
inline
template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::StateSpaceTimeHandler ( dealii::Triangulation< 1 > &  times)
inline
template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::StateSpaceTimeHandler ( const ActiveFEIndexSetterInterface< dealdim > &  index_setter)
inline
template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::StateSpaceTimeHandler ( dealii::Triangulation< 1 > &  times,
const ActiveFEIndexSetterInterface< dealdim > &  index_setter 
)
inline
template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
virtual DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::~StateSpaceTimeHandler ( )
inlinevirtual

Member Function Documentation

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
virtual void DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::ComputeStateSparsityPattern ( SPARSITYPATTERN &  sparsity) const
pure virtual

Computes the current sparsity pattern for the state variable

Implemented in DOpE::MethodOfLines_StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >.

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
DOpEWrapper::DataOut<dealdim, DH>& DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::GetDataOut ( )
inline
template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
const std::vector<const DOpEWrapper::DoFHandler<dealdim, DH>*>& DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::GetDoFHandler ( ) const
inline

Returns a reference to a vector of DoFHandlers, the order of the DoFHandlers must be set prior by SetDoFHandlerOrdering

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
std::vector< typename DOpEWrapper::DoFHandler<dealdim, DH>::active_cell_iterator> DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::GetDoFHandlerBeginActive ( ) const
inline

Returns a vector of the begin_active-celliterators of the DoFHandlers in use.

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
std::vector< typename DOpEWrapper::DoFHandler<dealdim, DH>::cell_iterator> DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::GetDoFHandlerBeginActiveAllLevels ( ) const
inline

Experimental status: Returns a vector of the begin-celliterators of the DoFHandlers in use. Iterator for multigrid's matrix assembling running over all cells on all levels.

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
std::vector< typename DOpEWrapper::DoFHandler<dealdim, DH>::active_cell_iterator> DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::GetDoFHandlerEnd ( ) const
inline

Returns a vector of the end-celliterators of the DoFHandlers in use.

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
std::vector< typename DOpEWrapper::DoFHandler<dealdim, DH>::cell_iterator> DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::GetDoFHandlerEndAllLevels ( ) const
inline

Experimental status: Returns a vector of the end-celliterators of the DoFHandlers in use. Iterator for multigrid's matrix assembling running over all cells on all levels.

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
const ActiveFEIndexSetterInterface<dealdim>& DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::GetFEIndexSetter ( ) const
inline

Returns a const reference to the ActiveFEIndexSetterInterface object stored in this class. This function is only useful in the hp case.

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
virtual const FE<dealdim, dealdim>& DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::GetFESystem ( std::string  name) const
pure virtual

Experimental status: Needed for MG prec. Experimental status: Needed for MG prec. Returns a const Reference to the FESystem indicated by the string 'name', i.e. state oder control.

Implemented in DOpE::MethodOfLines_StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >.

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
virtual const std::vector<dealii::Point<dealdim> >& DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::GetMapDoFToSupportPoints ( )
pure virtual

Returns a Reference to a vector of points where the FEs have their support points. on the current spatial mesh (if they do have that compare dealii::DoFTools>>map_dofs_to_support_points!).

Implemented in DOpE::MethodOfLines_StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >.

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
virtual const DOpEWrapper::Mapping<dealdim, DH>& DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::GetMapping ( ) const
pure virtual

Returns a reference to the Mapping in use.

Implemented in DOpE::MethodOfLines_StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >.

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
virtual const dealii::ConstraintMatrix& DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::GetStateDoFConstraints ( ) const
pure virtual

Returns the state HN-Constraints at the current time

Implemented in DOpE::MethodOfLines_StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >.

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
virtual const DOpEWrapper::DoFHandler<dealdim, DH>& DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::GetStateDoFHandler ( ) const
pure virtual

Returns a reference to the DoF Handler for the State at the current time point.

Implemented in DOpE::MethodOfLines_StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >.

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
virtual unsigned int DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::GetStateDoFsPerBlock ( unsigned int  b,
int  time_point = -1 
) const
pure virtual

Returns the state dofs in Block b at at the time given through time_point. Default value for the time is now.

Implemented in DOpE::MethodOfLines_StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >.

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
unsigned int DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::GetStateIndex ( )
inline

Returns the order of the StateDofHandler set by SetDoFHandlerOrdering.

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
virtual const dealii::Triangulation<dealdim>& DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::GetTriangulation ( ) const
inlinevirtual

Get the triangulation.

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
virtual void DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::ReInit ( unsigned int  state_n_blocks,
const std::vector< unsigned int > &  state_block_component 
)
pure virtual

Initializes the dof handlers corresponding to the finite elements.

Parameters
control_n_blocksNumber of Blocks for the control variable
control_block_componentsComponent to Block mapping for the control
state_n_blocksNumber of Blocks for the state variable
state_block_componentsComponent to Block mapping for the state

Implemented in DOpE::MethodOfLines_StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >.

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
void DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::SetActiveFEIndicesState ( DOpEWrapper::DoFHandler< dealdim, DH > &  dof_handler)
inline

Field Documentation

template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
DOpEWrapper::DataOut<dealdim, DH> DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::data_out_
protected
template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
std::vector<const DOpEWrapper::DoFHandler<dealdim, DH>*> DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::domain_dofhandler_vector_
mutableprotected
template<template< int, int > class FE, template< int, int > class DH, typename SPARSITYPATTERN, typename VECTOR, int dealdim>
const ActiveFEIndexSetterInterface<dealdim>* DOpE::StateSpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dealdim >::fe_index_setter_
protected

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