DOpE
|
#include <mol_multimesh_spacetimehandler.h>
Public Member Functions | |
MethodOfLines_MultiMesh_SpaceTimeHandler (dealii::Triangulation< dim > &triangulation, const FE< dim, dim > &control_fe, const FE< dim, dim > &state_fe, DOpEtypes::ControlType type, const ActiveFEIndexSetterInterface< dim, dim > &index_setter=ActiveFEIndexSetterInterface< dim, dim >()) | |
MethodOfLines_MultiMesh_SpaceTimeHandler (dealii::Triangulation< dim > &triangulation, const FE< dim, dim > &control_fe, const FE< dim, dim > &state_fe, dealii::Triangulation< 1 > ×, DOpEtypes::ControlType type, const ActiveFEIndexSetterInterface< dim, dim > &index_setter=ActiveFEIndexSetterInterface< dim, dim >()) | |
MethodOfLines_MultiMesh_SpaceTimeHandler (dealii::Triangulation< dim > &triangulation, const FE< dim, dim > &control_fe, const FE< dim, dim > &state_fe, const Constraints &c, DOpEtypes::ControlType type, const ActiveFEIndexSetterInterface< dim, dim > &index_setter=ActiveFEIndexSetterInterface< dim, dim >()) | |
MethodOfLines_MultiMesh_SpaceTimeHandler (dealii::Triangulation< dim > &triangulation, const FE< dim, dim > &control_fe, const FE< dim, dim > &state_fe, dealii::Triangulation< 1 > ×, const Constraints &c, DOpEtypes::ControlType type, const ActiveFEIndexSetterInterface< dim, dim > &index_setter=ActiveFEIndexSetterInterface< dim, dim >()) | |
~MethodOfLines_MultiMesh_SpaceTimeHandler () | |
void | ReInit (unsigned int control_n_blocks, const std::vector< unsigned int > &control_block_component, unsigned int state_n_blocks, const std::vector< unsigned int > &state_block_component) |
const DOpEWrapper::DoFHandler < dim, DH > & | GetControlDoFHandler () const |
const DOpEWrapper::DoFHandler < dim, DH > & | GetStateDoFHandler () const |
const DOpEWrapper::Mapping < dim, DH > & | GetMapping () const |
unsigned int | GetControlDoFsPerBlock (unsigned int b, int=-1) const |
unsigned int | GetStateDoFsPerBlock (unsigned int b, int=-1) const |
unsigned int | GetConstraintDoFsPerBlock (std::string name, unsigned int b) const |
const std::vector< unsigned int > & | GetControlDoFsPerBlock (int=-1) const |
const std::vector< unsigned int > & | GetStateDoFsPerBlock (int=-1) const |
const std::vector< unsigned int > & | GetConstraintDoFsPerBlock (std::string name) const |
const dealii::ConstraintMatrix & | GetControlDoFConstraints () const |
const dealii::ConstraintMatrix & | GetStateDoFConstraints () const |
virtual void | InterpolateControl (VECTOR &result, const std::vector< VECTOR * > &local_vectors, double t, const TimeIterator &it) const |
virtual void | InterpolateState (VECTOR &result, const std::vector< VECTOR * > &local_vectors, double t, const TimeIterator &it) const |
unsigned int | GetControlNDoFs (int=-1) const |
unsigned int | GetStateNDoFs (int=-1) const |
unsigned int | GetConstraintNDoFs (std::string name) const |
unsigned int | GetNGlobalConstraints () const |
unsigned int | GetNLocalConstraints () const |
const std::vector< Point< dim > > & | GetMapDoFToSupportPoints () |
void | ComputeControlSparsityPattern (SPARSITYPATTERN &sparsity) const |
void | ComputeStateSparsityPattern (SPARSITYPATTERN &sparsity) const |
const FE< dim, dim > & | GetFESystem (std::string name) const |
void | RefineSpace (DOpEtypes::RefinementType ref_type=DOpEtypes::RefinementType::global) |
void | RefineStateSpace (DOpEtypes::RefinementType ref_type=DOpEtypes::RefinementType::global) |
void | RefineControlSpace (DOpEtypes::RefinementType ref_type=DOpEtypes::RefinementType::global) |
template<typename NUMBER > | |
void | RefineSpace (const RefinementContainer &ref_container) |
void | RefineStateSpace (const RefinementContainer &ref_container) |
void | RefineControlSpace (const RefinementContainer &ref_container) |
unsigned int | NewTimePointToOldTimePoint (unsigned int t) const |
void | SpatialMeshTransferControl (const VECTOR &old_values, VECTOR &new_values) const |
void | SpatialMeshTransferState (const VECTOR &old_values, VECTOR &new_values) const |
void | SetUserDefinedDoFConstraints (UserDefinedDoFConstraints< DH, dim > &constraints_maker) |
void | SetSparsityMaker (SparsityMaker< DH, dim > &sparsity_maker) |
void | ResetStateTriangulation (const dealii::Triangulation< dim > &tria) |
void | ResetControlTriangulation (const dealii::Triangulation< dim > &tria) |
template<> | |
void | ComputeControlSparsityPattern (dealii::BlockSparsityPattern &sparsity) const |
template<> | |
void | ComputeControlSparsityPattern (dealii::SparsityPattern &sparsity) const |
template<> | |
void | ComputeControlSparsityPattern (dealii::BlockSparsityPattern &sparsity) const |
template<> | |
void | ComputeControlSparsityPattern (dealii::SparsityPattern &sparsity) const |
Public Member Functions inherited from DOpE::SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dim, dim > | |
SpaceTimeHandler (DOpEtypes::ControlType type) | |
SpaceTimeHandler (dealii::Triangulation< 1 > ×, DOpEtypes::ControlType type) | |
SpaceTimeHandler (DOpEtypes::ControlType type, const ActiveFEIndexSetterInterface< dopedim, dealdim > &index_setter) | |
SpaceTimeHandler (dealii::Triangulation< 1 > ×, DOpEtypes::ControlType type, const ActiveFEIndexSetterInterface< dopedim, dealdim > &index_setter) | |
virtual | ~SpaceTimeHandler () |
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 |
void | SetDoFHandlerOrdering (unsigned int control_index, unsigned int state_index) |
unsigned int | GetStateIndex () |
const ActiveFEIndexSetterInterface < dopedim, dealdim > & | GetFEIndexSetter () const |
void | SetActiveFEIndicesState (DOpEWrapper::DoFHandler< dealdim, DH > &dof_handler) |
void | SetActiveFEIndicesControl (DOpEWrapper::DoFHandler< dopedim, DH > &dof_handler) |
virtual void | ComputeMGStateSparsityPattern (dealii::MGLevelObject< dealii::BlockSparsityPattern > &, unsigned int) const |
virtual void | ComputeMGStateSparsityPattern (dealii::MGLevelObject< dealii::SparsityPattern > &, unsigned int) const |
DOpEWrapper::DataOut< dealdim, DH > & | GetDataOut () |
Public Member Functions inherited from DOpE::SpaceTimeHandlerBase< VECTOR > | |
SpaceTimeHandlerBase (DOpEtypes::ControlType control_type=DOpEtypes::stationary) | |
SpaceTimeHandlerBase (dealii::Triangulation< 1 > ×, DOpEtypes::ControlType type=DOpEtypes::stationary) | |
SpaceTimeHandlerBase (dealii::Triangulation< 1 > ×, 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 TimeIterator & | GetInterval () const |
double | GetTime (unsigned int time_point) const |
const TimeDoFHandler & | GetTimeDoFHandler () 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 | InterpolateConstraint (VECTOR &, const std::vector< VECTOR * > &, double, const TimeIterator &) const |
double | GetStepSize () const |
double | GetNextStepSize () const |
double | GetPreviousStepSize () const |
void | RefineTime (DOpEtypes::RefinementType ref_type=DOpEtypes::RefinementType::global) |
void | RefineTime (const RefinementContainer &ref_container) |
Additional Inherited Members | |
Protected Member Functions inherited from DOpE::SpaceTimeHandlerBase< VECTOR > | |
void | IncrementStateTicket () |
void | IncrementControlTicket () |
Protected Attributes inherited from DOpE::SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dim, dim > | |
DOpEWrapper::DataOut< dealdim, DH > | data_out_ |
unsigned int | control_index_ |
unsigned int | state_index_ |
const ActiveFEIndexSetterInterface < dopedim, dealdim > * | fe_index_setter_ |
std::vector< const DOpEWrapper::DoFHandler < dealdim, DH > * > | domain_dofhandler_vector_ |
Implements a Space Time Handler with a Method of Lines discretization. This means there is only one fixed mesh for the spatial domain. However, this space time handler allows to have different meshes for control and state variable based upon the same coarse triangulation.
Note that this makes sense only if dealdim=dopedim. This is why this class has only one dim template argument
For the detailed documentation, see MethodOfLines_SpaceTimeHandler
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
Computes the current sparsity pattern for the control variable
Implements DOpE::SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dim, dim >.
void DOpE::MethodOfLines_MultiMesh_SpaceTimeHandler< dealii::FESystem, dealii::DoFHandler, dealii::BlockSparsityPattern, dealii::BlockVector< double >, dope_dimension >::ComputeControlSparsityPattern | ( | dealii::BlockSparsityPattern & | sparsity | ) | const |
Implementation of virtual function in SpaceTimeHandler
void DOpE::MethodOfLines_MultiMesh_SpaceTimeHandler< dealii::FESystem, dealii::DoFHandler, dealii::SparsityPattern, dealii::Vector< double >, dope_dimension >::ComputeControlSparsityPattern | ( | dealii::SparsityPattern & | sparsity | ) | const |
void DOpE::MethodOfLines_MultiMesh_SpaceTimeHandler< dealii::hp::FECollection, dealii::hp::DoFHandler, dealii::BlockSparsityPattern, dealii::BlockVector< double >, dope_dimension >::ComputeControlSparsityPattern | ( | dealii::BlockSparsityPattern & | sparsity | ) | const |
Implementation of virtual function in SpaceTimeHandler
void DOpE::MethodOfLines_MultiMesh_SpaceTimeHandler< dealii::hp::FECollection, dealii::hp::DoFHandler, dealii::SparsityPattern, dealii::Vector< double >, dope_dimension >::ComputeControlSparsityPattern | ( | dealii::SparsityPattern & | sparsity | ) | const |
|
inlinevirtual |
Computes the current sparsity pattern for the state variable
Implements DOpE::SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dim, dim >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandler
Implements DOpE::SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dim, dim >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandlerBase
Implements DOpE::SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dim, dim >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandlerBase
Reimplemented from DOpE::SpaceTimeHandlerBase< VECTOR >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandler
Implements DOpE::SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dim, dim >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandler
Implements DOpE::SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dim, dim >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandler
Implements DOpE::SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dim, dim >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandlerBase
Implements DOpE::SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dim, dim >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandlerBase
Reimplemented from DOpE::SpaceTimeHandlerBase< VECTOR >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandler
Implements DOpE::SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dim, dim >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandler
Implements DOpE::SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dim, dim >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandler
Implements DOpE::SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dim, dim >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandlerBase
Reimplemented from DOpE::SpaceTimeHandlerBase< VECTOR >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandlerBase
Reimplemented from DOpE::SpaceTimeHandlerBase< VECTOR >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandler
Implements DOpE::SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dim, dim >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandler
Implements DOpE::SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dim, dim >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandler
Implements DOpE::SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dim, dim >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandlerBase
Implements DOpE::SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dim, dim >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandlerBase
Implements DOpE::SpaceTimeHandlerBase< VECTOR >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandlerBase
Reimplemented from DOpE::SpaceTimeHandlerBase< VECTOR >.
|
inlinevirtual |
If one requires values at a time not corresponding to a degree of freedom in time, one needs to interpolate this value from the others on the interval. This Function is for vectors associated with the state DoFs.
result | A VECTOR where the interpolation is stored into. |
local_vectors | The vectors corresponding to the time-dofs on the actual interval. Needed for the interpolation. |
t | The time at which we want to have the interpolation |
interval | The interval we are currently working on. |
Implements DOpE::SpaceTimeHandlerBase< VECTOR >.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandlerBase
Implements DOpE::SpaceTimeHandlerBase< VECTOR >.
|
inline |
This Function is used to refine the spatial mesh for the control. After calling a refinement function a reinitialization is required!
ref_type | A DOpEtypes::RefinementType telling how to refine the spatial mesh. Only DOpEtypes::RefinementType::global is allowed in this method, else one has to specify additionally a RefinementContainer, see the alternative RefineSpace method. |
|
inline |
This Function is used to refine the spatial mesh for control. After calling a refinement function a reinitialization is required!
ref_container | Steers the local mesh refinement. Currently availabe are RefinementContainer (for global refinement), RefineFixedFraction, RefineFixedNumber and RefineOptimized. |
|
inline |
This Function is used to refine the spatial mesh for both the state and the control. After calling a refinement function a reinitialization is required!
ref_type | A DOpEtypes::RefinementType telling how to refine the spatial mesh. Only DOpEtypes::RefinementType::global is allowed in this method, else one has to specify additionally a RefinementContainer, see the alternative RefineSpace method. |
|
inline |
This Function is used to refine the spatial mesh for both the state and the control. After calling a refinement function a reinitialization is required!
ref_container | Steers the local mesh refinement. Currently availabe are RefinementContainer (for global refinement), RefineFixedFraction, RefineFixedNumber and RefineOptimized. |
|
inline |
This Function is used to refine the spatial mesh for both the state. After calling a refinement function a reinitialization is required!
ref_type | A DOpEtypes::RefinementType telling how to refine the spatial mesh. Only DOpEtypes::RefinementType::global is allowed in this method, else one has to specify additionally a RefinementContainer, see the alternative RefineSpace method. |
|
inline |
This Function is used to refine the spatial mesh for the state. After calling a refinement function a reinitialization is required!
ref_container | Steers the local mesh refinement. Currently availabe are RefinementContainer (for global refinement), RefineFixedFraction, RefineFixedNumber and RefineOptimized. |
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandler
Implements DOpE::SpaceTimeHandler< FE, DH, SPARSITYPATTERN, VECTOR, dim, dim >.
|
inline |
Through this function one can reinitialize the triangulation for the state variable to be a copy of the given argument.
|
inline |
Through this function one can reinitialize the triangulation for the state variable to be a copy of the given argument.
|
inline |
Through this function one commits a sparsity_maker to the class. With the help of the sparsity_maker one has the capability to create non-standard sparsity patterns. This function must be called prior to ReInit.
|
inline |
Through this function one commits a constraints_maker to the class. With the help of the constraints_maker one has the capability to impose additional constraints on the state-dofs (for example a pressure filter for the stokes problem). This function must be called prior to ReInit.
|
inlinevirtual |
Implementation of virtual function in SpaceTimeHandlerBase
Reimplemented from DOpE::SpaceTimeHandlerBase< VECTOR >.
|
inlinevirtual |
Transfer of the State Vectors
Reimplemented from DOpE::SpaceTimeHandlerBase< VECTOR >.