This constraint imposes an orientation limitation where bodies are restricted to rotate only around a fixed axis, optionally with the inclusion of maximum and minimum rotation angle constraints. More...
Public Member Functions | |
TypeName ("axis") | |
Runtime type information. More... | |
axis (const word &name, const dictionary &sDoFRBMCDict, const sixDoFRigidBodyMotion &motion) | |
Construct from components. More... | |
virtual autoPtr< sixDoFRigidBodyMotionConstraint > | clone () const |
Construct and return a clone. More... | |
void | operator= (const sixDoFRigidBodyMotionConstraint &)=delete |
No copy assignment. More... | |
virtual | ~axis ()=default |
Destructor. More... | |
virtual void | constrainTranslation (pointConstraint &) const |
Apply and accumulate translational constraints. More... | |
virtual void | constrainRotation (pointConstraint &) const |
Apply and accumulate rotational constraints. More... | |
virtual bool | read (const dictionary &sDoFRBMCCoeff) |
Update properties from given dictionary. More... | |
virtual void | write (Ostream &) const |
Write. More... | |
Public Member Functions inherited from sixDoFRigidBodyMotionConstraint | |
TypeName ("sixDoFRigidBodyMotionConstraint") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, sixDoFRigidBodyMotionConstraint, dictionary,(const word &name, const dictionary &sDoFRBMCDict, const sixDoFRigidBodyMotion &motion),(name, sDoFRBMCDict, motion)) | |
sixDoFRigidBodyMotionConstraint (const word &name, const dictionary &sDoFRBMCDict, const sixDoFRigidBodyMotion &motion) | |
Construct from the sDoFRBMCDict dictionary and Time. More... | |
virtual | ~sixDoFRigidBodyMotionConstraint () |
Destructor. More... | |
const word & | name () const |
Return the name. More... | |
virtual void | setCentreOfRotation (point &) const |
Set the centre of rotation if not the centre of mass. More... | |
const dictionary & | coeffDict () const |
const sixDoFRigidBodyMotion & | motion () const noexcept |
Return const access to motion. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from sixDoFRigidBodyMotionConstraint | |
static autoPtr< sixDoFRigidBodyMotionConstraint > | New (const word &name, const dictionary &sDoFRBMCDict, const sixDoFRigidBodyMotion &motion) |
Select constructed from the sDoFRBMCDict dictionary and Time. More... | |
Protected Attributes inherited from sixDoFRigidBodyMotionConstraint | |
word | name_ |
Name of the constraint. More... | |
dictionary | sDoFRBMCCoeffs_ |
Constraint model specific coefficient dictionary. More... | |
const sixDoFRigidBodyMotion & | motion_ |
Reference to the body motion. More... | |
This constraint imposes an orientation limitation where bodies are restricted to rotate only around a fixed axis, optionally with the inclusion of maximum and minimum rotation angle constraints.
constant/dynamicMeshDict.sixDoFRigidBodyMotionCoeffs
: constraints { constrainRotation1 { // Mandatory entries sixDoFRigidBodyMotionConstraint axis; axis <vector>; // Optional entries maxClockwiseTheta <Function1<scalar>>; maxCounterclockwiseTheta <Function1<scalar>>; thetaUnits <word>; referenceOrientation <tensor>; } }
where the entries mean:
Property | Description | Type | Reqd | Deflt |
---|---|---|---|---|
sixDoFRigidBodyMotionConstraint | Type name: axis | word | yes | - |
axis | Reference rotation axis fixed in global space | vector | yes | - |
maxClockwiseTheta | Maximum clockwise rotation angle about the rotation axis | Function1<scalar> | no | - |
maxCounterlockwiseTheta | Maximum counterclockwise rotation angle about the rotation axis | Function1<scalar> | no | - |
thetaUnits | Units of theta angles | word | no | radians |
referenceOrientation | Reference orientation where there is no moment | tensor | no | I |
The inherited entries are elaborated in:
Notes
thetaUnits
can be specified as either degrees
or radians
.maxClockwiseTheta
and maxCounterlockwiseTheta
are always non-negative.theta
correspond to clockwise and counterclockwise rotation sectors with respect to the reference orientation, respectively.Definition at line 150 of file sixDoFRigidBodyMotionAxisConstraint.H.
axis | ( | const word & | name, |
const dictionary & | sDoFRBMCDict, | ||
const sixDoFRigidBodyMotion & | motion | ||
) |
Construct from components.
Definition at line 84 of file sixDoFRigidBodyMotionAxisConstraint.C.
References Foam::read().
Referenced by axis::clone().
|
virtualdefault |
Destructor.
TypeName | ( | "axis" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone.
Implements sixDoFRigidBodyMotionConstraint.
Definition at line 223 of file sixDoFRigidBodyMotionAxisConstraint.H.
References axis::axis().
|
delete |
No copy assignment.
|
virtual |
Apply and accumulate translational constraints.
Implements sixDoFRigidBodyMotionConstraint.
Definition at line 104 of file sixDoFRigidBodyMotionAxisConstraint.C.
|
virtual |
Apply and accumulate rotational constraints.
Implements sixDoFRigidBodyMotionConstraint.
Definition at line 111 of file sixDoFRigidBodyMotionAxisConstraint.C.
References Foam::acos(), pointConstraint::combine(), Foam::degToRad(), Foam::endl(), Foam::equal(), Foam::Info, Foam::mag(), Foam::min(), Foam::nl, Foam::constant::mathematical::pi(), sixDoFRigidBodyMotionState::pi(), Foam::rotationTensor(), Foam::sign(), sixDoFRigidBodyMotion::state(), sixDoFRigidBodyMotionState::tau(), sixDoFRigidBodyMotion::time(), TimeState::timeOutputValue(), and Foam::Zero.
|
virtual |
Update properties from given dictionary.
Reimplemented from sixDoFRigidBodyMotionConstraint.
Definition at line 228 of file sixDoFRigidBodyMotionAxisConstraint.C.
References Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Foam::I, Foam::mag(), Foam::nl, sixDoFRigidBodyMotionConstraint::read(), and Foam::sqrt().
|
virtual |
Write.
Reimplemented from sixDoFRigidBodyMotionConstraint.
Definition at line 309 of file sixDoFRigidBodyMotionAxisConstraint.C.
References os().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.