MFEM v4.10.0
Finite element discretization library
Loading...
Searching...
No Matches
mfem::ODESolverWithStates Class Referenceabstract

Abstract class for an ODESolver that has state history implemented as ODEStateData. More...

#include <ode.hpp>

Inheritance diagram for mfem::ODESolverWithStates:
[legend]
Collaboration diagram for mfem::ODESolverWithStates:
[legend]

Public Member Functions

virtual ODEStateDataGetState ()=0
 Returns the StateData.
 
virtual const ODEStateDataGetState () const =0
 Returns the StateData.
 
virtual int GetStateSize ()
 Returns how many State vectors the ODE requires.
 
- Public Member Functions inherited from mfem::ODESolver
 ODESolver ()
 
virtual void Init (TimeDependentOperator &f_)
 Associate a TimeDependentOperator with the ODE solver.
 
virtual void Step (Vector &x, real_t &t, real_t &dt)=0
 Perform a time step from time t [in] to time t [out] based on the requested step size dt [in].
 
virtual void Run (Vector &x, real_t &t, real_t &dt, real_t tf)
 Perform time integration from time t [in] to time tf [in].
 
virtual bool SupportsImplicitVariableType (ImplicitVariableType var) const
 Returns true if the ODESolver supports the given ImplicitVariableType, var, and returns false otherwise. Default implementation returns true if var is ImplicitVariableType::SLOPE and false otherwise.
 
void SetImplicitVariableType (const ImplicitVariableType variable_type)
 Sets the ImplicitVariableType for the TimeDependentOperator, if supported.
 
virtual void ComputeSlopeFromState (const real_t dt, const Vector &u, Vector &k)
 Compute the finite-difference slope, \(\frac{du}{dt} \approx \frac{u(t+dt)-u(t)}{dt}\), and store it in k.
 
virtual ~ODESolver ()
 

Additional Inherited Members

- Static Public Member Functions inherited from mfem::ODESolver
static MFEM_EXPORT std::unique_ptr< ODESolverSelect (const int ode_solver_type)
 
static MFEM_EXPORT std::unique_ptr< ODESolverSelectExplicit (const int ode_solver_type)
 
static MFEM_EXPORT std::unique_ptr< ODESolverSelectImplicit (const int ode_solver_type)
 
static MFEM_EXPORT std::unique_ptr< ODESolverSelectIMEX (const int ode_solver_type)
 
- Static Public Attributes inherited from mfem::ODESolver
static MFEM_EXPORT std::string ExplicitTypes
 
static MFEM_EXPORT std::string ImplicitTypes
 
static MFEM_EXPORT std::string IMEXTypes
 
static MFEM_EXPORT std::string Types
 
- Protected Types inherited from mfem::ODESolver
using ImplicitVariableType = TimeDependentOperator::ImplicitVariableType
 
- Protected Attributes inherited from mfem::ODESolver
TimeDependentOperatorf
 Pointer to the associated TimeDependentOperator.
 
MemoryType mem_type
 

Detailed Description

Abstract class for an ODESolver that has state history implemented as ODEStateData.

Definition at line 265 of file ode.hpp.

Member Function Documentation

◆ GetState() [1/2]

virtual const ODEStateData & mfem::ODESolverWithStates::GetState ( ) const
pure virtual

◆ GetState() [2/2]

virtual ODEStateData & mfem::ODESolverWithStates::GetState ( )
pure virtual

◆ GetStateSize()

virtual int mfem::ODESolverWithStates::GetStateSize ( )
inlinevirtual

Returns how many State vectors the ODE requires.

Reimplemented from mfem::ODESolver.

Definition at line 275 of file ode.hpp.


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