Go to the documentation of this file.
45 solidBodyMotionSolver,
53 Foam::solidBodyMotionSolver::solidBodyMotionSolver
65 coeffDict().getOrDefault<
word>(
"cellZone",
"none");
68 coeffDict().getOrDefault<
word>(
"cellSet",
"none");
70 if ((cellZoneName !=
"none") && (cellSetName !=
"none"))
73 <<
"Either cellZone OR cellSet can be supplied, but not both. "
74 <<
"If neither is supplied, all cells will be included"
79 if (cellZoneName !=
"none")
81 Info<<
"Applying solid body motion to cellZone " << cellZoneName
84 label
zoneID =
mesh.cellZones().findZoneID(cellZoneName);
89 <<
"Unable to find cellZone " << cellZoneName
90 <<
". Valid cellZones are:"
91 <<
mesh.cellZones().names()
98 if (cellSetName !=
"none")
100 Info<<
"Applying solid body motion to cellSet " << cellSetName
109 moveAllCells_ = nCells == 0;
113 Info<<
"Applying solid body motion to entire mesh" <<
endl;
123 label celli = cellIDs[i];
131 movePts[pointi] =
true;
147 pointIDs_.transfer(ptIDs);
173 SBMFPtr_().transformation(),
177 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.
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.