49 #ifndef rigidBodyMotion_H 50 #define rigidBodyMotion_H 70 class rigidBodySolver;
150 inline bool report()
const;
void newTime()
Store the motion state at the beginning of the time-step.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
tmp< pointField > transformPoints(const label bodyID, const pointField &initialPoints) const
Transform the given initial pointField of the specified body.
void status(const label bodyID) const
Report the status of the motion of the given body.
A simple wrapper around bool so that it can be read as a word: true/false, on/off, yes/no, any/none. Also accepts 0/1 as a string and shortcuts t/f, y/n.
spatialTransform X00(const label bodyId) const
Return the initial transform to the global frame for the.
bool read(const dictionary &dict)
Read coefficients dictionary and update system parameters,.
const rigidBodyModelState & state() const
Return the motion state.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Holds the motion state of rigid-body model.
void write(Ostream &) const
Write.
Six degree of freedom motion for a rigid body.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
void solve(const scalar t, const scalar deltaT, const scalarField &tau, const Field< spatialVector > &fx)
Integrate velocities, orientation and position.
const vector vCofR(const label bodyID) const
Report linear velocity of the given body.
const Time & time() const
Return the time.
const vector cCofR(const label bodyID) const
Report CofR of the given body.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
label bodyID(const word &name) const
Return the ID of the body with the given name.
Basic rigid-body model representing a system of rigid-bodies connected by 1-6 DoF joints...
A class for managing temporary objects.
~rigidBodyMotion()
Destructor.
bool report() const
Return the report Switch.
void forwardDynamics(rigidBodyModelState &state, const scalarField &tau, const Field< spatialVector > &fx) const
Calculate and optionally relax the joint acceleration qDdot from.