45 mesh.time().findInstance
88 points0_(points0IO(
mesh))
106 polyMesh::meshSubDir,
110 IOobject::NO_REGISTER
111 ).typeFilePath<pointIOField>()
115 <<
"Number of points in mesh " << mesh.nPoints()
116 <<
" differs from number of points " << points0_.size()
117 <<
" read from file " << fName << nl
138 <<
"Number of points in mesh " << mesh.nPoints()
139 <<
" differs from number of points " << points0_.size()
140 <<
" read from file " << points0.filePath()
178 forAll(newPoints0, pointi)
180 label oldPointi = mpm.
pointMap()[pointi];
186 if (masterPointi == pointi)
188 newPoints0[pointi] = points0_[oldPointi];
203 <<
"Cannot determine coordinates of introduced vertices."
204 <<
" New vertex " << pointi <<
" at coordinate "
209 twoDCorrectPoints(newPoints0);
211 points0_.transfer(newPoints0);
214 points0_.rename(
"points0");
216 points0_.instance() = time().timeName();
static bool allowConstructFromLargerSize
Permit read construct from a larger size.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
@ NO_REGISTER
Do not request registration (bool: false).
@ READ_IF_PRESENT
Reading is optional [identical to LAZY_READ].
@ MUST_READ
Reading required.
@ NO_WRITE
Ignore writing from objectRegistry::writeObject().
@ AUTO_WRITE
Automatically write from objectRegistry::writeObject().
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const Time & time() const noexcept
Return Time associated with the objectRegistry.
const fileName & instance() const noexcept
Read access to instance path component.
void size(const label n)
Older name for setAddressableSize.
A bounding box defined in terms of min/max extrema points.
vector span() const
The bounding box span (from minimum to maximum).
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
const pointField & preMotionPoints() const noexcept
Pre-motion point positions.
bool hasMotionPoints() const noexcept
Has valid preMotionPoints?
const labelList & reversePointMap() const noexcept
Reverse point map.
const labelList & pointMap() const noexcept
Old point map.
Virtual base class for mesh motion solver.
virtual void updateMesh(const mapPolyMesh &)=0
Update local data for topology changes.
const polyMesh & mesh() const
Return reference to mesh.
motionSolver(const polyMesh &mesh)
Construct from polyMesh.
virtual void twoDCorrectPoints(pointField &) const
const dictionary & coeffDict() const
Const access to the coefficients dictionary.
Virtual base class for displacement motion solvers, where the point motion is relative to a set of fi...
points0MotionSolver(const points0MotionSolver &)=delete
No copy construct.
pointField & points0() noexcept
Return reference to the reference ('0') pointField.
pointIOField points0_
Starting points.
virtual void movePoints(const pointField &)
Update local data for geometry changes.
virtual void updateMesh(const mapPolyMesh &)
Update local data for topology changes.
static IOobject points0IO(const polyMesh &mesh)
Return IO object for points0.
Mesh consisting of general polyhedral cells.
static word meshSubDir
Return the mesh sub-directory name (usually "polyMesh").
A class for handling words, derived from Foam::string.
Intermediate class for handling "zonified" motion. Can select motion for the entire mesh,...
zoneMotion(const dictionary &dict, const polyMesh &mesh)
Construct from dictionary.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
dimensioned< Type > cmptDivide(const dimensioned< Type > &, const dimensioned< Type > &)
vectorIOField pointIOField
pointIOField is a vectorIOField.
dimensioned< Type > cmptMultiply(const dimensioned< Type > &, const dimensioned< Type > &)
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
vectorField pointField
pointField is a vectorField.
errorManipArg< error, int > exit(error &err, const int errNo=1)
#define forAll(list, i)
Loop across all elements in list.
pointField points0(pointIOField(IOobject("points", mesh.time().constant(), polyMesh::meshSubDir, mesh, IOobject::MUST_READ, IOobject::NO_WRITE, IOobject::NO_REGISTER)))