|
| | 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 smith::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 240 of file odes.hpp.
| constexpr double smith::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 251 of file odes.hpp.