35 namespace fvMeshTopoChangers
63 Info<<
"raw : Checking for topology changes..."
69 bool hasChanged = topoChangeMap.
valid();
73 Info<<
"raw : Done topology changes..."
86 const label nOldInternal = topoChangeMap().oldPatchStarts()[0];
89 for (
label facei = 0; facei < mesh().nInternalFaces(); facei++)
93 mappedFace[facei] = 1;
98 label facei = mesh().nInternalFaces();
99 facei < mesh().nFaces();
105 mappedFace[facei] = 1;
109 const List<objectMap>& fromFaces = topoChangeMap().facesFromFacesMap();
113 mappedFace[fromFaces[i].index()] = 1;
116 const List<objectMap>& fromEdges = topoChangeMap().facesFromEdgesMap();
120 mappedFace[fromEdges[i].index()] = 1;
127 mappedFace[fromPts[i].index()] = 1;
131 Info<<
"fvMeshTopoChangers::raw :"
132 <<
" zeroing unmapped boundary values." <<
endl;
133 zeroUnmappedValues<scalar, fvPatchField, volMesh>(mappedFace);
134 zeroUnmappedValues<vector, fvPatchField, volMesh>(mappedFace);
135 zeroUnmappedValues<sphericalTensor, fvPatchField, volMesh>(mappedFace);
136 zeroUnmappedValues<symmTensor, fvPatchField, volMesh>(mappedFace);
137 zeroUnmappedValues<tensor, fvPatchField, volMesh>(mappedFace);
139 if (topoChangeMap().hasMotionPoints())
141 pointField newPoints = topoChangeMap().preMotionPoints();
144 Info<<
"fvMeshTopoChangers::raw :"
145 <<
" calling modifyMotionPoints." <<
endl;
146 topoChanger_.modifyMotionPoints(newPoints);
149 Info<<
"fvMeshTopoChangers::raw :"
150 <<
" calling movePoints." <<
endl;
152 mesh().movePoints(newPoints);
#define forAll(list, i)
Loop across all elements in list.
Macros for easy insertion into run-time selection tables.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
bool valid() const
Return true if the autoPtr valid (ie, the pointer is set)
A list of keyword definitions, which are a keyword followed by any number of values (e....
Abstract base class for fvMesh topology changers.
Prototype fvMeshTopoChanger without any added functionality.
virtual ~raw()
Destructor.
virtual void topoChange(const polyTopoChangeMap &)
Update corresponding to the given map.
virtual void distribute(const polyDistributionMap &)
Update corresponding to the given distribution map.
virtual void mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
virtual bool update()
Update the mesh for both mesh motion and topology change.
raw(fvMesh &mesh, const dictionary &dict)
Construct from fvMesh and dictionary.
Mesh data needed to do the Finite Volume discretisation.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
Class containing mesh-to-mesh mapping information.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
defineTypeNameAndDebug(list, 0)
addToRunTimeSelectionTable(fvMeshTopoChanger, list, fvMesh)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)