49#ifndef sixDoFRigidBodyMotion_H
50#define sixDoFRigidBodyMotion_H
98 point initialCentreOfMass_;
101 point initialCentreOfRotation_;
123 bool updateConstraints_;
133 inline tensor rotationTensorX(scalar deltaT)
const;
137 inline tensor rotationTensorY(scalar deltaT)
const;
141 inline tensor rotationTensorZ(scalar deltaT)
const;
153 void applyRestraints();
156 void updateAcceleration(
const vector& fGlobal,
const vector& tauGlobal);
176 inline const point& initialCentreOfRotation()
const;
179 inline const tensor& initialQ()
const;
182 inline const tensor& Q()
const;
185 inline const vector& a()
const;
191 inline const vector& tau()
const;
197 inline point& initialCentreOfRotation();
200 inline tensor& initialQ();
243 inline scalar
mass()
const;
269 inline const vector&
v()
const;
278 inline bool report()
const;
constexpr scalar pi(M_PI)
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...
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.
bool updateConstraints() const
Return the update-constraints flag.
sixDoFRigidBodyMotion(const Time &)
Construct null.
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.
friend class sixDoFSolver
A class for managing temporary objects.
DiagTensor< scalar > diagTensor
DiagTensor of scalars, i.e. DiagTensor<scalar>.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
vector point
Point is a vector.
vectorField pointField
pointField is a vectorField.