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


Public Member Functions | |
| TypeName ("symplectic") | |
| Runtime type information. More... | |
| symplectic (rigidBodyMotion &body, const dictionary &dict) | |
| Construct for the given body from dictionary. More... | |
| virtual | ~symplectic () |
| Destructor. More... | |
| virtual void | solve (const scalarField &tau, const Field< spatialVector > &fx) |
| Integrate the rigid-body motion for one time-step. More... | |
Public Member Functions inherited from rigidBodySolver | |
| TypeName ("rigidBodySolver") | |
| Runtime type information. More... | |
| declareRunTimeSelectionTable (autoPtr, rigidBodySolver, dictionary,(rigidBodyMotion &body, const dictionary &dict),(body, dict)) | |
| rigidBodySolver (rigidBodyMotion &body) | |
| virtual | ~rigidBodySolver () |
| Destructor. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from rigidBodySolver | |
| static autoPtr< rigidBodySolver > | New (rigidBodyMotion &body, const dictionary &dict) |
Protected Member Functions inherited from rigidBodySolver | |
| rigidBodyModelState & | state () |
| Return the motion state. More... | |
| scalarField & | q () |
| Return the current joint position and orientation. More... | |
| scalarField & | qDot () |
| Return the current joint quaternion. More... | |
| scalarField & | qDdot () |
| Return the current joint acceleration. More... | |
| scalar | deltaT () const |
| Return the current time-step. More... | |
| const rigidBodyModelState & | state0 () const |
| Return the previous motion state. More... | |
| const scalarField & | q0 () const |
| Return the current joint position and orientation. More... | |
| const scalarField & | qDot0 () const |
| Return the current joint quaternion. More... | |
| const scalarField & | qDdot0 () const |
| Return the current joint acceleration. More... | |
| scalar | deltaT0 () const |
| Return the previous time-step. More... | |
| void | correctQuaternionJoints () |
| Correct the quaternion joints based on the current change in q. More... | |
Protected Attributes inherited from rigidBodySolver | |
| rigidBodyMotion & | model_ |
| The rigid-body model. More... | |
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;
}
Definition at line 76 of file symplectic.H.
| symplectic | ( | rigidBodyMotion & | body, |
| const dictionary & | dict | ||
| ) |
Construct for the given body from dictionary.
Definition at line 46 of file symplectic.C.
|
virtual |
Destructor.
Definition at line 58 of file symplectic.C.
| TypeName | ( | "symplectic" | ) |
Runtime type information.
|
virtual |
Integrate the rigid-body motion for one time-step.
Implements rigidBodySolver.
Definition at line 64 of file symplectic.C.
References tau.