44 multiSolidBodyMotionSolver,
52 Foam::multiSolidBodyMotionSolver::multiSolidBodyMotionSolver
71 const keyType& cellZoneName = dEntry.keyword();
81 <<
"No matching cellZones: " << cellZoneName <<
nl 102 for (
const label zoneID :
zoneIDs)
106 for (
const label facei :
mesh.
cells()[celli])
115 mesh, movePts, orEqOp<unsigned int>(), 0u
120 Info<<
"Applying solid body motion " << SBMFs_[zonei].type()
122 <<
returnReduce(pointIDs_[zonei].size(), sumOp<label>())
123 <<
" points of cellZone " << cellZoneName <<
endl;
129 SBMFs_.resize(zonei);
139 auto& transformedPts = ttransformedPts.ref();
143 const labelList& zonePoints = pointIDs_[zonei];
147 SBMFs_[zonei].transformation(),
152 return ttransformedPts;
A class for handling keywords in dictionaries.
const labelIOList & zoneIDs
void set(const bitSet &bitset)
Set specified bits from another bitset.
errorManipArg< error, int > exit(error &err, const int errNo=1)
void resize(const label len)
Adjust allocated size of list.
label nPoints() const noexcept
Number of mesh points.
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.
static autoPtr< solidBodyMotionFunction > New(const word &motionType, const dictionary &dict, const Time &runTime)
Construct and dispatch motionType with dictionary and Time.
constexpr char nl
The newline '\n' character (0x0a)
labelList sortedToc() const
The indices of the on bits as a sorted labelList.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const cellList & cells() const
const dictionary & coeffDict() const
Const access to the coefficients dictionary.
T returnReduce(const T &value, const BinaryOp &bop, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
Perform reduction on a copy, using specified binary operation.
const dictionary & subDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a sub-dictionary.
Macros for easy insertion into run-time selection tables.
void resize(const label numElem, const unsigned int val=0u)
Reset addressable list size, does not shrink the allocated size.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
#define forAll(list, i)
Loop across all elements in list.
vectorField pointField
pointField is a vectorField.
labelList indices(const wordRe &matcher, const bool useGroups=true) const
Return (sorted) zone indices for all matches.
const Time & time() const noexcept
Return time registry.
static tmp< T > New(Args &&... args)
Construct tmp with forwarding arguments.
virtual const faceList & faces() const
Return raw faces.
virtual tmp< pointField > curPoints() const
Return point location obtained from the current motion field.
defineTypeNameAndDebug(combustionModel, 0)
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
Virtual base class for displacement motion solvers, where the point motion is relative to a set of fi...
A List with indirect addressing. Like IndirectList but does not store addressing. ...
wordList groupNames() const
A list of the zone group names (if any)
const cellZoneMesh & cellZones() const noexcept
Return cell zone mesh.
wordList names() const
A list of the zone names.
messageStream Info
Information stream (stdout output on master, null elsewhere)
void reset()
Clear all bits but do not adjust the addressable size.
Mesh consisting of general polyhedral cells.
const polyMesh & mesh() const
Return reference to mesh.
A class for managing temporary objects.
A keyword and a list of tokens is an 'entry'.
addToRunTimeSelectionTable(functionObject, pointHistory, dictionary)
FlatOutput::OutputAdaptor< Container, Delimiters > flatOutput(const Container &obj, Delimiters delim)
Global flatOutput() function with specified output delimiters.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...