|
| FirstOrderODE (int n, FirstOrderODE::State &&state, const EquationSolver &solver, const BoundaryConditionManager &bcs) |
| Constructor defining the size and specific system of ordinary differential equations to be solved. More...
|
|
void | Mult (const mfem::Vector &u, mfem::Vector &du_dt) const |
| Solves the equation du_dt = f(u, t) More...
|
|
void | ImplicitSolve (const double dt, const mfem::Vector &u, mfem::Vector &du_dt) |
| Solves the equation du_dt = f(u + dt * du_dt, t) More...
|
|
void | SetEnforcementMethod (const DirichletEnforcementMethod method) |
| Configures the Dirichlet enforcement method to use. More...
|
|
void | SetTimestepper (const serac::TimestepMethod timestepper) |
| Set the time integration method. More...
|
|
void | Step (mfem::Vector &x, double &time, double &dt) |
| Performs a time step. More...
|
|
TimestepMethod | GetTimestepper () |
| Query the timestep method for the ode solver. More...
|
|
FirstOrderODE is a class wrapping mfem::TimeDependentOperator so that the user can use std::function to define the implementations of mfem::TimeDependentOperator::Mult and mfem::TimeDependentOperator::ImplicitSolve.
The main benefit of this approach is that lambda capture lists allow for a flexible inline representation of the overloaded functions, without having to manually define a separate functor class.
Definition at line 238 of file odes.hpp.
constexpr double serac::mfem_ext::FirstOrderODE::epsilon = 0.000001 |
|
staticconstexpr |
a small number used to compute finite difference approximations to time derivatives of boundary conditions.
Note: this is intended to be temporary Ideally, epsilon should be "small" relative to the characteristic time of the ODE, but we can't ensure that at present (we don't have a critical timestep estimate)
Definition at line 249 of file odes.hpp.