49 void Foam::solidBodyMotionSolver::updateSetPointIndices()
53 setPointIndices_.
clear();
67 pointInSet[
f[fpi]] =
true;
79 if (pointInSet[pointi])
81 setPointIndices_[setPointi ++] = pointi;
100 transform_(SBMFPtr_().transformation())
104 Info<<
"Applying solid body motion to entire mesh" <<
endl;
107 updateSetPointIndices();
121 transform_ = SBMFPtr_().transformation();
138 return ttransformedPts;
145 set_.topoChange(map);
146 updateSetPointIndices();
162 forAll(newPoints0, pointi)
169 <<
"Cannot determine co-ordinates of introduced vertices."
170 <<
" New vertex " << pointi <<
" at co-ordinate "
176 newPoints0[pointi] = points0_[oldPointi];
182 ? transform_.invTransformPoint(
points[pointi])
187 twoDCorrectPoints(newPoints0);
190 points0_.transfer(newPoints0);
192 points0_.instance() = mesh().time().name();
200 set_.distribute(map);
201 updateSetPointIndices();
210 updateSetPointIndices();
#define forAll(list, i)
Loop across all elements in list.
Macros for easy insertion into run-time selection tables.
void resize(const label)
Alias for setSize(const label)
void size(const label)
Override size to be inconsistent with allocated storage.
void clear()
Clear the list, i.e. set size to zero.
A List with indirect addressing.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Virtual base class for mesh motion solver.
const polyMesh & mesh() const
Return reference to mesh.
Virtual base class for displacement motion solvers.
virtual void distribute(const polyDistributionMap &)
Update corresponding to the given distribution map.
virtual void mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
labelUList cells() const
Return const access to the cell set.
const selectionTypes & selectionType() const
Return const access to the cell selection type.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
Class containing mesh-to-mesh mapping information.
Mesh consisting of general polyhedral cells.
virtual const faceList & faces() const
Return raw faces.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
const labelList & reversePointMap() const
Reverse point map.
const labelList & pointMap() const
Old point map.
const cellList & cells() const
Base class for defining solid-body motions.
Solid-body motion of the mesh specified by a run-time selectable motion function.
virtual tmp< pointField > curPoints() const
Return point location obtained from the current motion field.
solidBodyMotionSolver(const word &name, const polyMesh &, const dictionary &)
Construct from mesh and dictionary.
virtual void topoChange(const polyTopoChangeMap &)
Update local data for topology changes.
virtual void distribute(const polyDistributionMap &)
Update corresponding to the given distribution map.
virtual void mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
~solidBodyMotionSolver()
Destructor.
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
A class for handling words, derived from string.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const dimensionedScalar c
Speed of light in a vacuum.
errorManipArg< error, int > exit(error &err, const int errNo=1)
void transformPoints(vectorField &, const spatialTransform &, const vectorField &)
Transform given vectorField of coordinates with the given spatialTransform.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
addToRunTimeSelectionTable(polyPatch, mergedCyclicPolyPatch, word)
Ostream & endl(Ostream &os)
Add newline and flush stream.
word name(const bool)
Return a word representation of a bool.
vectorField pointField
pointField is a vectorField.
List< bool > boolList
Bool container classes.
defineTypeNameAndDebug(combustionModel, 0)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
label count(const ListType &l, typename ListType::const_reference x)
Count the number of occurrences of a value in a list.