Go to the documentation of this file.
42 dynamicMultiMotionSolverFvMesh,
50 Foam::dynamicMultiMotionSolverFvMesh::dynamicMultiMotionSolverFvMesh
64 IOobject::MUST_READ_IF_MODIFIED,
71 zoneIDs_.setSize(dynamicMeshCoeffs.size());
72 motionPtr_.setSize(dynamicMeshCoeffs.size());
73 pointIDs_.setSize(dynamicMeshCoeffs.size());
79 for (
const entry& dEntry : dynamicMeshCoeffs)
87 zoneIDs_[zonei] = cellZones().findZoneID(zoneName);
89 if (zoneIDs_[zonei] == -1)
92 <<
"Cannot find cellZone named " << zoneName
93 <<
". Valid zones are " << cellZones().names()
98 io.
readOpt() = IOobject::NO_READ;
116 for (
const label celli : cellZones()[zoneIDs_[zonei]])
118 for (
const label facei :
cells()[celli])
120 movePts.
set(faces()[facei]);
124 syncTools::syncPointList
131 Info<<
"Applying motionSolver " << motionPtr_[zonei].type()
134 <<
" points of cellZone " << zoneName <<
endl;
139 zoneIDs_.setSize(zonei);
140 motionPtr_.setSize(zonei);
141 pointIDs_.setSize(zonei);
156 for (
const label pointi : pointIDs_[zonei])
158 transformedPts[pointi] = newPoints[pointi];
164 static bool hasWarned =
false;
177 <<
"Did not find volVectorField U."
178 <<
" Not updating U boundary conditions." <<
endl;
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
A keyword and a list of tokens is an 'entry'.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
void reset()
Clear all bits but do not adjust the addressable size.
virtual const pointField & points() const
Return raw points.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
A class for handling words, derived from Foam::string.
T returnReduce(const T &Value, const BinaryOp &bop, const int tag=Pstream::msgType(), const label comm=UPstream::worldComm)
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
A class for managing temporary objects.
Abstract base class for geometry and/or topology changing fvMesh.
void set(const bitSet &bitset)
Set specified bits from another bitset.
Ostream & endl(Ostream &os)
Add newline and flush stream.
T get(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
const Time & time() const
Return time.
void resize(const label nElem, const unsigned int val=0u)
Reset addressable list size, does not shrink the allocated size.
#define forAll(list, i)
Loop across all elements in list.
messageStream Info
Information stream (uses stdout - output is on the master only)
const dictionary & subDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a sub-dictionary.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Macros for easy insertion into run-time selection tables.
bool movePoints()
Do what is necessary if the mesh has moved.
errorManipArg< error, int > exit(error &err, const int errNo=1)
void correctBoundaryConditions()
Correct boundary field.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
readOption readOpt() const
The read option.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
const word & constant() const
Return constant name.
virtual bool update()
Update the mesh for both mesh motion and topology change.
defineTypeNameAndDebug(combustionModel, 0)
#define WarningInFunction
Report a warning using Foam::Warning.
labelList sortedToc() const
The indices of the on bits as a sorted labelList.