58Foam::rawTopoChangerFvMesh::rawTopoChangerFvMesh
64 topoChangerFvMesh(
io, doInit)
73 Info<<
"rawTopoChangerFvMesh : Checking for topology changes..."
83 const bool hasChanged = bool(topoChangeMap);
87 Info<<
"rawTopoChangerFvMesh : Done topology changes..."
100 const label nOldInternal = topoChangeMap().oldPatchStarts()[0];
107 mappedFace.set(facei);
114 mappedFace.set(facei);
118 for (
const auto& map : topoChangeMap().facesFromFacesMap())
120 mappedFace.set(map.index());
123 for (
const auto& map : topoChangeMap().facesFromEdgesMap())
125 mappedFace.set(map.index());
128 for (
const auto& map : topoChangeMap().facesFromPointsMap())
130 mappedFace.set(map.index());
134 Info<<
"rawTopoChangerFvMesh : zeroing unmapped boundary values." <<
nl;
136 zeroUnmappedValues<scalar, fvPatchField, volMesh>(mappedFace);
137 zeroUnmappedValues<vector, fvPatchField, volMesh>(mappedFace);
138 zeroUnmappedValues<sphericalTensor, fvPatchField, volMesh>(mappedFace);
139 zeroUnmappedValues<symmTensor, fvPatchField, volMesh>(mappedFace);
140 zeroUnmappedValues<tensor, fvPatchField, volMesh>(mappedFace);
143 Info<<
"rawTopoChangerFvMesh :"
144 <<
" recreating phi for unmapped boundary values." <<
endl;
157 if (topoChangeMap().hasMotionPoints())
159 pointField newPoints = topoChangeMap().preMotionPoints();
162 Info<<
"rawTopoChangerFvMesh :"
163 <<
" calling modifyMotionPoints." <<
endl;
167 Info<<
"rawTopoChangerFvMesh :"
168 <<
" calling movePoints." <<
endl;
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
void set(const bitSet &bitset)
Set specified bits from another bitset.
virtual bool movePoints()
Avoid masking surfaceInterpolation method.
const surfaceScalarField & phi() const
Return cell face motion fluxes.
const surfaceVectorField & Sf() const
Return cell face area vectors.
virtual void movePoints(const pointField &)
Move points, returns volumes swept by faces in motion.
Type & lookupObjectRef(const word &name, const bool recursive=false) const
Lookup and return non-const reference to the object of the given Type. Fatal if not found or the wron...
const Type & lookupObject(const word &name, const bool recursive=false) const
Lookup and return const reference to the object of the given Type. Fatal if not found or the wrong ty...
bool moving() const noexcept
Is mesh moving.
bool topoChanging() const noexcept
Is mesh topology changing.
autoPtr< mapPolyMesh > changeMesh(const bool inflate, const bool syncParallel=true, const bool orderCells=false, const bool orderPoints=false)
label nInternalFaces() const noexcept
Number of internal faces.
label nFaces() const noexcept
Number of mesh faces.
topoChangerFvMesh without any added functionality.
virtual bool update()
Update the mesh for both mesh motion and topology change.
Abstract base class for a topology changing fvMesh.
polyTopoChanger topoChanger_
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
List< label > labelList
A List of labels.
messageStream Info
Information stream (stdout output on master, null elsewhere).
Ostream & endl(Ostream &os)
Add newline and flush stream.
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > linearInterpolate(const GeometricField< Type, fvPatchField, volMesh > &vf)
vectorField pointField
pointField is a vectorField.
constexpr char nl
The newline '\n' character (0x0a).