58 Foam::rawTopoChangerFvMesh::rawTopoChangerFvMesh
79 Info<<
"rawTopoChangerFvMesh : Checking for topology changes..." 89 const bool hasChanged = bool(topoChangeMap);
93 Info<<
"rawTopoChangerFvMesh : Done topology changes..." 104 bitSet mappedFace(nFaces());
106 const label nOldInternal = topoChangeMap().oldPatchStarts()[0];
109 for (label facei = 0; facei < nInternalFaces(); facei++)
113 mappedFace.
set(facei);
116 for (label facei = nInternalFaces(); facei < nFaces(); facei++)
120 mappedFace.set(facei);
124 const List<objectMap>& fromFaces = topoChangeMap().facesFromFacesMap();
128 mappedFace.set(fromFaces[i].index());
131 const List<objectMap>& fromEdges = topoChangeMap().facesFromEdgesMap();
135 mappedFace.set(fromEdges[i].index());
138 const List<objectMap>& fromPts = topoChangeMap().facesFromPointsMap();
142 mappedFace.set(fromPts[i].index());
146 Info<<
"rawTopoChangerFvMesh : zeroing unmapped boundary values." 148 zeroUnmappedValues<scalar, fvPatchField, volMesh>(mappedFace);
149 zeroUnmappedValues<vector, fvPatchField, volMesh>(mappedFace);
150 zeroUnmappedValues<sphericalTensor, fvPatchField, volMesh>(mappedFace);
151 zeroUnmappedValues<symmTensor, fvPatchField, volMesh>(mappedFace);
152 zeroUnmappedValues<tensor, fvPatchField, volMesh>(mappedFace);
155 Info<<
"rawTopoChangerFvMesh :" 156 <<
" recreating phi for unmapped boundary values." <<
endl;
169 if (topoChangeMap().hasMotionPoints())
171 pointField newPoints = topoChangeMap().preMotionPoints();
174 Info<<
"rawTopoChangerFvMesh :" 175 <<
" calling modifyMotionPoints." <<
endl;
176 topoChanger_.modifyMotionPoints(newPoints);
179 Info<<
"rawTopoChangerFvMesh :" 180 <<
" calling movePoints." <<
endl;
182 movePoints(newPoints);
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > linearInterpolate(const GeometricField< Type, fvPatchField, volMesh > &vf)
Ostream & endl(Ostream &os)
Add newline and flush stream.
GeometricField< vector, fvPatchField, volMesh > volVectorField
virtual ~rawTopoChangerFvMesh()
Destructor.
Macros for easy insertion into run-time selection tables.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
#define forAll(list, i)
Loop across all elements in list.
vectorField pointField
pointField is a vectorField.
Abstract base class for a topology changing fvMesh.
virtual bool update()
Update the mesh for both mesh motion and topology change.
defineTypeNameAndDebug(combustionModel, 0)
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
void set(T *p) noexcept
Deprecated(2018-02) Identical to reset().
messageStream Info
Information stream (stdout output on master, null elsewhere)
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER)
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Defines the attributes of an object for which implicit objectRegistry management is supported...
addToRunTimeSelectionTable(functionObject, pointHistory, dictionary)