Public Member Functions | List of all members
symplectic Class Reference

Symplectic 2nd-order explicit time-integrator for rigid-body motion. More...

Inheritance diagram for symplectic:
Inheritance graph
[legend]
Collaboration diagram for symplectic:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("symplectic")
 
 symplectic (rigidBodyMotion &body, const dictionary &dict)
 
virtual ~symplectic ()
 
virtual void solve (const scalarField &tau, const Field< spatialVector > &fx)
 
- Public Member Functions inherited from rigidBodySolver
 TypeName ("rigidBodySolver")
 
 declareRunTimeSelectionTable (autoPtr, rigidBodySolver, dictionary,(rigidBodyMotion &body, const dictionary &dict),(body, dict))
 
 rigidBodySolver (rigidBodyMotion &body)
 
virtual ~rigidBodySolver ()
 

Additional Inherited Members

- Static Public Member Functions inherited from rigidBodySolver
static autoPtr< rigidBodySolverNew (rigidBodyMotion &body, const dictionary &dict)
 
- Protected Member Functions inherited from rigidBodySolver
rigidBodyModelStatestate ()
 
scalarFieldq ()
 
scalarFieldqDot ()
 
scalarFieldqDdot ()
 
scalar deltaT () const
 
const rigidBodyModelStatestate0 () const
 
const scalarFieldq0 () const
 
const scalarFieldqDot0 () const
 
const scalarFieldqDdot0 () const
 
scalar deltaT0 () const
 
void correctQuaternionJoints ()
 
- Protected Attributes inherited from rigidBodySolver
rigidBodyMotionmodel_
 

Detailed Description

Symplectic 2nd-order explicit time-integrator for rigid-body motion.

Reference:

    Dullweber, A., Leimkuhler, B., & McLachlan, R. (1997).
    Symplectic splitting methods for rigid body molecular dynamics.
    The Journal of chemical physics, 107(15), 5840-5851.

Can only be used for explicit integration of the motion of the body, i.e. may only be called once per time-step, no outer-correctors may be applied. For implicit integration with outer-correctors choose either CrankNicolson or Newmark schemes.

Example specification in dynamicMeshDict:

solver
{
    type    symplectic;
}
See also
Foam::RBD::rigidBodySolvers::CrankNicolson Foam::RBD::rigidBodySolvers::Newmark
Source files

Definition at line 74 of file symplectic.H.

Constructor & Destructor Documentation

◆ symplectic()

symplectic ( rigidBodyMotion body,
const dictionary dict 
)

Definition at line 42 of file symplectic.C.

◆ ~symplectic()

~symplectic ( )
virtual

Definition at line 53 of file symplectic.C.

Member Function Documentation

◆ TypeName()

TypeName ( "symplectic"  )

◆ solve()

void solve ( const scalarField tau,
const Field< spatialVector > &  fx 
)
virtual

Implements rigidBodySolver.

Definition at line 60 of file symplectic.C.


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