Crank-Nicolson 2nd-order time-integrator for 6DoF solid-body motion. More...
Public Member Functions | |
TypeName ("CrankNicolson") | |
Runtime type information. More... | |
CrankNicolson (const dictionary &dict, sixDoFRigidBodyMotion &body) | |
Construct from a dictionary and the body. More... | |
virtual | ~CrankNicolson () |
Destructor. More... | |
virtual void | solve (bool firstIter, const vector &fGlobal, const vector &tauGlobal, scalar deltaT, scalar deltaT0) |
Drag coefficient. More... | |
Public Member Functions inherited from sixDoFSolver | |
TypeName ("sixDoFSolver") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, sixDoFSolver, dictionary,(const dictionary &dict, sixDoFRigidBodyMotion &body),(dict, body)) | |
sixDoFSolver (sixDoFRigidBodyMotion &body) | |
virtual | ~sixDoFSolver () |
Destructor. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from sixDoFSolver | |
static autoPtr< sixDoFSolver > | New (const dictionary &dict, sixDoFRigidBodyMotion &body) |
Protected Member Functions inherited from sixDoFSolver | |
point & | centreOfRotation () |
Return the current centre of rotation. More... | |
tensor & | Q () |
Return the orientation. More... | |
vector & | v () |
Return non-const access to vector. More... | |
vector & | a () |
Return non-const access to acceleration. More... | |
vector & | pi () |
Return non-const access to angular momentum. More... | |
vector & | tau () |
Return non-const access to torque. More... | |
const point & | centreOfRotation0 () const |
Return the centre of rotation at previous time-step. More... | |
const tensor & | Q0 () const |
Return the orientation at previous time-step. More... | |
const vector & | v0 () const |
Return the velocity at previous time-step. More... | |
const vector & | a0 () const |
Return the acceleration at previous time-step. More... | |
const vector & | pi0 () const |
Return the angular momentum at previous time-step. More... | |
const vector & | tau0 () const |
Return the torque at previous time-step. More... | |
scalar | aDamp () const |
Acceleration damping coefficient (for steady-state simulations) More... | |
tensor | tConstraints () const |
Translational constraint tensor. More... | |
tensor | rConstraints () const |
Rotational constraint tensor. More... | |
Tuple2< tensor, vector > | rotate (const tensor &Q0, const vector &pi, const scalar deltaT) const |
Apply rotation tensors to Q0 for the given torque (pi) and deltaT. More... | |
void | updateAcceleration (const vector &fGlobal, const vector &tauGlobal) |
Update and relax accelerations from the force and torque. More... | |
Protected Attributes inherited from sixDoFSolver | |
sixDoFRigidBodyMotion & | body_ |
The rigid body. More... | |
Crank-Nicolson 2nd-order time-integrator for 6DoF solid-body motion.
The off-centering coefficients for acceleration (velocity integration) and velocity (position/orientation integration) may be specified but default values of 0.5 for each are used if they are not specified. With the default off-centering this scheme is equivalent to the Newmark scheme with default coefficients.
Example specification in dynamicMeshDict:
solver { type CrankNicolson; aoc 0.5; // Acceleration off-centering coefficient voc 0.5; // Velocity off-centering coefficient }
Definition at line 69 of file CrankNicolson.H.
CrankNicolson | ( | const dictionary & | dict, |
sixDoFRigidBodyMotion & | body | ||
) |
Construct from a dictionary and the body.
Definition at line 44 of file CrankNicolson.C.
|
virtual |
Destructor.
Definition at line 57 of file CrankNicolson.C.
References CrankNicolson::solve().
TypeName | ( | "CrankNicolson" | ) |
Runtime type information.
|
virtual |
Drag coefficient.
Implements sixDoFSolver.
Definition at line 64 of file CrankNicolson.C.
References Foam::constant::atomic::a0, and Foam::constant::mathematical::pi().
Referenced by CrankNicolson::~CrankNicolson().