52Foam::multiSolidBodyMotionSolver::multiSolidBodyMotionSolver
71 const keyType& cellZoneName = dEntry.keyword();
81 <<
"No matching cellZones: " << cellZoneName <<
nl
102 for (
const label zoneID :
zoneIDs)
104 for (
const label celli :
mesh.cellZones()[zoneID])
106 for (
const label facei :
mesh.cells()[celli])
108 movePts.
set(
mesh.faces()[facei]);
115 mesh, movePts, orEqOp<unsigned int>(), 0u
120 Info<<
"Applying solid body motion " << SBMFs_[zonei].type()
123 <<
" points of cellZone " << cellZoneName <<
endl;
130 pointIDs_.resize(zonei);
139 auto& transformedPts = ttransformedPts.ref();
143 const labelList& zonePoints = pointIDs_[zonei];
147 SBMFs_[zonei].transformation(),
152 return ttransformedPts;
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
label size() const noexcept
The number of elements in list.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
void resize(const label len)
Adjust allocated size of list.
void resize(const label numElem, const unsigned int val=0u)
Reset addressable list size, does not shrink the allocated size.
void reset()
Clear all bits but do not adjust the addressable size.
A List with indirect addressing. Like IndirectList but does not store addressing.
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
labelList sortedToc() const
The indices of the on bits as a sorted labelList.
void set(const bitSet &bitset)
Set specified bits from another bitset.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const dictionary & subDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a sub-dictionary.
A keyword and a list of tokens is an 'entry'.
A class for handling keywords in dictionaries.
Virtual base class for mesh motion solver.
const polyMesh & mesh() const
Return reference to mesh.
const dictionary & coeffDict() const
Const access to the coefficients dictionary.
Solid-body motion of the mesh specified by a run-time selectable motion function.
virtual tmp< pointField > curPoints() const
Return point location obtained from the current motion field.
Virtual base class for displacement motion solvers, where the point motion is relative to a set of fi...
points0MotionSolver(const points0MotionSolver &)=delete
No copy construct.
pointIOField points0_
Starting points.
Mesh consisting of general polyhedral cells.
static autoPtr< solidBodyMotionFunction > New(const word &motionType, const dictionary &dict, const Time &runTime)
Construct and dispatch motionType with dictionary and Time.
A class for managing temporary objects.
static tmp< T > New(Args &&... args)
Construct tmp with forwarding arguments.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
const labelIOList & zoneIDs
List< label > labelList
A List of labels.
messageStream Info
Information stream (stdout output on master, null elsewhere).
T returnReduce(const T &value, BinaryOp bop, const int tag=UPstream::msgType(), const int communicator=UPstream::worldComm)
Perform reduction on a copy, using specified binary operation.
const word GlobalIOList< Tuple2< scalar, vector > >::typeName("scalarVectorTable")
Ostream & endl(Ostream &os)
Add newline and flush stream.
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 ...
vectorField pointField
pointField is a vectorField.
void transformPoints(vectorField &, const septernion &, const vectorField &)
Transform given vectorField of coordinates with the given septernion.
errorManipArg< error, int > exit(error &err, const int errNo=1)
constexpr char nl
The newline '\n' character (0x0a).
#define forAll(list, i)
Loop across all elements in list.