37#ifndef RBD_rigidBodySolver_H
38#define RBD_rigidBodySolver_H
79 inline scalar
deltaT()
const;
Holds the motion state of rigid-body model.
Six degree of freedom motion for a rigid body.
void correctQuaternionJoints()
Correct the quaternion joints based on the current change in q.
TypeName("rigidBodySolver")
Runtime type information.
virtual ~rigidBodySolver()
Destructor.
rigidBodyMotion & model_
The rigid-body model.
scalarField & qDot()
Return the current joint quaternion.
const scalarField & qDot0() const
Return the current joint quaternion.
scalar deltaT0() const
Return the previous time-step.
static autoPtr< rigidBodySolver > New(rigidBodyMotion &body, const dictionary &dict)
rigidBodyModelState & state()
Return the motion state.
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 & qDdot0() const
Return the current joint acceleration.
declareRunTimeSelectionTable(autoPtr, rigidBodySolver, dictionary,(rigidBodyMotion &body, const dictionary &dict),(body, dict))
scalarField & q()
Return the current joint position and orientation.
scalarField & qDdot()
Return the current joint acceleration.
virtual void solve(const scalarField &tau, const Field< spatialVector > &fx)=0
Integrate the rigid-body motion for one time-step.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Macros to ease declaration of run-time selection tables.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.