ASPECT
Public Member Functions | Static Public Member Functions | List of all members
aspect::TimeStepping::Interface< dim > Class Template Referenceabstract
Inheritance diagram for aspect::TimeStepping::Interface< dim >:
Inheritance graph
[legend]

Public Member Functions

virtual ~Interface ()=default
 
virtual void initialize ()
 
virtual void update ()
 
virtual double execute ()=0
 
virtual std::pair< Reaction, double > determine_reaction (const TimeStepInfo &info)
 
virtual void parse_parameters (ParameterHandler &prm)
 

Static Public Member Functions

static void declare_parameters (ParameterHandler &prm)
 

Detailed Description

template<int dim>
class aspect::TimeStepping::Interface< dim >

A base class for parameterizations of the time stepping models.

Definition at line 92 of file interface.h.

Constructor & Destructor Documentation

§ ~Interface()

template<int dim>
virtual aspect::TimeStepping::Interface< dim >::~Interface ( )
virtualdefault

Destructor. Made virtual to enforce that derived classes also have virtual destructors.

Member Function Documentation

§ initialize()

template<int dim>
virtual void aspect::TimeStepping::Interface< dim >::initialize ( )
virtual

Initialization function. This function is called once at the beginning of the program after parse_parameters is run and after the SimulatorAccess (if applicable) is initialized.

§ update()

template<int dim>
virtual void aspect::TimeStepping::Interface< dim >::update ( )
virtual

A function that is called at the beginning of each time step. The default implementation of the function does nothing, but derived classes that need more elaborate setups for a given time step may overload the function.

§ execute()

template<int dim>
virtual double aspect::TimeStepping::Interface< dim >::execute ( )
pure virtual

Execute the logic of the plugin.

This is called after every time step to determine a) What to do (advance, repeat, etc.), see the Reaction enum. b) What timestep size to use.

Implemented in aspect::TimeStepping::ConductionTimeStep< dim >, aspect::TimeStepping::ConvectionTimeStep< dim >, aspect::TimeStepping::Function< dim >, and aspect::TimeStepping::RepeatOnCutback< dim >.

§ determine_reaction()

template<int dim>
virtual std::pair<Reaction, double> aspect::TimeStepping::Interface< dim >::determine_reaction ( const TimeStepInfo info)
virtual

Determine what we want with the simulation to happen next: advance, repeat, refinement, etc.. The second return value is the time step size to take in case the plugin requests a repeated time step.

The argument info contains information like the step size that would be taken in this time step (determined as the minimum of the return value of execute() from all plugins).

The default implementation of this function will always advance to the next time step.

Reimplemented in aspect::TimeStepping::RepeatOnCutback< dim >.

§ declare_parameters()

template<int dim>
static void aspect::TimeStepping::Interface< dim >::declare_parameters ( ParameterHandler &  prm)
static

Declare the parameters this class takes through input files. The default implementation of this function does not describe any parameters. Consequently, derived classes do not have to overload this function if they do not take any runtime parameters.

§ parse_parameters()

template<int dim>
virtual void aspect::TimeStepping::Interface< dim >::parse_parameters ( ParameterHandler &  prm)
virtual

Read the parameters this class declares from the parameter file. The default implementation of this function does not read any parameters. Consequently, derived classes do not have to overload this function if they do not take any runtime parameters.

Reimplemented in aspect::TimeStepping::RepeatOnCutback< dim >, and aspect::TimeStepping::Function< dim >.


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