92 motionPtr_.resize(dynamicMeshCoeffs.size());
93 pointIDs_.resize(dynamicMeshCoeffs.size());
99 for (
const entry& dEntry : dynamicMeshCoeffs)
106 subDict.
readEntry(
"cellZone", cellZoneName);
114 <<
"No matching cellZones: " << cellZoneName <<
nl
143 for (
const label celli : cellZones()[
zoneID])
145 for (
const label facei :
cells()[celli])
147 movePts.
set(faces()[facei]);
159 Info<<
"Applying motionSolver " << motionPtr_[zonei].type()
162 <<
" points of cellZone " << cellZoneName <<
endl;
168 motionPtr_.resize(zonei);
169 pointIDs_.resize(zonei);
184 const labelList& zonePoints = pointIDs_[zonei];
186 const pointField newPoints(motionPtr_[zonei].newPoints());
188 for (
const label pointi : zonePoints)
190 transformedPts[pointi] = newPoints[pointi];
196 static bool hasWarned =
false;
209 <<
"Did not find volVectorField U."
210 <<
" Not updating U boundary conditions." <<
endl;
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
void correctBoundaryConditions()
Correct boundary field.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Defines the attributes of an object for which implicit objectRegistry management is supported,...
void resize(const label numElem, const unsigned int val=0u)
Reset addressable list size, does not shrink the allocated size.
void reset()
Clear all bits but do not adjust the addressable size.
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
bool empty() const noexcept
True if the UList is empty (ie, size() is zero)
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
labelList sortedToc() const
The indices of the on bits as a sorted labelList.
void set(const bitSet &bitset)
Set specified bits from another bitset.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const dictionary & subDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a sub-dictionary.
bool readEntry(const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX, bool mandatory=true) const
Abstract base class for geometry and/or topology changing fvMesh.
Mesh motion described per cellZone. Individual motion solvers solve over whole domain but are only ap...
virtual bool init(const bool doInit)
Initialise all non-demand-driven data.
virtual bool update()
Update the mesh for both mesh motion and topology change.
A keyword and a list of tokens is an 'entry'.
virtual bool movePoints()
Avoid masking surfaceInterpolation method.
constant condensation/saturation model.
A wordRe is a Foam::word, but can contain a regular expression for matching words or strings.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
const labelIOList & zoneIDs
const labelIOList & zoneID
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, false)
#define WarningInFunction
Report a warning using Foam::Warning.
messageStream Info
Information stream (stdout output on master, null elsewhere)
Ostream & endl(Ostream &os)
Add newline and flush stream.
FlatOutput::OutputAdaptor< Container, Delimiters > flatOutput(const Container &obj, Delimiters delim)
Global flatOutput() function with specified output delimiters.
T returnReduce(const T &value, const BinaryOp &bop, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
Reduce (copy) and return value.
errorManipArg< error, int > exit(error &err, const int errNo=1)
constexpr char nl
The newline '\n' character (0x0a)
#define forAll(list, i)
Loop across all elements in list.