#include <rigidBodySolver.H>


Public Member Functions | |
| TypeName ("rigidBodySolver") | |
| Runtime type information. | |
| declareRunTimeSelectionTable (autoPtr, rigidBodySolver, dictionary,(rigidBodyMotion &body, const dictionary &dict),(body, dict)) | |
| rigidBodySolver (rigidBodyMotion &body) | |
| virtual | ~rigidBodySolver () |
| Destructor. | |
| virtual void | solve (const scalarField &tau, const Field< spatialVector > &fx)=0 |
| Integrate the rigid-body motion for one time-step. | |
Static Public Member Functions | |
| static autoPtr< rigidBodySolver > | New (rigidBodyMotion &body, const dictionary &dict) |
Protected Member Functions | |
| rigidBodyModelState & | state () |
| Return the motion state. | |
| scalarField & | q () |
| Return the current joint position and orientation. | |
| scalarField & | qDot () |
| Return the current joint quaternion. | |
| scalarField & | qDdot () |
| Return the current joint acceleration. | |
| scalar | deltaT () const |
| Return the current time-step. | |
| const rigidBodyModelState & | state0 () const |
| Return the previous motion state. | |
| const scalarField & | q0 () const |
| Return the current joint position and orientation. | |
| const scalarField & | qDot0 () const |
| Return the current joint quaternion. | |
| const scalarField & | qDdot0 () const |
| Return the current joint acceleration. | |
| scalar | deltaT0 () const |
| Return the previous time-step. | |
| void | correctQuaternionJoints () |
| Correct the quaternion joints based on the current change in q. | |
Protected Attributes | |
| rigidBodyMotion & | model_ |
| The rigid-body model. | |
Definition at line 49 of file rigidBodySolver.H.
| rigidBodySolver | ( | rigidBodyMotion & | body | ) |
Definition at line 38 of file rigidBodySolver.C.
References model_.
Referenced by CrankNicolson::CrankNicolson(), declareRunTimeSelectionTable(), Newmark::Newmark(), and symplectic::symplectic().

|
virtual |
Destructor.
Definition at line 46 of file rigidBodySolver.C.
|
inlineprotected |
Return the motion state.
Definition at line 23 of file rigidBodySolverI.H.
References model_.
Referenced by q(), qDdot(), qDot(), CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

|
inlineprotected |
Return the current joint position and orientation.
Definition at line 29 of file rigidBodySolverI.H.
References state().
Referenced by correctQuaternionJoints(), CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().


|
inlineprotected |
Return the current joint quaternion.
Return the current joint velocity
Definition at line 35 of file rigidBodySolverI.H.
References state().
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().


|
inlineprotected |
Return the current joint acceleration.
Definition at line 41 of file rigidBodySolverI.H.
References state().
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().


|
inlineprotected |
Return the current time-step.
Definition at line 47 of file rigidBodySolverI.H.
References model_.
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().

|
inlineprotected |
|
inlineprotected |
Return the current joint position and orientation.
Definition at line 59 of file rigidBodySolverI.H.
References state0().
Referenced by correctQuaternionJoints(), CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().


|
inlineprotected |
Return the current joint quaternion.
Return the current joint velocity
Definition at line 65 of file rigidBodySolverI.H.
References state0().
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().


|
inlineprotected |
Return the current joint acceleration.
Definition at line 71 of file rigidBodySolverI.H.
References state0().
Referenced by CrankNicolson::solve(), and Newmark::solve().


|
inlineprotected |
Return the previous time-step.
Definition at line 77 of file rigidBodySolverI.H.
References model_.
Referenced by symplectic::solve().

|
protected |
Correct the quaternion joints based on the current change in q.
Definition at line 52 of file rigidBodySolver.C.
References Foam::cos(), forAll, Foam::mag(), model_, quaternion::normalise(), q(), and q0().
Referenced by CrankNicolson::solve(), Newmark::solve(), and symplectic::solve().


| TypeName | ( | "rigidBodySolver" | ) |
Runtime type information.
| declareRunTimeSelectionTable | ( | autoPtr | , |
| rigidBodySolver | , | ||
| dictionary | , | ||
| (rigidBodyMotion &body, const dictionary &dict) | , | ||
| (body, dict) | ) |
|
static |
Definition at line 26 of file rigidBodySolverNew.C.
References dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, and Foam::Info.

|
pure virtual |
Integrate the rigid-body motion for one time-step.
Implemented in CrankNicolson, Newmark, and symplectic.
|
protected |
The rigid-body model.
Definition at line 58 of file rigidBodySolver.H.
Referenced by correctQuaternionJoints(), deltaT(), deltaT0(), rigidBodySolver(), CrankNicolson::solve(), Newmark::solve(), symplectic::solve(), state(), and state0().