![]() |
MFEM v4.8.0
Finite element discretization library
|
#include <ode.hpp>
Public Member Functions | |
GeneralizedAlpha2Solver (real_t rho_inf=1.0, bool no_mult_=false) | |
void | PrintProperties (std::ostream &os=mfem::out) |
void | Init (SecondOrderTimeDependentOperator &f_) override |
Associate a TimeDependentOperator with the ODE solver. | |
void | Step (Vector &x, Vector &dxdt, real_t &t, real_t &dt) override |
Perform a time step from time t [in] to time t [out] based on the requested step size dt [in]. | |
![]() | |
SecondOrderODESolver () | |
void | EulerStep (Vector &x, Vector &dxdt, real_t &t, real_t &dt) |
void | MidPointStep (Vector &x, Vector &dxdt, real_t &t, real_t &dt) |
virtual void | Run (Vector &x, Vector &dxdt, real_t &t, real_t &dt, real_t tf) |
Perform time integration from time t [in] to time tf [in]. | |
ODEStateData & | GetState () |
Functions for getting the state vectors. | |
const ODEStateData & | GetState () const |
int | GetStateSize () |
Returns how many State vectors the ODE requires. | |
virtual | ~SecondOrderODESolver () |
Protected Attributes | |
Vector | xa |
Vector | va |
Vector | aa |
real_t | alpha_f |
real_t | alpha_m |
real_t | beta |
real_t | gamma |
bool | no_mult |
![]() | |
SecondOrderTimeDependentOperator * | f |
Pointer to the associated TimeDependentOperator. | |
MemoryType | mem_type |
ODEStateDataVector | state |
Additional Inherited Members | |
![]() | |
static MFEM_EXPORT SecondOrderODESolver * | Select (const int ode_solver_type) |
Function selecting the desired SecondOrderODESolver. | |
![]() | |
static MFEM_EXPORT std::string | Types |
Help info for SecondOrderODESolver options. | |
Generalized-alpha ODE solver A Time Integration Algorithm for Structural Dynamics With Improved Numerical Dissipation: The Generalized-α Method J.Chung and G.M. Hulbert, J. Appl. Mech 60(2), 371-375, 1993 https://doi.org/10.1115/1.2900803 rho_inf in [0,1]
|
inline |
|
overridevirtual |
Associate a TimeDependentOperator with the ODE solver.
This method has to be called:
Reimplemented from mfem::SecondOrderODESolver.
void mfem::GeneralizedAlpha2Solver::PrintProperties | ( | std::ostream & | os = mfem::out | ) |
|
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] | dxdt | Approximate rate. |
[in,out] | t | Time associated with the approximate solution x and rate @ dxdt |
[in,out] | dt | Time step size. |
The following rules describe the common behavior of the method:
Implements mfem::SecondOrderODESolver.