42#ifndef polyMeshFilter_H
43#define polyMeshFilter_H
96 template<
class SetType>
99 template<
class SetType>
102 label filterFacesLoop(
const label nOriginalBadFaces);
119 void updatePointErrorCount
121 const bitSet& isErrorPoint,
129 void checkMeshEdgesAndRelaxEdges
133 const bitSet& isErrorPoint,
139 void checkMeshFacesAndRelaxEdges
143 const bitSet& isErrorPoint,
154 void updatePointPriorities
161 void printScalarFieldStats
169 void mapOldMeshEdgeFieldToNewMesh
178 void mapOldMeshFaceFieldToNewMesh
187 void updateOldToNewPointMap
194 polyMeshFilter(
const polyMeshFilter&) =
delete;
197 void operator=(
const polyMeshFilter&) =
delete;
255 label
filter(
const label nOriginalBadFaces);
261 label filterEdges(
const label nOriginalBadFaces);
Info<< nl;Info<< "Write faMesh in vtk format:"<< nl;{ vtk::uindirectPatchWriter writer(aMesh.patch(), fileName(aMesh.time().globalPath()/vtkBaseFileName));writer.writeGeometry();globalIndex procAddr(aMesh.nFaces());labelList cellIDs;if(UPstream::master()) { cellIDs.resize(procAddr.totalSize());for(const labelRange &range :procAddr.ranges()) { auto slice=cellIDs.slice(range);slice=identity(range);} } writer.beginCellData(4);writer.writeProcIDs();writer.write("cellID", cellIDs);writer.write("area", aMesh.S().field());writer.write("normal", aMesh.faceAreaNormals());writer.beginPointData(1);writer.write("normal", aMesh.pointAreaNormals());Info<< " "<< writer.output().name()<< nl;}{ vtk::lineWriter writer(aMesh.points(), aMesh.edges(), fileName(aMesh.time().globalPath()/(vtkBaseFileName+"-edges")));writer.writeGeometry();writer.beginCellData(4);writer.writeProcIDs();{ Field< scalar > fld(faMeshTools::flattenEdgeField(aMesh.magLe(), true))
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...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh data needed to do the Finite Volume discretisation.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
polyMeshFilterSettings(const dictionary &dict)
Construct from dictionary.
~polyMeshFilter()=default
Destructor.
const autoPtr< labelList > & pointPriority() const
Return the new pointPriority list.
label filter(const label nOriginalBadFaces)
Filter edges and faces.
static autoPtr< fvMesh > copyMesh(const fvMesh &mesh)
Return a copy of an fvMesh.
ClassName("polyMeshFilter")
Runtime type information.
const autoPtr< fvMesh > & filteredMesh() const
Return reference to the filtered mesh. Does not check if the.
Mesh consisting of general polyhedral cells.
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
List< label > labelList
A List of labels.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.