IFEM 90A354
Public Member Functions | Private Attributes | List of all members
TimeIntegration::SIMExplicitRKE< Solver > Class Template Reference

Explicit embedded Runge-Kutta based time stepping for SIM classes. More...

#include <SIMExplicitRKE.h>

Inheritance diagram for TimeIntegration::SIMExplicitRKE< Solver >:
Inheritance graph
[legend]
Collaboration diagram for TimeIntegration::SIMExplicitRKE< Solver >:
Collaboration graph
[legend]

Public Member Functions

 SIMExplicitRKE (Solver &solv, Method type, double tol)
 Constructor.
 
bool solveStep (TimeStep &tp) override
 Computes the solution for the current time step.
 
- Public Member Functions inherited from TimeIntegration::SIMExplicitRK< Solver >
 SIMExplicitRK (Solver &solv, Method type, bool standalone=true)
 Constructor.
 
const ProcessAdmgetProcessAdm () const
 Returns the parallel process administrator.
 
bool solveRK (Vectors &stages, const TimeStep &tp)
 Applies the Runge-Kutta scheme.
 
bool advanceStep (TimeStep &tp)
 Advances the time step one step forward.
 
bool saveModel (char *fileName, int &geoBlk, int &nBlock)
 Opens a new VTF-file and writes the model geometry to it.
 
bool saveStep (const TimeStep &tp, int &nBlock)
 Saves the converged results of a given time step to VTF file.
 
void registerFields (DataExporter &exporter)
 Registers fields for output to a data exporter.
 
bool serialize (std::map< std::string, std::string > &data)
 Serialize internal state for restarting purposes.
 
bool deSerialize (const std::map< std::string, std::string > &data)
 Set internal state from a serialized state.
 
void setLinear (bool enable)
 Mark operator as linear to avoid repeated assembly and factorization.
 

Private Attributes

RealArray bs
 Runge-Kutta coefficients for embedded method.
 
double errTol
 Truncation error tolerance.
 

Additional Inherited Members

- Protected Attributes inherited from TimeIntegration::SIMExplicitRK< Solver >
Solver & solver
 Reference to simulator.
 
RKTableaux RK
 Tableaux of Runge-Kutta coefficients.
 
bool alone
 If true, this is a standalone solver.
 
bool linear = false
 If true operators are constant.
 
bool assemble = true
 If true, assemble operators.
 

Detailed Description

template<class Solver>
class TimeIntegration::SIMExplicitRKE< Solver >

Explicit embedded Runge-Kutta based time stepping for SIM classes.

Template can be instanced over any SIM implementing ISolver, and which derive from SIMbase.

Constructor & Destructor Documentation

◆ SIMExplicitRKE()

template<class Solver >
TimeIntegration::SIMExplicitRKE< Solver >::SIMExplicitRKE ( Solver &  solv,
Method  type,
double  tol 
)
inline

Member Function Documentation

◆ solveStep()

template<class Solver >
bool TimeIntegration::SIMExplicitRKE< Solver >::solveStep ( TimeStep tp)
inlineoverridevirtual

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