84 const scalar t = state.
t(), deltaT = state.
deltaT();
86 if (t < VSMALL || deltaT < VSMALL)
91 const vector omega = omega_->value(t);
92 const vector omegaDot = (omega - omega_->value(t - deltaT))/deltaT;
93 const vector theta = omega_->integrate(0, t);
94 const scalar magTheta =
mag(theta);
Abstract base-class for all rigid-body joints.
Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a c...
tensor R() const
The rotation tensor corresponding to the quaternion.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
A list of keyword definitions, which are a keyword followed by a number of values (eg...
spatialVector v
The constrained joint velocity.
spatialVector S1
The joint motion sub-space (1-DoF)
compactSpatialTensor S
The joint motion sub-space (3-DoF)
defineTypeNameAndDebug(composite, 0)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
addToRunTimeSelectionTable(joint, composite, dictionary)
spatialVector c
The constrained joint acceleration correction.
Macros for easy insertion into run-time selection tables.
Holds the motion state of rigid-body model.
Joint state returned by jcalc.
static const Identity< scalar > I
scalar t() const
Return access to the time.
SpatialVector< scalar > spatialVector
SpatialVector of scalars.
Quaternion class used to perform rotations in 3D space.
Joint with a specified rotational speed.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
virtual ~rotating()
Destructor.
scalar deltaT() const
Return access to the time-step.
rotating(const rigidBodyModel &model, const dictionary &dict)
Construct for given model from dictionary.
spatialTransform X
The joint transformation.
#define R(A, B, C, D, E, F, K, M)
virtual void jcalc(joint::XSvc &J, const rigidBodyModelState &state) const
Update the model state for this joint.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Basic rigid-body model representing a system of rigid-bodies connected by 1-6 DoF joints...
Tensor of scalars, i.e. Tensor<scalar>.
virtual autoPtr< joint > clone() const
Clone this joint.
static constexpr const zero Zero
Global zero (0)