Go to the documentation of this file.
82 tensor R = rotationTensorX(0.5*deltaT*
pi.x()/momentOfInertia_.xx());
86 R = rotationTensorY(0.5*deltaT*
pi.y()/momentOfInertia_.yy());
90 R = rotationTensorZ(deltaT*
pi.z()/momentOfInertia_.zz());
94 R = rotationTensorY(0.5*deltaT*
pi.y()/momentOfInertia_.yy());
98 R = rotationTensorX(0.5*deltaT*
pi.x()/momentOfInertia_.xx());
123 return initialCentreOfRotation_;
136 return motionState_.Q();
142 return motionState_.v();
148 return motionState_.a();
154 return motionState_.pi();
160 return motionState_.tau();
166 return initialCentreOfRotation_;
178 return motionState_.Q();
184 return motionState_.v();
190 return motionState_.a();
196 return motionState_.pi();
202 return motionState_.tau();
217 return momentOfInertia_;
230 return motionState_.centreOfRotation();
237 return initialCentreOfMass_;
249 return centreOfMass() - motionState_.centreOfRotation();
262 return Q() & (
inv(momentOfInertia_) &
pi());
274 motionState0_ = motionState_;
280 return motionState_.centreOfRotation();
289 return (omega() ^ (pt - centreOfRotation())) + v();
295 const point& initialPoint
301 + (
Q() & initialQ_.T() & (initialPoint - initialCentreOfRotation_))
void newTime()
Store the motion state at the beginning of the time-step.
Templated 3D tensor derived from VectorSpace adding construction from 9 components,...
tensor rotationTensorZ(scalar deltaT) const
Calculate the rotation tensor around the body reference.
scalar mass() const
Return the mass.
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.
const tensor & Q() const
Return the orientation.
const Type2 & second() const
Return second.
vector & v()
Return non-const access to vector.
const tensor & orientation() const
Return the orientation tensor, Q.
dimensionedScalar sin(const dimensionedScalar &ds)
Tensor< scalar > tensor
Tensor of scalars.
point velocity(const point &pt) const
Return the velocity of a position.
const Type1 & first() const
Return first.
tensor rotationTensorY(scalar deltaT) const
Calculate the rotation tensor around the body reference.
const PtrList< sixDoFRigidBodyMotionConstraint > & constraints() const
Return the constraints.
PtrList< sixDoFRigidBodyMotionRestraint > restraints_
Motion restraints.
dimensionSet transform(const dimensionSet &)
This function object calculates and outputs the second invariant of the velocity gradient tensor [1/s...
#define R(A, B, C, D, E, F, K, M)
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
Holds the motion state of sixDoF object. Wrapped up together to allow rapid scatter to other processo...
const point & initialCentreOfMass() const
Return the initial centre of mass.
point transform(const point &initialPoints) const
Transform the given initial state point by the current motion.
const point & initialCentreOfRotation() const
Return the initial centre of rotation.
bool report() const
Return the report Switch.
const vector & a() const
Return the current acceleration.
const vector & pi() const
Return the current angular momentum.
const PtrList< sixDoFRigidBodyMotionRestraint > & restraints() const
Return the restraints.
A 2-tuple for storing two objects of different types.
vector omega() const
Return the angular velocity in the global frame.
const point & centreOfRotation() const
Return the current centre of rotation.
point centreOfMass() const
Return the current centre of mass.
const diagTensor & momentOfInertia() const
Return the inertia tensor.
tensor rotationTensorX(scalar deltaT) const
Calculate the rotation tensor around the body reference.
const vector & tau() const
Return the current torque.
const sixDoFRigidBodyMotionState & state() const
Return the motion state.
dimensionedScalar cos(const dimensionedScalar &ds)
const tensor & initialQ() const
Return the initial orientation.