Go to the documentation of this file.
44 solidBodyMotionSolver,
52 Foam::solidBodyMotionSolver::solidBodyMotionSolver
64 coeffDict().lookupOrDefault<
word>(
"cellZone",
"none");
67 coeffDict().lookupOrDefault<
word>(
"cellSet",
"none");
69 if ((cellZoneName !=
"none") && (cellSetName !=
"none"))
72 <<
"Either cellZone OR cellSet can be supplied, but not both. "
73 <<
"If neither is supplied, all cells will be included"
78 if (cellZoneName !=
"none")
80 Info<<
"Applying solid body motion to cellZone " << cellZoneName
88 <<
"Unable to find cellZone " << cellZoneName
89 <<
". Valid cellZones are:"
90 <<
mesh.cellZones().names()
97 if (cellSetName !=
"none")
99 Info<<
"Applying solid body motion to cellSet " << cellSetName
108 moveAllCells_ = nCells == 0;
112 Info<<
"Applying solid body motion to entire mesh" <<
endl;
122 label celli = cellIDs[i];
130 movePts[pointi] =
true;
146 pointIDs_.transfer(ptIDs);
172 SBMFPtr_().transformation(),
176 return ttransformedPts;
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
vectorField pointField
pointField is a vectorField.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Virtual base class for displacement motion solvers, where the point motion is relative to a set of fi...
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)
List< Key > toc() const
The table of contents (the keys) in unsorted order.
A class for managing temporary objects.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Mesh consisting of general polyhedral cells.
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
messageStream Info
Information stream (uses stdout - output is on the master only)
void transformPoints(vectorField &, const septernion &, const vectorField &)
Transform given vectorField of coordinates with the given septernion.
Macros for easy insertion into run-time selection tables.
const labelIOList & zoneID
A collection of cell labels.
errorManipArg< error, int > exit(error &err, const int errNo=1)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
label k
Boltzmann constant.
~solidBodyMotionSolver()
Destructor.
const dimensionedScalar c
Speed of light in a vacuum.
virtual tmp< pointField > curPoints() const
Return point location obtained from the current motion field.
A List with indirect addressing.
A face is a list of labels corresponding to mesh vertices.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
defineTypeNameAndDebug(combustionModel, 0)
A cell is defined as a list of faces with extra functionality.