AMDiS 2.10
The Adaptive Multi-Dimensional Simulation Toolbox
ProblemStatBase Class Referenceabstract

Interface for time independent problems. Concrete problems must override all pure virtual methods. The method adaptMethodStat() should initiate the adaption loop which in turn uses the other pure virtual functions. The default stationary adaption loop is implemented in the class AdaptStationary. More...

#include <ProblemStatBase.hpp>

Inherited by ProblemStat< Traits >.

Public Member Functions

virtual Flag markElements (AdaptInfo &adaptInfo)=0
 Marks mesh elements for refinement and coarsening. More...
 
virtual void buildAfterAdapt (AdaptInfo &adaptInfo, Flag flag, bool assembleMatrix, bool assembleVector)=0
 Assembling of system matrices and vectors after coarsening. By the last two parameters, assembling can be restricted to either matrices or vectors only. More...
 
virtual Flag adaptGrid (AdaptInfo &adaptInfo)=0
 Refinement/coarsening of the grid. More...
 
virtual Flag globalCoarsen (int n)=0
 
virtual Flag globalRefine (int n)=0
 
virtual void solve (AdaptInfo &adaptInfo, bool createMatrixData=true, bool storeMatrixData=false)=0
 Solves the assembled system. The result is an approximative solution. The last two boolean arguments can be used to controll successive solutions of systems with the same matrix. More...
 
virtual void estimate (AdaptInfo &adaptInfo)=0
 A posteriori error estimation of the calculated solution. Should store a local error estimation at each elements leaf data and return the total error sum. More...
 
virtual std::string const & name () const =0
 Returns the name of the problem. More...
 

Detailed Description

Interface for time independent problems. Concrete problems must override all pure virtual methods. The method adaptMethodStat() should initiate the adaption loop which in turn uses the other pure virtual functions. The default stationary adaption loop is implemented in the class AdaptStationary.

Member Function Documentation

◆ adaptGrid()

virtual Flag adaptGrid ( AdaptInfo adaptInfo)
pure virtual

Refinement/coarsening of the grid.

Implemented in ProblemStat< Traits >.

Referenced by StandardProblemIteration::buildAndAdapt().

◆ buildAfterAdapt()

virtual void buildAfterAdapt ( AdaptInfo adaptInfo,
Flag  flag,
bool  assembleMatrix,
bool  assembleVector 
)
pure virtual

Assembling of system matrices and vectors after coarsening. By the last two parameters, assembling can be restricted to either matrices or vectors only.

Implemented in ProblemStat< Traits >.

Referenced by StandardProblemIteration::buildAndAdapt().

◆ estimate()

virtual void estimate ( AdaptInfo adaptInfo)
pure virtual

A posteriori error estimation of the calculated solution. Should store a local error estimation at each elements leaf data and return the total error sum.

Implemented in ProblemStat< Traits >.

Referenced by StandardProblemIteration::oneIteration().

◆ globalCoarsen()

virtual Flag globalCoarsen ( int  n)
pure virtual

Uniform global grid coarsening by up to n level. Returns MESH_ADAPTED if grid was changed

Implemented in ProblemStat< Traits >.

◆ globalRefine()

virtual Flag globalRefine ( int  n)
pure virtual

Uniform global refinement by n level Returns MESH_ADAPTED if grid was changed

Implemented in ProblemStat< Traits >.

◆ markElements()

virtual Flag markElements ( AdaptInfo adaptInfo)
pure virtual

Marks mesh elements for refinement and coarsening.

Implemented in ProblemStat< Traits >.

Referenced by StandardProblemIteration::buildAndAdapt().

◆ name()

virtual std::string const & name ( ) const
pure virtual

Returns the name of the problem.

Implemented in ProblemStat< Traits >.

Referenced by StandardProblemIteration::name(), and StandardProblemIteration::problem().

◆ solve()

virtual void solve ( AdaptInfo adaptInfo,
bool  createMatrixData = true,
bool  storeMatrixData = false 
)
pure virtual

Solves the assembled system. The result is an approximative solution. The last two boolean arguments can be used to controll successive solutions of systems with the same matrix.

Parameters
adaptInfoReference to an AdaptInfo object.
createMatrixDataIf false, the solver assumes that all of its internal data structures for the system matrix are already created. This is the case, if we solve different systems but with the same matrix. After the first call to this function (with this parameter set to true), all other calls may set it to false.
storeMatrixDataIf true, all internal data structures for the system matrix are not deleted such that they can be used for next solutions with the same system matrix.

Implemented in ProblemStat< Traits >.

Referenced by StandardProblemIteration::oneIteration().


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