28 inline Foam::tensor Foam::sixDoFRigidBodyMotion::rotationTensorX
42 inline Foam::tensor Foam::sixDoFRigidBodyMotion::rotationTensorY
56 inline Foam::tensor Foam::sixDoFRigidBodyMotion::rotationTensorZ
71 Foam::sixDoFRigidBodyMotion::rotate
78 Tuple2<tensor, vector> Qpi(Q0, pi0);
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());
107 Foam::sixDoFRigidBodyMotion::restraints()
const 114 Foam::sixDoFRigidBodyMotion::constraints()
const 121 Foam::sixDoFRigidBodyMotion::initialCentreOfRotation()
const 123 return initialCentreOfRotation_;
128 Foam::sixDoFRigidBodyMotion::initialQ()
const 134 inline const Foam::tensor& Foam::sixDoFRigidBodyMotion::Q()
const 136 return motionState_.
Q();
142 return motionState_.
v();
146 inline const Foam::vector& Foam::sixDoFRigidBodyMotion::a()
const 148 return motionState_.
a();
152 inline const Foam::vector& Foam::sixDoFRigidBodyMotion::pi()
const 154 return motionState_.
pi();
158 inline const Foam::vector& Foam::sixDoFRigidBodyMotion::tau()
const 160 return motionState_.
tau();
164 inline Foam::point& Foam::sixDoFRigidBodyMotion::initialCentreOfRotation()
166 return initialCentreOfRotation_;
170 inline Foam::tensor& Foam::sixDoFRigidBodyMotion::initialQ()
178 return motionState_.
Q();
184 return motionState_.
v();
190 return motionState_.
a();
196 return motionState_.
pi();
202 return motionState_.
tau();
217 return momentOfInertia_;
237 return initialCentreOfMass_;
262 return Q() & (
inv(momentOfInertia_) &
pi());
274 motionState0_ = motionState_;
295 const point& initialPoint
301 + (Q() & initialQ_.
T() & (initialPoint - initialCentreOfRotation_))
bool report() const
Return the report Switch.
const vector & a() const
Return access to acceleration.
A 2-tuple for storing two objects of different types.
point centreOfMass() const
Return the current centre of mass.
const point & centreOfRotation() const
Return the current centre of rotation.
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
Tensor< Cmpt > T() const
Return transpose.
point transform(const point &initialPoints) const
Transform the given initial state point by the current motion.
const vector & v() const
Return access to velocity.
Vector< scalar > vector
A scalar version of the templated Vector.
const vector & tau() const
Return access to torque.
const sixDoFRigidBodyMotionState & state() const
Return the motion state.
dimensionedScalar cos(const dimensionedScalar &ds)
const point & centreOfRotation() const
Return access to the centre of mass.
const diagTensor & momentOfInertia() const
Return the inertia tensor.
vector omega() const
Return the angular velocity in the global frame.
const vector & pi() const
Return access to angular momentum.
Holds the motion state of sixDoF object. Wrapped up together to allow rapid scatter to other processo...
const tensor & orientation() const
Return the orientation tensor, Q.
dimensionedScalar sin(const dimensionedScalar &ds)
void newTime()
Store the motion state at the beginning of the time-step.
point velocity(const point &pt) const
Return the velocity of a position.
#define R(A, B, C, D, E, F, K, M)
const tensor & Q() const
Return access to the orientation.
scalar mass() const
Return the mass.
Tensor< scalar > tensor
Tensor of scalars.
const point & initialCentreOfMass() const
Return the initial centre of mass.