49#ifndef sixDoFRigidBodyMotion_H
50#define sixDoFRigidBodyMotion_H
98 point initialCentreOfMass_;
101 point initialCentreOfRotation_;
130 inline tensor rotationTensorX(scalar deltaT)
const;
134 inline tensor rotationTensorY(scalar deltaT)
const;
138 inline tensor rotationTensorZ(scalar deltaT)
const;
150 void applyRestraints();
153 void updateAcceleration(
const vector& fGlobal,
const vector& tauGlobal);
170 inline const point& initialCentreOfRotation()
const;
173 inline const tensor& initialQ()
const;
176 inline const tensor& Q()
const;
179 inline const vector& a()
const;
182 inline const vector& pi()
const;
185 inline const vector& tau()
const;
191 inline point& initialCentreOfRotation();
194 inline tensor& initialQ();
237 inline scalar
mass()
const;
263 inline const vector&
v()
const;
272 inline bool report()
const;
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A 2-tuple for storing two objects of dissimilar types. The container is similar in purpose to std::pa...
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,...
Holds the motion state of sixDoF object. Wrapped up together to allow rapid scatter to other processo...
Six degree of freedom motion for a rigid body.
point centreOfMass() const
Return the current centre of mass.
const diagTensor & momentOfInertia() const
Return the inertia tensor.
void newTime()
Store the motion state at the beginning of the time-step.
const vector & v() const
Return the current velocity.
const point & initialCentreOfMass() const
Return the initial centre of mass.
bool report() const
Return the report Switch.
const Time & time() const
Return time.
void status() const
Report the status of the motion.
const tensor & orientation() const
Return the orientation tensor, Q.
void addConstraints(const dictionary &dict)
Add restraints to the motion, public to allow external.
point transform(const point &initialPoints) const
Transform the given initial state point by the current motion.
~sixDoFRigidBodyMotion()
Destructor.
vector momentArm() const
Return the current momentArm.
bool read(const dictionary &dict)
Read coefficients dictionary and update system parameters,.
vector omega() const
Return the angular velocity in the global frame.
scalar mass() const
Return the mass.
void addRestraints(const dictionary &dict)
Add restraints to the motion, public to allow external.
point velocity(const point &pt) const
Return the velocity of a position.
const point & centreOfRotation() const
Return the current centre of rotation.
const sixDoFRigidBodyMotionState & state() const
Return the motion state.
A class for managing temporary objects.