MFEM
v4.4.0
Finite element discretization library
|
#include <ode.hpp>
Public Member Functions | |
RK2Solver (const double a_=2./3.) | |
void | Init (TimeDependentOperator &f_) override |
Associate a TimeDependentOperator with the ODE solver. More... | |
void | Step (Vector &x, double &t, double &dt) override |
Perform a time step from time t [in] to time t [out] based on the requested step size dt [in]. More... | |
Public Member Functions inherited from mfem::ODESolver | |
ODESolver () | |
virtual void | Run (Vector &x, double &t, double &dt, double tf) |
Perform time integration from time t [in] to time tf [in]. More... | |
virtual int | GetMaxStateSize () |
Function for getting and setting the state vectors. More... | |
virtual int | GetStateSize () |
virtual const Vector & | GetStateVector (int i) |
virtual void | GetStateVector (int i, Vector &state) |
virtual void | SetStateVector (int i, Vector &state) |
virtual | ~ODESolver () |
Additional Inherited Members | |
Protected Attributes inherited from mfem::ODESolver | |
TimeDependentOperator * | f |
Pointer to the associated TimeDependentOperator. More... | |
MemoryType | mem_type |
A family of explicit second-order RK2 methods. Some choices for the parameter 'a' are: a = 1/2 - the midpoint method a = 1 - Heun's method a = 2/3 - default, has minimal truncation error.
|
inline |
|
overridevirtual |
Associate a TimeDependentOperator with the ODE solver.
This method has to be called:
Reimplemented from mfem::ODESolver.
|
overridevirtual |
Perform a time step from time t [in] to time t [out] based on the requested step size dt [in].
[in,out] | x | Approximate solution. |
[in,out] | t | Time associated with the approximate solution x. |
[in,out] | dt | Time step size. |
The following rules describe the common behavior of the method:
Implements mfem::ODESolver.