MFEM
v3.4
Finite element discretization library
|
Abstract class for solving systems of ODEs: dx/dt = f(x,t) More...
#include <ode.hpp>
Inherited by mfem::ARKODESolver, mfem::BackwardEulerSolver, mfem::CVODESolver, mfem::ExplicitRKSolver, mfem::ForwardEulerSolver, mfem::GeneralizedAlphaSolver, mfem::ImplicitMidpointSolver, mfem::PetscODESolver, mfem::RK2Solver, mfem::RK3SSPSolver, mfem::RK4Solver, mfem::SDIRK23Solver, mfem::SDIRK33Solver, and mfem::SDIRK34Solver.
Public Member Functions | |
ODESolver () | |
virtual void | Init (TimeDependentOperator &f) |
Associate a TimeDependentOperator with the ODE solver. More... | |
virtual void | Step (Vector &x, double &t, double &dt)=0 |
Perform a time step from time t [in] to time t [out] based on the requested step size dt [in]. More... | |
virtual void | Run (Vector &x, double &t, double &dt, double tf) |
Perform time integration from time t [in] to time tf [in]. More... | |
virtual | ~ODESolver () |
Protected Attributes | |
TimeDependentOperator * | f |
Pointer to the associated TimeDependentOperator. More... | |
|
inlinevirtual |
Associate a TimeDependentOperator with the ODE solver.
This method has to be called:
Reimplemented in mfem::PetscODESolver, mfem::GeneralizedAlphaSolver, mfem::ARKODESolver, mfem::SDIRK33Solver, mfem::SDIRK34Solver, mfem::SDIRK23Solver, mfem::ImplicitMidpointSolver, mfem::BackwardEulerSolver, mfem::CVODESolver, mfem::ExplicitRKSolver, mfem::RK4Solver, mfem::RK3SSPSolver, mfem::RK2Solver, and mfem::ForwardEulerSolver.
|
inlinevirtual |
Perform time integration from time t [in] to time tf [in].
[in,out] | x | Approximate solution. |
[in,out] | t | Time associated with the approximate solution x. |
[in,out] | dt | Time step size. |
[in] | tf | Requested final time. |
The default implementation makes consecutive calls to Step() until reaching tf. The following rules describe the common behavior of the method:
Reimplemented in mfem::PetscODESolver.
|
pure virtual |
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:
Implemented in mfem::PetscODESolver, mfem::GeneralizedAlphaSolver, mfem::ARKODESolver, mfem::SDIRK33Solver, mfem::SDIRK34Solver, mfem::SDIRK23Solver, mfem::ImplicitMidpointSolver, mfem::BackwardEulerSolver, mfem::CVODESolver, mfem::ExplicitRKSolver, mfem::RK4Solver, mfem::RK3SSPSolver, mfem::RK2Solver, and mfem::ForwardEulerSolver.
|
protected |
Pointer to the associated TimeDependentOperator.