Go to the documentation of this file.
44 multiSolidBodyMotionSolver,
52 Foam::multiSolidBodyMotionSolver::multiSolidBodyMotionSolver
60 zoneIDs_.setSize(coeffDict().size());
61 SBMFs_.setSize(coeffDict().size());
62 pointIDs_.setSize(coeffDict().size());
65 for (
const entry& dEntry : coeffDict())
69 const word& zoneName = dEntry.keyword();
72 zoneIDs_[zonei] =
mesh.cellZones().findZoneID(zoneName);
74 if (zoneIDs_[zonei] == -1)
77 <<
"Cannot find cellZone named " << zoneName
78 <<
". Valid zones are "
104 movePts[pointi] =
true;
120 pointIDs_[zonei].transfer(ptIDs);
122 Info<<
"Applying solid body motion " << SBMFs_[zonei].type()
125 <<
" points of cellZone " << zoneName <<
endl;
130 zoneIDs_.setSize(zonei);
131 SBMFs_.setSize(zonei);
132 pointIDs_.setSize(zonei);
151 const labelList& zonePoints = pointIDs_[i];
155 SBMFs_[i].transformation(),
160 return ttransformedPts;
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
A keyword and a list of tokens is an 'entry'.
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)
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)
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
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.
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.
FlatOutput< Container > flatOutput(const Container &obj, label len=0)
Global flatOutput function.
virtual tmp< pointField > curPoints() const
Return point location obtained from the current motion field.
~multiSolidBodyMotionSolver()
Destructor.
label k
Boltzmann constant.
const dimensionedScalar c
Speed of light in a vacuum.
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.