46 #ifndef sixDoFRigidBodyMotion_H
47 #define sixDoFRigidBodyMotion_H
92 point initialCentreOfMass_;
95 point initialCentreOfRotation_;
124 inline tensor rotationTensorX(scalar deltaT)
const;
128 inline tensor rotationTensorY(scalar deltaT)
const;
132 inline tensor rotationTensorZ(scalar deltaT)
const;
144 void applyRestraints();
147 void updateAcceleration(
const vector& fGlobal,
const vector& tauGlobal);
164 inline const point& initialCentreOfRotation()
const;
167 inline const tensor& initialQ()
const;
170 inline const tensor& Q()
const;
173 inline const vector& a()
const;
179 inline const vector& tau()
const;
185 inline point& initialCentreOfRotation();
188 inline tensor& initialQ();
237 inline scalar
mass()
const;
263 inline const vector& v()
const;
268 inline bool report()
const;
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
A 2-tuple for storing two objects of different types.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A list of keyword definitions, which are a keyword followed by any number of values (e....
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.
void update(bool firstIter, const vector &fGlobal, const vector &tauGlobal, scalar deltaT, scalar deltaT0)
Symplectic integration of velocities, orientation and position.
const point & initialCentreOfMass() const
Return the initial centre of mass.
bool report() const
Return the report Switch.
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.
void write(Ostream &) const
Write.
point transform(const point &initialPoints) const
Transform the given initial state point by the current motion.
virtual ~sixDoFRigidBodyMotion()
Destructor.
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.
TypeName("sixDoFRigidBodyMotion")
Runtime type information.
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.
sixDoFRigidBodyMotion()
Construct null.
const sixDoFRigidBodyMotionState & state() const
Return the motion state.
A class for managing temporary objects.