79 CofR = centreOfRotation_;
106 centreOfRotation_ = sDoFRBMCCoeffs_.getOrDefault
109 motion_.initialCentreOfMass()
112 sDoFRBMCCoeffs_.readEntry(
"direction", direction_);
114 scalar magDir(
mag(direction_));
118 direction_ /= magDir;
123 <<
"line direction has zero length"
136 os.writeEntry(
"centreOfRotation", centreOfRotation_);
137 os.writeEntry(
"direction", direction_);
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A 2-tuple for storing two objects of dissimilar types. The container is similar in purpose to std::pa...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Accumulates point constraints through successive applications of the applyConstraint function.
void combine(const pointConstraint &)
Combine constraints.
Base class for defining constraints for sixDoF motions.
const word & name() const
Return the name.
dictionary sDoFRBMCCoeffs_
Constraint model specific coefficient dictionary.
sixDoFRigidBodyMotionConstraint(const word &name, const dictionary &sDoFRBMCDict, const sixDoFRigidBodyMotion &motion)
Construct from the sDoFRBMCDict dictionary and Time.
const sixDoFRigidBodyMotion & motion_
Reference to the body motion.
const sixDoFRigidBodyMotion & motion() const noexcept
Return const access to motion.
virtual bool read(const dictionary &sDoFRBMCDict)
Update properties from given dictionary.
Translation constraint on the centre of rotation: may only move along a line.
virtual void write(Ostream &) const
Write.
virtual void setCentreOfRotation(point &) const
Set the centre of rotation to the projection of the.
virtual void constrainRotation(pointConstraint &) const
Apply and accumulate rotational constraints.
virtual ~line()
Destructor.
virtual bool read(const dictionary &sDoFRBMCCoeff)
Update properties from given dictionary.
virtual void constrainTranslation(pointConstraint &) const
Apply and accumulate translational constraints.
line(const word &name, const dictionary &sDoFRBMCDict, const sixDoFRigidBodyMotion &motion)
Construct from components.
Translation constraint on the centre of rotation: fixed in space.
Six degree of freedom motion for a rigid body.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
OBJstream os(runTime.globalPath()/outputName)
Namespace for six DoF motion constraints.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
errorManip< error > abort(error &err)
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.