AMDiS  0.3
The Adaptive Multi-Dimensional Simulation Toolbox
ProblemInstat< Traits > Class Template Reference

Standard implementation of ProblemTimeInterface for a time dependent problems. More...

#include <ProblemInstat.hpp>

Inherits ProblemInstatBase.

Public Member Functions

 ProblemInstat (std::string const &name, ProblemType &prob)
 Constructs a ProblemInstat with prob as its stationary problem, stored as reference.
 
 ProblemInstat (std::string const &name, ProblemType &prob, ProblemStatBase &initialProb)
 Constructor. Stores a reference to prob and initialProb.
 
void initialize (Flag initFlag=INIT_NOTHING)
 Initialisation of the problem.
 
void initTimestep (AdaptInfo &adaptInfo) override
 Implementation of ProblemTimeInterface::initTimestep().
 
void closeTimestep (AdaptInfo &adaptInfo) override
 Implementation of ProblemTimeInterface::closeTimestep().
 
ProblemTypeproblemStat ()
 Returns problemStat.
 
ProblemType const & problemStat () const
 
std::shared_ptr< SolutionVector const > oldSolutionVector () const
 Returns const-ref of oldSolution.
 
template<class Range = void, class... Indices>
auto oldSolution (Indices... ii) const
 Return a const view to a oldSolution component. More...
 
void transferInitialSolution (AdaptInfo &adaptInfo) override
 Implementation of ProblemTimeInterface::transferInitialSolution().
 
- Public Member Functions inherited from ProblemInstatBase
 ProblemInstatBase (std::string const &name)
 Constructor.
 
 ProblemInstatBase (std::string const &name, ProblemStatBase &initialProblem)
 Constructor. Stores a pointer to the provided initialProblem.
 
 ~ProblemInstatBase () override=default
 Destructor.
 
void setTime (AdaptInfo &adaptInfo) override
 Implementation of ProblemTimeInterface::setTime().
 
void solveInitialProblem (AdaptInfo &adaptInfo) override
 Implementation of ProblemTimeInterface::solveInitialProblem().
 
virtual std::string const & name () const
 Return the name of the instationary problem name_.
 
double const & time () const
 
double const & tau () const &
 
double const & invTau () const
 
- Public Member Functions inherited from ProblemTimeInterface
virtual void initTimeInterface ()
 Called at the beginning of the adaption loop before any other call.
 

Protected Member Functions

void createUhOld ()
 Used in initialize() to create the oldSolution_.
 

Protected Attributes

ProblemTypeproblemStat_
 Space problem solved in each timestep. (non-owning pointer)
 
std::shared_ptr< SolutionVector > oldSolution_
 Solution of the last timestep.
 
- Protected Attributes inherited from ProblemInstatBase
std::string name_
 Name of the instationary problem.
 
ProblemStatBaseinitialProblem_ = nullptr
 An initialization problem solved in solveInitialProblem(). non-owning pointer.
 
double time_ = 0.0
 The current time, set from adaptInfo.time()
 
double tau_ = 1.0
 Timestep, set from adaptInfo.timestep()
 
double invTau_ = 1.0
 1 / timestep, calculated after timestep is set
 

Detailed Description

template<class Traits>
class AMDiS::ProblemInstat< Traits >

Standard implementation of ProblemTimeInterface for a time dependent problems.

Member Function Documentation

◆ oldSolution()

auto oldSolution ( Indices...  ii) const
inline

Return a const view to a oldSolution component.

Template Parameters
RangeThe range type return by evaluating the view in coordinates. If not specified, it is automatically selected using RangeType_t template.

References ProblemInstat< Traits >::createUhOld(), ProblemInstat< Traits >::oldSolution_, AMDiS::test_exit_dbg(), and ProblemInstat< Traits >::transferInitialSolution().


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