Symplectic 2nd-order explicit time-integrator for 6DoF solid-body motion. More...
Public Member Functions | |
TypeName ("symplectic") | |
symplectic (const dictionary &dict, sixDoFRigidBodyMotion &body) | |
virtual autoPtr< sixDoFSolver > | clone () const |
virtual | ~symplectic () |
virtual void | solve (bool firstIter, const vector &fGlobal, const vector &tauGlobal, scalar deltaT, scalar deltaT0) |
![]() | |
TypeName ("sixDoFSolver") | |
declareRunTimeSelectionTable (autoPtr, sixDoFSolver, dictionary,(const dictionary &dict, sixDoFRigidBodyMotion &body),(dict, body)) | |
sixDoFSolver (const dictionary &dict, sixDoFRigidBodyMotion &body) | |
virtual | ~sixDoFSolver () |
void | write (Ostream &) const |
Additional Inherited Members | |
![]() | |
static autoPtr< sixDoFSolver > | New (const dictionary &dict, sixDoFRigidBodyMotion &body) |
![]() | |
point & | centreOfRotation () |
tensor & | Q () |
vector & | v () |
vector & | a () |
vector & | pi () |
vector & | tau () |
const point & | centreOfRotation0 () const |
const tensor & | Q0 () const |
const vector & | v0 () const |
const vector & | a0 () const |
const vector & | pi0 () const |
const vector & | tau0 () const |
scalar | aDamp () const |
tensor | tConstraints () const |
tensor | rConstraints () const |
Tuple2< tensor, vector > | rotate (const tensor &Q0, const vector &pi, const scalar deltaT) const |
void | updateAcceleration (const vector &fGlobal, const vector &tauGlobal) |
![]() | |
sixDoFRigidBodyMotion & | body_ |
dictionary | dict_ |
Symplectic 2nd-order explicit time-integrator for 6DoF solid-body motion.
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 75 of file symplectic.H.
symplectic | ( | const dictionary & | dict, |
sixDoFRigidBodyMotion & | body | ||
) |
Definition at line 39 of file symplectic.C.
|
virtual |
Definition at line 50 of file symplectic.C.
TypeName | ( | "symplectic" | ) |
|
inlinevirtual |
Implements sixDoFSolver.
Definition at line 96 of file symplectic.H.
References sixDoFSolver::body_, and sixDoFSolver::dict_.
|
virtual |
Implements sixDoFSolver.
Definition at line 57 of file symplectic.C.
References Foam::constant::atomic::a0, Tuple2::first(), Foam::constant::mathematical::pi(), and Tuple2::second().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.