37namespace sixDoFRigidBodyMotionConstraints
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,...
virtual bool read()
Re-read model coefficients if they have changed.
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,...
virtual bool write()
Write the output fields.
Accumulates point constraints through successive applications of the applyConstraint function.
void combine(const pointConstraint &)
Combine constraints.
Base class for defining constraints for sixDoF motions.
Translation constraint on the centre of rotation: may only move along a line.
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.
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)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
errorManip< error > abort(error &err)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.