Go to the documentation of this file.
53 initialPoints_(
p.localPoints()),
81 initialPoints_ =
p.localPoints();
97 initialPoints_(ptf.initialPoints_, mapper),
110 motion_(ptf.motion_),
111 initialPoints_(ptf.initialPoints_),
125 initialPoints_.autoMap(m);
143 initialPoints_.rmap(uSDoFptf.initialPoints_, addr);
158 bool firstIter =
false;
168 if (
db().time().foundObject<uniformDimensionedVectorField>(
"g"))
180 gravity*motion_.
mass(),
188 motion_.
transform(initialPoints_) - initialPoints_
202 initialPoints_.writeEntry(
"initialPoints", os);
203 writeEntry(
"value", os);
void newTime()
Store the motion state at the beginning of the time-step.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
scalar mass() const
Return the mass.
virtual void autoMap(const pointPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
virtual void rmap(const pointPatchField< vector > &, const labelList &)
Reverse map the given pointPatchField onto this pointPatchField.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
static constexpr const zero Zero
Global zero (0)
bool found(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Search for an entry (const access) with the given keyword.
const Time & time() const
Return time.
const objectRegistry & db() const
Return local objectRegistry.
uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField(const pointPatch &, const DimensionedField< vector, pointMesh > &)
Construct from patch and internal field.
Basic pointPatch represents a set of points from the mesh.
Mesh consisting of general polyhedral cells.
Foam::pointPatchFieldMapper.
Field< vector > vectorField
Specialisation of Field<T> for vector.
void update(bool firstIter, const vector &fGlobal, const vector &tauGlobal, scalar deltaT, scalar deltaT0)
Symplectic integration of velocities, orientation and position.
makePointPatchTypeField(pointPatchVectorField, solidBodyMotionDisplacementPointPatchVectorField)
Generic templated field type.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
const DimensionedField< vector, pointMesh > & internalField() const
Return dimensioned internal field reference.
virtual void write(Ostream &) const
Write.
const Type & lookupObject(const word &name, const bool recursive=false) const
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
virtual void write(Ostream &) const
Write.
Macros for easy insertion into run-time selection tables.
const uniformDimensionedVectorField & g
virtual void autoMap(const pointPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
scalar deltaT0Value() const
Return old time step value.
Foam::uncoupledSixDoFRigidBodyDisplacementPointPatchVectorField.
To & refCast(From &r)
Reference type cast template function.
bool updated() const
Return true if the boundary condition has already been updated.
point transform(const point &initialPoints) const
Transform the given initial state point by the current motion.
scalar deltaTValue() const
Return time step value.
virtual void rmap(const pointPatchField< Type > &, const labelList &)
Reverse map the given PointPatchField onto.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
label timeIndex() const
Return current time index.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...