Go to the documentation of this file.
36 namespace sixDoFRigidBodyMotionConstraints
97 sDoFRBMCCoeffs_.readEntry(
"axis", axis_);
99 scalar magFixedAxis(
mag(axis_));
101 if (magFixedAxis > VSMALL)
103 axis_ /= magFixedAxis;
108 <<
"axis has zero length"
Orientation constraint: may only rotate around a fixed axis.
A class for handling words, derived from Foam::string.
Accumulates point constraints through successive applications of the applyConstraint function.
Base class for defining constraints for sixDoF motions.
addToRunTimeSelectionTable(sixDoFRigidBodyMotionConstraint, axis, dictionary)
virtual bool read(const dictionary &sDoFRBMCCoeff)
Update properties from given dictionary.
word name(const complex &c)
Return string representation of complex.
virtual void write(Ostream &) const
Write.
virtual ~axis()
Destructor.
void combine(const pointConstraint &)
Combine constraints.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Macros for easy insertion into run-time selection tables.
errorManip< error > abort(error &err)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Six degree of freedom motion for a rigid body.
axis(const word &name, const dictionary &sDoFRBMCDict, const sixDoFRigidBodyMotion &motion)
Construct from components.
virtual bool read(const dictionary &sDoFRBMCDict)
Update properties from given dictionary.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
defineTypeNameAndDebug(axis, 0)
Ostream & writeEntry(const keyType &key, const T &value)
Write a keyword/value entry.
virtual void constrainRotation(pointConstraint &) const
Apply and accumulate rotational constraints.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual void constrainTranslation(pointConstraint &) const
Apply and accumulate translational constraints.