46 Foam::solidBodyMotionFvMesh::solidBodyMotionFvMesh(
const IOobject& io)
62 ).subDict(typeName +
"Coeffs")
80 UName_(dynamicMeshCoeffs_.lookupOrDefault<
word>(
"UName",
"U"))
86 "solidBodyMotionFvMesh::solidBodyMotionFvMesh(const IOobject&)",
88 ) <<
"Read " << undisplacedPoints_.
size()
89 <<
" undisplaced points from " << undisplacedPoints_.
objectPath()
90 <<
" but the current mesh has " <<
nPoints()
100 if ((cellZoneName !=
"none") && (cellSetName !=
"none"))
104 "solidBodyMotionFvMesh::solidBodyMotionFvMesh(const IOobject&)",
107 <<
"Either cellZone OR cellSet can be supplied, but not both. " 108 <<
"If neither is supplied, all cells will be included" 114 if (cellZoneName !=
"none")
116 Info<<
"Applying solid body motion to cellZone " << cellZoneName
125 "solidBodyMotionFvMesh::solidBodyMotionFvMesh(const IOobject&)" 126 ) <<
"Unable to find cellZone " << cellZoneName
127 <<
". Valid cellZones are:" 135 if (cellSetName !=
"none")
137 Info<<
"Applying solid body motion to cellSet " << cellSetName
140 cellSet set(*
this, cellSetName);
146 moveAllCells_ = nCells == 0;
150 Info<<
"Applying solid body motion to entire mesh" <<
endl;
160 label cellI = cellIDs[i];
168 movePts[pointI] =
true;
199 static bool hasWarned =
false;
207 SBMFPtr_().transformation(),
214 pointField transformedPts(undisplacedPoints_);
219 SBMFPtr_().transformation(),
227 if (foundObject<volVectorField>(UName_))
237 WarningIn(
"solidBodyMotionFvMesh::update()")
238 <<
"Did not find volVectorField " << UName_
239 <<
" Not updating " << UName_ <<
"boundary conditions." const cellZoneMesh & cellZones() const
Return cell zone mesh.
Base class for defining solid-body motions.
T returnReduce(const T &Value, const BinaryOp &bop, const int tag=Pstream::msgType(), const label comm=UPstream::worldComm)
void transfer(List< T > &)
Transfer the contents of the argument List into this list.
A cell is defined as a list of faces with extra functionality.
A collection of cell labels.
A class for handling words, derived from string.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void size(const label)
Override size to be inconsistent with allocated storage.
DynamicList< T, SizeInc, SizeMult, SizeDiv > & append(const T &)
Append an element at the end of the list.
errorManipArg< error, int > exit(error &err, const int errNo=1)
const cellList & cells() const
vectorField pointField
pointField is a vectorField.
autoPtr< BasicCompressibleTurbulenceModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const typename BasicCompressibleTurbulenceModel::transportModel &transport, const word &propertiesName)
A face is a list of labels corresponding to mesh vertices.
virtual bool update()
Update the mesh for both mesh motion and topology change.
Ostream & endl(Ostream &os)
Add newline and flush stream.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
#define WarningIn(functionName)
Report a warning using Foam::Warning.
A List with indirect addressing.
dimensionSet transform(const dimensionSet &)
label k
Boltzmann constant.
Spatial transformation functions for primitive fields.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
fileName objectPath() const
Return complete path + object name.
Macros for easy insertion into run-time selection tables.
static void syncPointList(const polyMesh &, List< T > &, const CombineOp &cop, const T &nullValue, const TransformOp &top)
Synchronize values on all mesh points.
#define FatalErrorIn(functionName)
Report an error message using Foam::FatalError.
Constant dispersed-phase particle diameter model.
~solidBodyMotionFvMesh()
Destructor.
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
label findZoneID(const word &zoneName) const
Find zone index given a name.
const dimensionedScalar c
Speed of light in a vacuum.
virtual const faceList & faces() const
Return raw faces.
wordList names() const
Return a list of zone names.
Abstract base class for geometry and/or topology changing fvMesh.
U correctBoundaryConditions()
#define FatalIOErrorIn(functionName, ios)
Report an error message using Foam::FatalIOError.
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
bool movePoints()
Do what is neccessary if the mesh has moved.
defineTypeNameAndDebug(combustionModel, 0)