MFEM  v4.5.0
Finite element discretization library
Public Member Functions | Protected Attributes | List of all members
mfem::SIASolver Class Referenceabstract

#include <ode.hpp>

Inheritance diagram for mfem::SIASolver:
Collaboration diagram for mfem::SIASolver:

Public Member Functions

 SIASolver ()
virtual void Init (Operator &P, TimeDependentOperator &F)
virtual void Step (Vector &q, Vector &p, double &t, double &dt)=0
virtual void Run (Vector &q, Vector &p, double &t, double &dt, double tf)
virtual ~SIASolver ()

Protected Attributes

Vector dp_
Vector dq_

Detailed Description

The SIASolver class is based on the Symplectic Integration Algorithm described in "A Symplectic Integration Algorithm for Separable Hamiltonian Functions" by J. Candy and W. Rozmus, Journal of Computational Physics, Vol. 92, pages 230-256 (1991). The Symplectic Integration Algorithm (SIA) is designed for systems of first order ODEs derived from a Hamiltonian. H(q,p,t) = T(p) + V(q,t) Which leads to the equations: dq/dt = dT/dp dp/dt = -dV/dq In the integrator the operators P and F are defined to be: P = dT/dp F = -dV/dq

Definition at line 550 of file ode.hpp.

Constructor & Destructor Documentation

◆ SIASolver()

mfem::SIASolver::SIASolver ( )

Definition at line 553 of file ode.hpp.

◆ ~SIASolver()

virtual mfem::SIASolver::~SIASolver ( )

Definition at line 564 of file ode.hpp.

Member Function Documentation

◆ Init()

void mfem::SIASolver::Init ( Operator P,
TimeDependentOperator F 

Definition at line 885 of file ode.cpp.

◆ Run()

virtual void mfem::SIASolver::Run ( Vector q,
Vector p,
double &  t,
double &  dt,
double  tf 

Definition at line 559 of file ode.hpp.

◆ Step()

virtual void mfem::SIASolver::Step ( Vector q,
Vector p,
double &  t,
double &  dt 
pure virtual

Member Data Documentation

◆ dp_

Vector mfem::SIASolver::dp_

Definition at line 570 of file ode.hpp.

◆ dq_

Vector mfem::SIASolver::dq_

Definition at line 571 of file ode.hpp.

◆ F_

TimeDependentOperator* mfem::SIASolver::F_

Definition at line 567 of file ode.hpp.

◆ P_

Operator* mfem::SIASolver::P_

Definition at line 568 of file ode.hpp.

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