53 const auto& patchField =
field.boundaryField()[patchI];
60 else if (
isA<valuePointPatchField<vector>>(patchField))
62 adaptPatchIDs.
append(patchI);
97 label meshFaceI =
pp.start();
101 addressing[nFaces++] = meshFaceI++;
107 IndirectList<face>(
mesh.
faces(), std::move(addressing)),
115 Foam::externalDisplacementMeshMover::externalDisplacementMeshMover
124 pointDisplacement_(pointDisplacement),
141 Info<<
"Selecting externalDisplacementMeshMover " <<
type <<
endl;
143 auto* ctorPtr = dictionaryConstructorTable(
type);
150 "externalDisplacementMeshMover",
152 *dictionaryConstructorTablePtr_
156 return autoPtr<externalDisplacementMeshMover>
158 ctorPtr(
dict, baffles, pointDisplacement, dryRun)
186 if (f0 >= 0 && f1 >= 0)
192 baffles_.transfer(newBaffles);
virtual void movePoints(const pointField &)
Update local data for geometry changes.
errorManipArg< error, int > exit(error &err, const int errNo=1)
A list of keyword definitions, which are a keyword followed by a number of values (eg...
void append(const T &val)
Append an element at the end of the list.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
virtual const pointField & points() const
Return raw points.
#define forAll(list, i)
Loop across all elements in list.
const labelList & reverseFaceMap() const noexcept
Reverse face map.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
const polyBoundaryMesh & boundaryMesh() const noexcept
Return boundary mesh.
A class for handling words, derived from Foam::string.
void append(const T &val)
Copy append an element to the end of this list.
virtual const faceList & faces() const
Return raw faces.
A polyBoundaryMesh is a polyPatch list with registered IO, a reference to the associated polyMesh...
defineRunTimeSelectionTable(reactionRateFlameArea, dictionary)
Pair< label > labelPair
A pair of labels.
defineTypeNameAndDebug(combustionModel, 0)
virtual void updateMesh(const mapPolyMesh &)
Update local data for topology changes.
Virtual base class for mesh movers with externally provided displacement field giving the boundary co...
const polyBoundaryMesh & patches
static autoPtr< externalDisplacementMeshMover > New(const word &type, const dictionary &dict, const List< labelPair > &baffles, pointVectorField &pointDisplacement, const bool dryRun=false)
Return a reference to the selected meshMover model.
messageStream Info
Information stream (stdout output on master, null elsewhere)
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Mesh consisting of general polyhedral cells.
const Type * isA(const U &obj)
Attempt dynamic_cast to Type.
List< label > labelList
A List of labels.
static autoPtr< T > New(Args &&... args)
Construct autoPtr with forwarding arguments.
A patch is a list of labels that address the faces in the global face list.
static autoPtr< indirectPrimitivePatch > getPatch(const polyMesh &, const labelList &)
Construct patch on selected patches.
virtual ~externalDisplacementMeshMover()
Destructor.
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
static labelList getFixedValueBCs(const pointVectorField &)
Extract fixed-value patchfields.
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
Specifies a zero fixed value boundary condition.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...