Public Member Functions | |
TypeName ("sixDoFSolver") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, sixDoFSolver, dictionary,(const dictionary &dict, sixDoFRigidBodyMotion &body),(dict, body)) | |
sixDoFSolver (sixDoFRigidBodyMotion &body) | |
virtual | ~sixDoFSolver () |
Destructor. More... | |
virtual void | solve (bool firstIter, const vector &fGlobal, const vector &tauGlobal, scalar deltaT, scalar deltaT0)=0 |
Drag coefficient. More... | |
Static Public Member Functions | |
static autoPtr< sixDoFSolver > | New (const dictionary &dict, sixDoFRigidBodyMotion &body) |
Protected Member Functions | |
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 | |
sixDoFRigidBodyMotion & | body_ |
The rigid body. More... | |
Definition at line 49 of file sixDoFSolver.H.
sixDoFSolver | ( | sixDoFRigidBodyMotion & | body | ) |
Definition at line 39 of file sixDoFSolver.C.
|
virtual |
Destructor.
Definition at line 47 of file sixDoFSolver.C.
|
inlineprotected |
Return the current centre of rotation.
Definition at line 28 of file sixDoFSolverI.H.
References sixDoFSolver::body_, and sixDoFRigidBodyMotionState::centreOfRotation().
|
inlineprotected |
Return the orientation.
Definition at line 33 of file sixDoFSolverI.H.
References sixDoFSolver::body_, and sixDoFRigidBodyMotionState::Q().
|
inlineprotected |
Return non-const access to vector.
Definition at line 38 of file sixDoFSolverI.H.
References sixDoFSolver::body_, and sixDoFRigidBodyMotionState::v().
|
inlineprotected |
Return non-const access to acceleration.
Definition at line 43 of file sixDoFSolverI.H.
References sixDoFRigidBodyMotionState::a(), and sixDoFSolver::body_.
|
inlineprotected |
Return non-const access to angular momentum.
Definition at line 48 of file sixDoFSolverI.H.
References sixDoFSolver::body_, and sixDoFRigidBodyMotionState::pi().
|
inlineprotected |
Return non-const access to torque.
Definition at line 53 of file sixDoFSolverI.H.
References sixDoFSolver::body_, and sixDoFRigidBodyMotionState::tau().
|
inlineprotected |
Return the centre of rotation at previous time-step.
Definition at line 59 of file sixDoFSolverI.H.
References sixDoFSolver::body_, and sixDoFRigidBodyMotionState::centreOfRotation().
|
inlineprotected |
Return the orientation at previous time-step.
Definition at line 64 of file sixDoFSolverI.H.
References sixDoFSolver::body_, and sixDoFRigidBodyMotionState::Q().
|
inlineprotected |
Return the velocity at previous time-step.
Definition at line 70 of file sixDoFSolverI.H.
References sixDoFSolver::body_, and sixDoFRigidBodyMotionState::v().
|
inlineprotected |
Return the acceleration at previous time-step.
Definition at line 76 of file sixDoFSolverI.H.
References sixDoFRigidBodyMotionState::a(), and sixDoFSolver::body_.
|
inlineprotected |
Return the angular momentum at previous time-step.
Definition at line 82 of file sixDoFSolverI.H.
References sixDoFSolver::body_, and sixDoFRigidBodyMotionState::pi().
|
inlineprotected |
Return the torque at previous time-step.
Definition at line 88 of file sixDoFSolverI.H.
References sixDoFSolver::body_, and sixDoFRigidBodyMotionState::tau().
|
inlineprotected |
Acceleration damping coefficient (for steady-state simulations)
Definition at line 93 of file sixDoFSolverI.H.
References sixDoFSolver::body_.
|
inlineprotected |
Translational constraint tensor.
Definition at line 98 of file sixDoFSolverI.H.
References sixDoFSolver::body_.
|
inlineprotected |
Rotational constraint tensor.
Definition at line 103 of file sixDoFSolverI.H.
References sixDoFSolver::body_, and sixDoFSolver::rotate().
|
inlineprotected |
Apply rotation tensors to Q0 for the given torque (pi) and deltaT.
and return the rotated Q and pi as a tuple
Definition at line 111 of file sixDoFSolverI.H.
References sixDoFSolver::body_, and sixDoFSolver::updateAcceleration().
Referenced by sixDoFSolver::rConstraints().
Update and relax accelerations from the force and torque.
Definition at line 122 of file sixDoFSolverI.H.
References sixDoFSolver::body_.
Referenced by sixDoFSolver::rotate().
TypeName | ( | "sixDoFSolver" | ) |
Runtime type information.
declareRunTimeSelectionTable | ( | autoPtr | , |
sixDoFSolver | , | ||
dictionary | , | ||
(const dictionary &dict, sixDoFRigidBodyMotion &body) | , | ||
(dict, body) | |||
) |
|
static |
Definition at line 31 of file sixDoFSolverNew.C.
References dict, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::Info, and dictionary::lookup().
|
pure virtual |
Drag coefficient.
Implemented in CrankNicolson, Newmark, and symplectic.
|
protected |
The rigid body.
Definition at line 56 of file sixDoFSolver.H.
Referenced by sixDoFSolver::a(), sixDoFSolver::a0(), sixDoFSolver::aDamp(), sixDoFSolver::centreOfRotation(), sixDoFSolver::centreOfRotation0(), sixDoFSolver::pi(), sixDoFSolver::pi0(), sixDoFSolver::Q(), sixDoFSolver::Q0(), sixDoFSolver::rConstraints(), sixDoFSolver::rotate(), sixDoFSolver::tau(), sixDoFSolver::tau0(), sixDoFSolver::tConstraints(), sixDoFSolver::updateAcceleration(), sixDoFSolver::v(), and sixDoFSolver::v0().