#include <sixDoFSolver.H>


Public Member Functions | |
| TypeName ("sixDoFSolver") | |
| Runtime type information. | |
| declareRunTimeSelectionTable (autoPtr, sixDoFSolver, dictionary,(const dictionary &dict, sixDoFRigidBodyMotion &body),(dict, body)) | |
| sixDoFSolver (const dictionary &dict, sixDoFRigidBodyMotion &body) | |
| virtual autoPtr< sixDoFSolver > | clone () const =0 |
| Construct and return a clone. | |
| virtual | ~sixDoFSolver () |
| Destructor. | |
| virtual void | solve (bool firstIter, const vector &fGlobal, const vector &tauGlobal, scalar deltaT, scalar deltaT0)=0 |
| Drag coefficient. | |
| void | write (Ostream &) const |
| Write. | |
Static Public Member Functions | |
| static autoPtr< sixDoFSolver > | New (const dictionary &dict, sixDoFRigidBodyMotion &body) |
Protected Member Functions | |
| point & | centreOfRotation () |
| Return the current centre of rotation. | |
| tensor & | Q () |
| Return the orientation. | |
| vector & | v () |
| Return non-const access to vector. | |
| vector & | a () |
| Return non-const access to acceleration. | |
| vector & | pi () |
| Return non-const access to angular momentum. | |
| vector & | tau () |
| Return non-const access to torque. | |
| const point & | centreOfRotation0 () const |
| Return the centre of rotation at previous time-step. | |
| const tensor & | Q0 () const |
| Return the orientation at previous time-step. | |
| const vector & | v0 () const |
| Return the velocity at previous time-step. | |
| const vector & | a0 () const |
| Return the acceleration at previous time-step. | |
| const vector & | pi0 () const |
| Return the angular momentum at previous time-step. | |
| const vector & | tau0 () const |
| Return the torque at previous time-step. | |
| scalar | aDamp () const |
| Acceleration damping coefficient (for steady-state simulations). | |
| tensor | tConstraints () const |
| Translational constraint tensor. | |
| tensor | rConstraints () const |
| Rotational constraint tensor. | |
| 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. | |
| void | updateAcceleration (const vector &fGlobal, const vector &tauGlobal) |
| Update and relax accelerations from the force and torque. | |
| void | updateConstraints () |
| Update the constraints to the object. | |
Protected Attributes | |
| sixDoFRigidBodyMotion & | body_ |
| The rigid body. | |
| dictionary | dict_ |
| Model dictionary. | |
Definition at line 51 of file sixDoFSolver.H.
| sixDoFSolver | ( | const dictionary & | dict, |
| sixDoFRigidBodyMotion & | body ) |
Definition at line 35 of file sixDoFSolver.C.
References body_, dict, and dict_.
Referenced by CrankNicolson::CrankNicolson(), declareRunTimeSelectionTable(), Newmark::Newmark(), and symplectic::symplectic().

|
virtual |
Destructor.
Definition at line 53 of file sixDoFSolver.C.
|
inlineprotected |
Return the current centre of rotation.
Definition at line 24 of file sixDoFSolverI.H.
References body_.
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

|
inlineprotected |
Return the orientation.
Definition at line 29 of file sixDoFSolverI.H.
References body_.
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

|
inlineprotected |
Return non-const access to vector.
Definition at line 34 of file sixDoFSolverI.H.
References body_.
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

|
inlineprotected |
Return non-const access to acceleration.
Definition at line 39 of file sixDoFSolverI.H.
References body_.
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

|
inlineprotected |
Return non-const access to angular momentum.
Definition at line 44 of file sixDoFSolverI.H.
References body_.
Referenced by rotate().

|
inlineprotected |
Return non-const access to torque.
Definition at line 49 of file sixDoFSolverI.H.
References body_.
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

|
inlineprotected |
Return the centre of rotation at previous time-step.
Definition at line 55 of file sixDoFSolverI.H.
References body_.
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

|
inlineprotected |
Return the orientation at previous time-step.
Definition at line 60 of file sixDoFSolverI.H.
References body_.
Referenced by rotate(), CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

|
inlineprotected |
Return the velocity at previous time-step.
Definition at line 66 of file sixDoFSolverI.H.
References body_.
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

|
inlineprotected |
Return the acceleration at previous time-step.
Definition at line 72 of file sixDoFSolverI.H.
References body_.
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

|
inlineprotected |
Return the angular momentum at previous time-step.
Definition at line 78 of file sixDoFSolverI.H.
References body_.
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

|
inlineprotected |
Return the torque at previous time-step.
Definition at line 84 of file sixDoFSolverI.H.
References body_.
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

|
inlineprotected |
Acceleration damping coefficient (for steady-state simulations).
Definition at line 89 of file sixDoFSolverI.H.
References body_.
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

|
inlineprotected |
Translational constraint tensor.
Definition at line 94 of file sixDoFSolverI.H.
References body_.
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

|
inlineprotected |
Rotational constraint tensor.
Definition at line 99 of file sixDoFSolverI.H.
References body_.
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

|
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 109 of file sixDoFSolverI.H.
References body_, pi(), and Q0().
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().


Update and relax accelerations from the force and torque.
Definition at line 122 of file sixDoFSolverI.H.
References body_.
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

|
inlineprotected |
Update the constraints to the object.
Definition at line 131 of file sixDoFSolverI.H.
References body_.
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

| TypeName | ( | "sixDoFSolver" | ) |
Runtime type information.
| declareRunTimeSelectionTable | ( | autoPtr | , |
| sixDoFSolver | , | ||
| dictionary | , | ||
| (const dictionary &dict, sixDoFRigidBodyMotion &body) | , | ||
| (dict, body) | ) |
|
pure virtual |
Construct and return a clone.
Implemented in CrankNicolson, Newmark, and symplectic.
References dict.
|
static |
Definition at line 26 of file sixDoFSolverNew.C.
References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, and Foam::Info.

|
pure virtual |
Drag coefficient.
Implemented in CrankNicolson, Newmark, and symplectic.
| void write | ( | Ostream & | os | ) | const |
|
protected |
The rigid body.
Definition at line 60 of file sixDoFSolver.H.
Referenced by a(), a0(), aDamp(), centreOfRotation(), centreOfRotation0(), CrankNicolson::clone(), Newmark::clone(), symplectic::clone(), pi(), pi0(), Q(), Q0(), rConstraints(), rotate(), sixDoFSolver(), tau(), tau0(), tConstraints(), updateAcceleration(), updateConstraints(), v(), and v0().
|
protected |
Model dictionary.
Definition at line 65 of file sixDoFSolver.H.
Referenced by CrankNicolson::clone(), Newmark::clone(), symplectic::clone(), sixDoFSolver(), and write().