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;
Six degree of freedom motion for a rigid body.
virtual ~sixDoFRigidBodyMotion()
Destructor.
void addConstraints(const dictionary &dict)
Add restraints to the motion, public to allow external.
bool read(const dictionary &dict)
Read coefficients dictionary and update system parameters,.
bool report() const
Return the report Switch.
void write(Ostream &) const
Write.
A list of keyword definitions, which are a keyword followed by any number of values (e...
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.
A simple wrapper around bool so that it can be read as a word: true/false, on/off, yes/no, y/n, t/f, or none/any.
point transform(const point &initialPoints) const
Transform the given initial state point by the current motion.
const sixDoFRigidBodyMotionState & state() const
Return the motion state.
const diagTensor & momentOfInertia() const
Return the inertia tensor.
vector omega() const
Return the angular velocity in the global frame.
sixDoFRigidBodyMotion()
Construct null.
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.
void status() const
Report the status of the motion.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
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.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
TypeName("sixDoFRigidBodyMotion")
Runtime type information.
scalar mass() const
Return the mass.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A class for managing temporary objects.
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.
void addRestraints(const dictionary &dict)
Add restraints to the motion, public to allow external.