49 Foam::rawTopoChangerFvMesh::rawTopoChangerFvMesh(
const IOobject& io)
66 Info<<
"rawTopoChangerFvMesh : Checking for topology changes..."
70 bool hasChanged = topoChangeMap.
valid();
74 Info<<
"rawTopoChangerFvMesh : Done topology changes..."
87 const label nOldInternal = topoChangeMap().oldPatchStarts()[0];
89 const labelList& faceMap = topoChangeMap().faceMap();
90 for (label faceI = 0; faceI < nInternalFaces(); faceI++)
92 if (faceMap[faceI] >= 0)
94 mappedFace[faceI] = 1;
97 for (label faceI = nInternalFaces(); faceI < nFaces(); faceI++)
99 if (faceMap[faceI] >= 0 && faceMap[faceI] >= nOldInternal)
101 mappedFace[faceI] = 1;
105 const List<objectMap>& fromFaces = topoChangeMap().facesFromFacesMap();
109 mappedFace[fromFaces[i].index()] = 1;
112 const List<objectMap>& fromEdges = topoChangeMap().facesFromEdgesMap();
116 mappedFace[fromEdges[i].index()] = 1;
123 mappedFace[fromPts[i].index()] = 1;
127 Info<<
"rawTopoChangerFvMesh : zeroing unmapped boundary values."
129 zeroUnmappedValues<scalar, fvPatchField, volMesh>(mappedFace);
130 zeroUnmappedValues<vector, fvPatchField, volMesh>(mappedFace);
131 zeroUnmappedValues<sphericalTensor, fvPatchField, volMesh>(mappedFace);
132 zeroUnmappedValues<symmTensor, fvPatchField, volMesh>(mappedFace);
133 zeroUnmappedValues<tensor, fvPatchField, volMesh>(mappedFace);
136 Info<<
"rawTopoChangerFvMesh :"
137 <<
" recreating phi for unmapped boundary values." <<
endl;
141 lookupObject<surfaceScalarField>(
"phi")
151 if (topoChangeMap().hasMotionPoints())
153 pointField newPoints = topoChangeMap().preMotionPoints();
156 Info<<
"rawTopoChangerFvMesh :"
157 <<
" calling modifyMotionPoints." <<
endl;
158 topoChanger_.modifyMotionPoints(newPoints);
161 Info<<
"rawTopoChangerFvMesh :"
162 <<
" calling movePoints." <<
endl;
164 movePoints(newPoints);
173 changing(hasChanged);