MFEM
v4.6.0
Finite element discretization library
|
#include <ode.hpp>
Public Member Functions | |
GeneralizedAlpha2Solver (double rho_inf=1.0) | |
void | PrintProperties (std::ostream &out=mfem::out) |
void | Init (SecondOrderTimeDependentOperator &f_) override |
Associate a TimeDependentOperator with the ODE solver. More... | |
void | Step (Vector &x, Vector &dxdt, 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... | |
int | GetMaxStateSize () override |
Function for getting and setting the state vectors. More... | |
int | GetStateSize () override |
const Vector & | GetStateVector (int i) override |
void | GetStateVector (int i, Vector &state) override |
void | SetStateVector (int i, Vector &state) override |
Public Member Functions inherited from mfem::SecondOrderODESolver | |
SecondOrderODESolver () | |
virtual void | Run (Vector &x, Vector &dxdt, double &t, double &dt, double tf) |
Perform time integration from time t [in] to time tf [in]. More... | |
virtual | ~SecondOrderODESolver () |
Protected Attributes | |
Vector | xa |
Vector | va |
Vector | aa |
Vector | d2xdt2 |
double | alpha_f |
double | alpha_m |
double | beta |
double | gamma |
int | nstate |
Protected Attributes inherited from mfem::SecondOrderODESolver | |
SecondOrderTimeDependentOperator * | f |
Pointer to the associated TimeDependentOperator. More... | |
MemoryType | mem_type |
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 |
|
inlineoverridevirtual |
Function for getting and setting the state vectors.
Reimplemented from mfem::SecondOrderODESolver.
|
inlineoverridevirtual |
Reimplemented from mfem::SecondOrderODESolver.
|
overridevirtual |
Reimplemented from mfem::SecondOrderODESolver.
|
overridevirtual |
Reimplemented from mfem::SecondOrderODESolver.
|
overridevirtual |
Associate a TimeDependentOperator with the ODE solver.
This method has to be called:
Reimplemented from mfem::SecondOrderODESolver.
void mfem::GeneralizedAlpha2Solver::PrintProperties | ( | std::ostream & | out = mfem::out | ) |
|
overridevirtual |
Reimplemented from mfem::SecondOrderODESolver.
|
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.