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 zone_.topoChange(map);
146 updateSetPointIndices();
158 forAll(newPoints0, pointi)
165 <<
"Cannot determine co-ordinates of introduced vertices."
166 <<
" New vertex " << pointi <<
" at co-ordinate "
172 newPoints0[pointi] = points0_[oldPointi];
178 ? transform_.invTransformPoint(
points[pointi])
183 twoDCorrectPoints(newPoints0);
186 points0_.transfer(newPoints0);
196 zone_.distribute(map);
197 updateSetPointIndices();
206 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 keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
const word & name() const
Return const reference to name.
const Time & time() const
Return the top-level database.
const cellZone & zone() const
Return const access to the cell set.
bool all() const
Return true if the set comprises all the cells.
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.
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.
virtual const pointField & points() const
Return raw points.
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.
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
#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.
vectorField pointField
pointField is a vectorField.
List< bool > boolList
Bool container classes.
defineTypeNameAndDebug(combustionModel, 0)
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.
label count(const ListType &l, typename ListType::const_reference x)
Count the number of occurrences of a value in a list.
tmp< DimensionedField< TypeR, GeoMesh, Field > > New(const tmp< DimensionedField< TypeR, GeoMesh, Field >> &tdf1, const word &name, const dimensionSet &dimensions)