MFEM  v4.1.0 Finite element discretization library
mfem::GeneralizedAlpha2Solver Class Reference

#include <ode.hpp>

Inheritance diagram for mfem::GeneralizedAlpha2Solver:
[legend]
Collaboration diagram for mfem::GeneralizedAlpha2Solver:
[legend]

## Public Member Functions

GeneralizedAlpha2Solver (double rho_inf=1.0)

virtual void PrintProperties (std::ostream &out=mfem::out)

virtual void Init (SecondOrderTimeDependentOperator &_f)
Associate a TimeDependentOperator with the ODE solver. More...

virtual void Step (Vector &x, Vector &dxdt, double &t, double &dt)
Perform a time step from time t [in] to time t [out] based on the requested step size dt [in]. More...

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

bool first

Protected Attributes inherited from mfem::SecondOrderODESolver
SecondOrderTimeDependentOperatorf
Pointer to the associated TimeDependentOperator. More...

MemoryType mem_type

## Detailed Description

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]

Definition at line 659 of file ode.hpp.

## Constructor & Destructor Documentation

 mfem::GeneralizedAlpha2Solver::GeneralizedAlpha2Solver ( double rho_inf = 1.0 )
inline

Definition at line 667 of file ode.hpp.

## Member Function Documentation

 void mfem::GeneralizedAlpha2Solver::Init ( SecondOrderTimeDependentOperator & f )
virtual

Associate a TimeDependentOperator with the ODE solver.

This method has to be called:

Reimplemented from mfem::SecondOrderODESolver.

Definition at line 887 of file ode.cpp.

 void mfem::GeneralizedAlpha2Solver::PrintProperties ( std::ostream & out = mfem::out )
virtual

Definition at line 898 of file ode.cpp.

 void mfem::GeneralizedAlpha2Solver::Step ( Vector & x, Vector & dxdt, double & t, double & dt )
virtual

Perform a time step from time t [in] to time t [out] based on the requested step size dt [in].

Parameters
 [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:

• The input x [in] is the approximate solution for the input time t [in].
• The input dxdt [in] is the approximate rate for the input time t [in].
• The input dt [in] is the desired time step size, defining the desired target time: t [target] = t [in] + dt [in].
• The output x [out] is the approximate solution for the output time t [out].
• The output dxdt [out] is the approximate rate for the output time t [out].
• The output dt [out] is the last time step taken by the method which may be smaller or larger than the input dt [in] value, e.g. because of time step control.
• The method may perform more than one time step internally; in this case dt [out] is the last internal time step size.
• The output value of t [out] may be smaller or larger than t [target], however, it is not smaller than t [in] + dt [out], if at least one internal time step was performed.
• The value x [out] may be obtained by interpolation using internally stored data.
• In some cases, the contents of x [in] may not be used, e.g. when x [out] from a previous Step() call was obtained by interpolation.
• In consecutive calls to this method, the output t [out] of one Step() call has to be the same as the input t [in] to the next Step() call.
• If the previous rule has to be broken, e.g. to restart a time stepping sequence, then the ODE solver must be re-initialized by calling Init() between the two Step() calls.

Implements mfem::SecondOrderODESolver.

Definition at line 927 of file ode.cpp.

## Member Data Documentation

 Vector mfem::GeneralizedAlpha2Solver::aa
protected

Definition at line 662 of file ode.hpp.

 double mfem::GeneralizedAlpha2Solver::alpha_f
protected

Definition at line 663 of file ode.hpp.

 double mfem::GeneralizedAlpha2Solver::alpha_m
protected

Definition at line 663 of file ode.hpp.

 double mfem::GeneralizedAlpha2Solver::beta
protected

Definition at line 663 of file ode.hpp.

 Vector mfem::GeneralizedAlpha2Solver::d2xdt2
protected

Definition at line 662 of file ode.hpp.

 bool mfem::GeneralizedAlpha2Solver::first
protected

Definition at line 664 of file ode.hpp.

 double mfem::GeneralizedAlpha2Solver::gamma
protected

Definition at line 663 of file ode.hpp.

 Vector mfem::GeneralizedAlpha2Solver::va
protected

Definition at line 662 of file ode.hpp.

 Vector mfem::GeneralizedAlpha2Solver::xa
protected

Definition at line 662 of file ode.hpp.

The documentation for this class was generated from the following files: