MFEM  v3.4
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Attributes | List of all members
mfem::SIASolver Class Referenceabstract

#include <ode.hpp>

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

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

TimeDependentOperatorF_
 
OperatorP_
 
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 323 of file ode.hpp.

Constructor & Destructor Documentation

mfem::SIASolver::SIASolver ( )
inline

Definition at line 326 of file ode.hpp.

virtual mfem::SIASolver::~SIASolver ( )
inlinevirtual

Definition at line 337 of file ode.hpp.

Member Function Documentation

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

Definition at line 565 of file ode.cpp.

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

Definition at line 332 of file ode.hpp.

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

Member Data Documentation

Vector mfem::SIASolver::dp_
mutableprotected

Definition at line 343 of file ode.hpp.

Vector mfem::SIASolver::dq_
mutableprotected

Definition at line 344 of file ode.hpp.

TimeDependentOperator* mfem::SIASolver::F_
protected

Definition at line 340 of file ode.hpp.

Operator* mfem::SIASolver::P_
protected

Definition at line 341 of file ode.hpp.


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