53 const auto& patchField =
field.boundaryField()[patchI];
60 else if (
isA<valuePointPatchField<vector>>(patchField))
62 adaptPatchIDs.
append(patchI);
77 const polyBoundaryMesh&
patches =
mesh.boundaryMesh();
97 label meshFaceI =
pp.start();
101 addressing[nFaces++] = meshFaceI++;
115Foam::externalDisplacementMeshMover::externalDisplacementMeshMover
124 pointDisplacement_(pointDisplacement),
141 Info<<
"Selecting externalDisplacementMeshMover " <<
type <<
endl;
143 auto* ctorPtr = dictionaryConstructorTable(
type);
150 "externalDisplacementMeshMover",
152 *dictionaryConstructorTablePtr_
156 return autoPtr<externalDisplacementMeshMover>
186 if (f0 >= 0 && f1 >= 0)
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
void append(const T &val)
Copy append an element to the end of this list.
DynamicList< T, SizeMin > & shrink()
Calls shrink_to_fit() and returns a reference to the DynamicList.
A List with indirect addressing.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
void transfer(List< T > &list)
Transfer the contents of the argument List into this list and annul the argument list.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
static autoPtr< T > New(Args &&... args)
Construct autoPtr with forwarding arguments.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Virtual base class for mesh movers with externally provided displacement field giving the boundary co...
static labelList getFixedValueBCs(const pointVectorField &)
Extract fixed-value patchfields.
static autoPtr< indirectPrimitivePatch > getPatch(const polyMesh &, const labelList &)
Construct patch on selected patches.
const polyMesh & mesh() const
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.
virtual ~externalDisplacementMeshMover()
Destructor.
List< labelPair > baffles_
Baffles in the mesh.
const bool dryRun_
In dry-run mode?
virtual void movePoints(const pointField &)
Update local data for geometry changes.
pointVectorField & pointDisplacement()
Return reference to the point motion displacement field.
virtual void updateMesh(const mapPolyMesh &)
Update local data for topology changes.
pointVectorField & pointDisplacement_
Reference to point motion field.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
const labelList & reverseFaceMap() const noexcept
Reverse face map.
A polyBoundaryMesh is a polyPatch list with registered IO, a reference to the associated polyMesh,...
Mesh consisting of general polyhedral cells.
virtual const faceList & faces() const
Return raw faces.
A patch is a list of labels that address the faces in the global face list.
Foam::valuePointPatchField.
A class for handling words, derived from Foam::string.
Specifies a zero fixed value boundary condition.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
const polyBoundaryMesh & patches
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
Pair< label > labelPair
A pair of labels.
List< label > labelList
A List of labels.
messageStream Info
Information stream (stdout output on master, null elsewhere).
GeometricField< vector, pointPatchField, pointMesh > pointVectorField
Ostream & endl(Ostream &os)
Add newline and flush stream.
const Type * isA(const U &obj)
Attempt dynamic_cast to Type.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...
vectorField pointField
pointField is a vectorField.
errorManipArg< error, int > exit(error &err, const int errNo=1)
#define defineRunTimeSelectionTable(baseType, argNames)
Define run-time selection table.
#define forAll(list, i)
Loop across all elements in list.