Public Member Functions | |
TypeName ("rigidBodySolver") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, rigidBodySolver, dictionary,(rigidBodyMotion &body, const dictionary &dict),(body, dict)) | |
rigidBodySolver (rigidBodyMotion &body) | |
virtual | ~rigidBodySolver () |
Destructor. More... | |
virtual void | solve (const scalarField &tau, const Field< spatialVector > &fx)=0 |
Integrate the rigid-body motion for one time-step. More... | |
Static Public Member Functions | |
static autoPtr< rigidBodySolver > | New (rigidBodyMotion &body, const dictionary &dict) |
Protected Member Functions | |
rigidBodyModelState & | state () |
Return the motion state. More... | |
scalarField & | q () |
Return the current joint position and orientation. More... | |
scalarField & | qDot () |
Return the current joint quaternion. More... | |
scalarField & | qDdot () |
Return the current joint acceleration. More... | |
scalar | deltaT () const |
Return the current time-step. More... | |
const rigidBodyModelState & | state0 () const |
Return the previous motion state. More... | |
const scalarField & | q0 () const |
Return the current joint position and orientation. More... | |
const scalarField & | qDot0 () const |
Return the current joint quaternion. More... | |
const scalarField & | qDdot0 () const |
Return the current joint acceleration. More... | |
scalar | deltaT0 () const |
Return the previous time-step. More... | |
void | correctQuaternionJoints () |
Correct the quaternion joints based on the current change in q. More... | |
Protected Attributes | |
rigidBodyMotion & | model_ |
The rigid-body model. More... | |
Definition at line 51 of file rigidBodySolver.H.
rigidBodySolver | ( | rigidBodyMotion & | body | ) |
Definition at line 43 of file rigidBodySolver.C.
|
virtual |
Destructor.
Definition at line 51 of file rigidBodySolver.C.
|
inlineprotected |
Return the motion state.
Definition at line 28 of file rigidBodySolverI.H.
References rigidBodySolver::model_.
Referenced by rigidBodySolver::q(), rigidBodySolver::qDdot(), and rigidBodySolver::qDot().
|
inlineprotected |
Return the current joint position and orientation.
Definition at line 34 of file rigidBodySolverI.H.
References rigidBodyModelState::q(), and rigidBodySolver::state().
Referenced by rigidBodySolver::correctQuaternionJoints().
|
inlineprotected |
Return the current joint quaternion.
Return the current joint velocity
Definition at line 40 of file rigidBodySolverI.H.
References rigidBodyModelState::qDot(), and rigidBodySolver::state().
|
inlineprotected |
Return the current joint acceleration.
Definition at line 46 of file rigidBodySolverI.H.
References rigidBodyModelState::qDdot(), and rigidBodySolver::state().
|
inlineprotected |
Return the current time-step.
Definition at line 52 of file rigidBodySolverI.H.
References rigidBodyModelState::deltaT(), and rigidBodySolver::model_.
|
inlineprotected |
Return the previous motion state.
Definition at line 59 of file rigidBodySolverI.H.
References rigidBodySolver::model_.
Referenced by rigidBodySolver::q0(), rigidBodySolver::qDdot0(), and rigidBodySolver::qDot0().
|
inlineprotected |
Return the current joint position and orientation.
Definition at line 64 of file rigidBodySolverI.H.
References rigidBodyModelState::q(), and rigidBodySolver::state0().
Referenced by rigidBodySolver::correctQuaternionJoints().
|
inlineprotected |
Return the current joint quaternion.
Return the current joint velocity
Definition at line 70 of file rigidBodySolverI.H.
References rigidBodyModelState::qDot(), and rigidBodySolver::state0().
|
inlineprotected |
Return the current joint acceleration.
Definition at line 76 of file rigidBodySolverI.H.
References rigidBodyModelState::qDdot(), and rigidBodySolver::state0().
|
inlineprotected |
Return the previous time-step.
Definition at line 82 of file rigidBodySolverI.H.
References rigidBodyModelState::deltaT(), and rigidBodySolver::model_.
|
protected |
Correct the quaternion joints based on the current change in q.
Definition at line 57 of file rigidBodySolver.C.
References Foam::cos(), forAll, rigidBodyModel::joints(), Foam::mag(), rigidBodySolver::model_, Foam::normalize(), rigidBodySolver::q(), rigidBodySolver::q0(), and rigidBodyModel::unitQuaternions().
TypeName | ( | "rigidBodySolver" | ) |
Runtime type information.
declareRunTimeSelectionTable | ( | autoPtr | , |
rigidBodySolver | , | ||
dictionary | , | ||
(rigidBodyMotion &body, const dictionary &dict) | , | ||
(body, dict) | |||
) |
|
static |
Definition at line 31 of file newRigidBodySolver.C.
References dict, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::Info, and dictionary::lookup().
|
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 rigidBodySolver::correctQuaternionJoints(), rigidBodySolver::deltaT(), rigidBodySolver::deltaT0(), rigidBodySolver::state(), and rigidBodySolver::state0().