All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
meshRefinement Class Reference

Helper class which maintains intersections of (changing) mesh with (static) surfaces. More...

Collaboration diagram for meshRefinement:

Public Types

enum  IOdebugType {
  IOMESH, IOOBJINTERSECTIONS, IOFEATURESEEDS, IOATTRACTION,
  IOLAYERINFO
}
 Enumeration for what to debug. More...
 
enum  debugType {
  MESH = 1<<IOMESH, OBJINTERSECTIONS = 1<<IOOBJINTERSECTIONS, FEATURESEEDS = 1<<IOFEATURESEEDS, ATTRACTION = 1<< IOATTRACTION,
  LAYERINFO = 1<<IOLAYERINFO
}
 
enum  IOoutputType { IOOUTPUTLAYERINFO }
 Enumeration for what to output. More...
 
enum  outputType { OUTPUTLAYERINFO = 1<<IOOUTPUTLAYERINFO }
 
enum  IOwriteType {
  IOWRITEMESH, IONOWRITEREFINEMENT, IOWRITELEVELS, IOWRITELAYERSETS,
  IOWRITELAYERFIELDS
}
 Enumeration for what to write. More...
 
enum  writeType {
  WRITEMESH = 1<<IOWRITEMESH, NOWRITEREFINEMENT = 1<<IONOWRITEREFINEMENT, WRITELEVELS = 1<<IOWRITELEVELS, WRITELAYERSETS = 1<<IOWRITELAYERSETS,
  WRITELAYERFIELDS = 1<<IOWRITELAYERFIELDS
}
 
enum  mapType { MASTERONLY = 1, KEEPALL = 2, REMOVE = 4 }
 Enumeration for how the userdata is to be mapped upon refinement. More...
 

Public Member Functions

 ClassName ("meshRefinement")
 Runtime type information. More...
 
 meshRefinement (fvMesh &mesh, const scalar mergeDistance, const bool overwrite, const refinementSurfaces &, const refinementFeatures &, const shellSurfaces &)
 Construct from components. More...
 
 meshRefinement (const meshRefinement &)=delete
 Disallow default bitwise copy construction. More...
 
const fvMeshmesh () const
 Reference to mesh. More...
 
fvMeshmesh ()
 
scalar mergeDistance () const
 
bool overwrite () const
 Overwrite the mesh? More...
 
const wordoldInstance () const
 (points)instance of mesh upon construction More...
 
const refinementSurfacessurfaces () const
 Reference to surface search engines. More...
 
const refinementFeaturesfeatures () const
 Reference to feature edge mesh. More...
 
const shellSurfacesshells () const
 Reference to refinement shells (regions) More...
 
const hexRef8meshCutter () const
 Reference to meshcutting engine. More...
 
const labelListsurfaceIndex () const
 Per start-end edge the index of the surface hit. More...
 
labelListsurfaceIndex ()
 
const List< Tuple2< mapType, labelList > > & userFaceData () const
 Additional face data that is maintained across. More...
 
List< Tuple2< mapType, labelList > > & userFaceData ()
 
label countHits () const
 Count number of intersections (local) More...
 
autoPtr< mapDistributePolyMeshbalance (const bool keepZoneFaces, const bool keepBaffles, const scalarField &cellWeights, decompositionMethod &decomposer, fvMeshDistribute &distributor)
 Redecompose according to cell count. More...
 
labelList intersectedFaces () const
 Get faces with intersection. More...
 
labelList intersectedPoints () const
 Get points on surfaces with intersection and boundary faces. More...
 
bool isGap (const scalar, const vector &, const vector &, const vector &, const vector &) const
 Is local topology a small gap? More...
 
bool isNormalGap (const scalar, const vector &, const vector &, const vector &, const vector &) const
 Is local topology a small gap normal to the test vector. More...
 
labelList refineCandidates (const pointField &keepPoints, const scalar curvature, const scalar planarAngle, const bool featureRefinement, const bool featureDistanceRefinement, const bool internalRefinement, const bool surfaceRefinement, const bool curvatureRefinement, const bool gapRefinement, const label maxGlobalCells, const label maxLocalCells) const
 Calculate list of cells to refine. More...
 
autoPtr< mapPolyMeshrefine (const labelList &cellsToRefine)
 Refine some cells. More...
 
autoPtr< mapDistributePolyMeshrefineAndBalance (const string &msg, decompositionMethod &decomposer, fvMeshDistribute &distributor, const labelList &cellsToRefine, const scalar maxLoadUnbalance)
 Refine some cells and rebalance. More...
 
autoPtr< mapDistributePolyMeshbalanceAndRefine (const string &msg, decompositionMethod &decomposer, fvMeshDistribute &distributor, const labelList &cellsToRefine, const scalar maxLoadUnbalance)
 Balance before refining some cells. More...
 
void baffleAndSplitMesh (const bool handleSnapProblems, const snapParameters &snapParams, const bool useTopologicalSnapDetection, const bool removeEdgeConnectedCells, const scalarField &perpendicularAngle, const bool mergeFreeStanding, const scalar freeStandingAngle, const dictionary &motionDict, Time &runTime, const labelList &globalToMasterPatch, const labelList &globalToSlavePatch, const point &keepPoint)
 Split off unreachable areas of mesh. More...
 
autoPtr< mapPolyMeshsplitMesh (const label nBufferLayers, const labelList &globalToMasterPatch, const labelList &globalToSlavePatch, const point &keepPoint)
 Split off (with optional buffer layers) unreachable areas. More...
 
autoPtr< mapPolyMeshdupNonManifoldPoints (const localPointRegion &)
 Find boundary points that connect to more than one cell. More...
 
autoPtr< mapPolyMeshdupNonManifoldPoints ()
 Find boundary points that connect to more than one cell. More...
 
autoPtr< mapPolyMeshcreateBaffles (const labelList &ownPatch, const labelList &nbrPatch)
 Create baffle for every internal face where ownPatch != -1. More...
 
void checkZoneFaces () const
 Debug helper: check faceZones are not on processor patches. More...
 
autoPtr< mapPolyMeshcreateZoneBaffles (const labelList &globalToMasterPatch, const labelList &globalToSlavePatch, List< labelPair > &)
 Create baffles for faces straddling zoned surfaces. Return. More...
 
autoPtr< mapPolyMeshmergeBaffles (const List< labelPair > &)
 Merge baffles. Gets pairs of faces. More...
 
autoPtr< mapPolyMeshzonify (const point &keepPoint, const bool allowFreeStandingZoneFaces)
 Put faces/cells into zones according to surface specification. More...
 
label addMeshedPatch (const word &name, const dictionary &)
 Add patch originating from meshing. Update meshedPatches_. More...
 
labelList meshedPatches () const
 Get patchIDs for patches added in addMeshedPatch. More...
 
void selectSeparatedCoupledFaces (boolList &) const
 Select coupled faces that are not collocated. More...
 
autoPtr< mapPolyMeshsplitMeshRegions (const labelList &globalToMasterPatch, const labelList &globalToSlavePatch, const point &keepPoint)
 Split mesh. Keep part containing point. More...
 
autoPtr< mapPolyMeshsplitFaces (const labelList &splitFaces, const labelPairList &splits)
 Split faces into two. More...
 
void distribute (const mapDistributePolyMesh &)
 Update local numbering for mesh redistribution. More...
 
void updateMesh (const mapPolyMesh &, const labelList &changedFaces)
 Update for external change to mesh. changedFaces are in new mesh. More...
 
void storeData (const labelList &pointsToStore, const labelList &facesToStore, const labelList &cellsToStore)
 Signal points/face/cells for which to store data. More...
 
void updateMesh (const mapPolyMesh &, const labelList &changedFaces, const Map< label > &pointsToRestore, const Map< label > &facesToRestore, const Map< label > &cellsToRestore)
 Update local numbering + undo. More...
 
label mergePatchFacesUndo (const scalar minCos, const scalar concaveCos, const labelHashSet &patchIDs, const dictionary &motionDict, const labelList &preserveFaces)
 Merge coplanar faces. preserveFaces is != -1 for faces. More...
 
autoPtr< mapPolyMeshdoRemovePoints (removePoints &pointRemover, const boolList &pointCanBeDeleted)
 
autoPtr< mapPolyMeshdoRestorePoints (removePoints &pointRemover, const labelList &facesToRestore)
 
labelList collectFaces (const labelList &candidateFaces, const labelHashSet &set) const
 
labelList growFaceCellFace (const labelHashSet &set) const
 
label mergeEdgesUndo (const scalar minCos, const dictionary &motionDict)
 Merge edges, maintain mesh quality. Return global number. More...
 
void checkData ()
 Debugging: check that all faces still obey start()>end() More...
 
template<class T >
void testSyncBoundaryFaceList (const scalar mergeDistance, const string &, const UList< T > &, const UList< T > &) const
 Compare two lists over all boundary faces. More...
 
void printMeshInfo (const bool, const string &) const
 Print some mesh stats. More...
 
word timeName () const
 Replacement for Time::timeName() : return oldInstance (if. More...
 
void setInstance (const fileName &)
 Set instance of all local IOobjects. More...
 
bool write () const
 Write mesh and all data. More...
 
void dumpRefinementLevel () const
 Write refinement level as volScalarFields for postprocessing. More...
 
void dumpIntersections (const fileName &prefix) const
 Debug: Write intersection information to OBJ format. More...
 
void write (const debugType debugFlags, const writeType writeFlags, const fileName &) const
 Do any one of above IO functions. More...
 
void operator= (const meshRefinement &)=delete
 Disallow default bitwise assignment. More...
 

Static Public Member Functions

static autoPtr< indirectPrimitivePatchmakePatch (const polyMesh &, const labelList &)
 Create patch from set of patches. More...
 
static tmp< pointVectorFieldmakeDisplacementField (const pointMesh &pMesh, const labelList &adaptPatchIDs)
 Helper function to make a pointVectorField with correct. More...
 
static void checkCoupledFaceZones (const polyMesh &)
 Helper function: check that face zones are synced. More...
 
static void calculateEdgeWeights (const polyMesh &mesh, const PackedBoolList &isMasterEdge, const labelList &meshPoints, const edgeList &edges, scalarField &edgeWeights, scalarField &invSumWeight)
 Helper: calculate edge weights (1/length) More...
 
template<class Type >
static void weightedSum (const polyMesh &mesh, const PackedBoolList &isMasterEdge, const labelList &meshPoints, const edgeList &edges, const scalarField &edgeWeights, const Field< Type > &data, Field< Type > &sum)
 Helper: weighted sum (over all subset of mesh points) by. More...
 
static label findRegion (const polyMesh &, const labelList &cellRegion, const vector &perturbVec, const point &p)
 Find region point is in. Uses optional perturbation to re-test. More...
 
template<class T >
static void updateList (const labelList &newToOld, const T &nullValue, List< T > &elems)
 Helper: reorder list according to map. More...
 
static void testSyncPointList (const string &msg, const polyMesh &mesh, const List< scalar > &fld)
 
static void testSyncPointList (const string &msg, const polyMesh &mesh, const List< point > &fld)
 
template<class T >
static void collectAndPrint (const UList< point > &points, const UList< T > &data)
 Print list according to (collected and) sorted coordinate. More...
 
static PackedBoolList getMasterPoints (const polyMesh &mesh, const labelList &meshPoints)
 Determine master point for subset of points. If coupled. More...
 
static PackedBoolList getMasterEdges (const polyMesh &mesh, const labelList &meshEdges)
 Determine master edge for subset of edges. If coupled. More...
 
template<class T >
static T gAverage (const PackedBoolList &isMasterElem, const UList< T > &values)
 Helper: calculate average. More...
 
static writeType writeLevel ()
 Get/set write level. More...
 
static void writeLevel (const writeType)
 
static outputType outputLevel ()
 Get/set output level. More...
 
static void outputLevel (const outputType)
 
template<class Enum >
static int readFlags (const Enum &namedEnum, const wordList &)
 Helper: convert wordList into bit pattern using provided. More...
 

Static Public Attributes

static const NamedEnum< IOdebugType, 5 > IOdebugTypeNames
 
static const NamedEnum< IOoutputType, 1 > IOoutputTypeNames
 
static const NamedEnum< IOwriteType, 5 > IOwriteTypeNames
 

Detailed Description

Helper class which maintains intersections of (changing) mesh with (static) surfaces.

Maintains

  • per face any intersections of the cc-cc segment with any of the surfaces
Source files

Definition at line 80 of file meshRefinement.H.

Member Enumeration Documentation

◆ IOdebugType

Enumeration for what to debug.

Enumerator
IOMESH 
IOOBJINTERSECTIONS 
IOFEATURESEEDS 
IOATTRACTION 
IOLAYERINFO 

Definition at line 88 of file meshRefinement.H.

◆ debugType

enum debugType
Enumerator
MESH 
OBJINTERSECTIONS 
FEATURESEEDS 
ATTRACTION 
LAYERINFO 

Definition at line 98 of file meshRefinement.H.

◆ IOoutputType

Enumeration for what to output.

Enumerator
IOOUTPUTLAYERINFO 

Definition at line 108 of file meshRefinement.H.

◆ outputType

enum outputType
Enumerator
OUTPUTLAYERINFO 

Definition at line 114 of file meshRefinement.H.

◆ IOwriteType

Enumeration for what to write.

Enumerator
IOWRITEMESH 
IONOWRITEREFINEMENT 
IOWRITELEVELS 
IOWRITELAYERSETS 
IOWRITELAYERFIELDS 

Definition at line 120 of file meshRefinement.H.

◆ writeType

enum writeType
Enumerator
WRITEMESH 
NOWRITEREFINEMENT 
WRITELEVELS 
WRITELAYERSETS 
WRITELAYERFIELDS 

Definition at line 130 of file meshRefinement.H.

◆ mapType

enum mapType

Enumeration for how the userdata is to be mapped upon refinement.

Enumerator
MASTERONLY 

maintain master only

KEEPALL 

have slaves (upon refinement) from master

REMOVE 

set value to -1 any face that was refined

Definition at line 140 of file meshRefinement.H.

Constructor & Destructor Documentation

◆ meshRefinement() [1/2]

meshRefinement ( fvMesh mesh,
const scalar  mergeDistance,
const bool  overwrite,
const refinementSurfaces surfaces,
const refinementFeatures features,
const shellSurfaces shells 
)

Construct from components.

Definition at line 1162 of file meshRefinement.C.

References Foam::identity().

Referenced by meshRefinement::splitFaces().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ meshRefinement() [2/2]

meshRefinement ( const meshRefinement )
delete

Disallow default bitwise copy construction.

Member Function Documentation

◆ ClassName()

ClassName ( "meshRefinement"  )

Runtime type information.

◆ mesh() [1/2]

const fvMesh& mesh ( ) const
inline

Reference to mesh.

Definition at line 602 of file meshRefinement.H.

Referenced by snappySnapDriver::calcNearestSurface(), snappySnapDriver::preSmoothPatch(), and meshRefinement::userFaceData().

Here is the caller graph for this function:

◆ mesh() [2/2]

fvMesh& mesh ( )
inline

Definition at line 606 of file meshRefinement.H.

◆ mergeDistance()

scalar mergeDistance ( ) const
inline

Definition at line 611 of file meshRefinement.H.

Referenced by meshRefinement::userFaceData().

Here is the caller graph for this function:

◆ overwrite()

bool overwrite ( ) const
inline

Overwrite the mesh?

Definition at line 617 of file meshRefinement.H.

◆ oldInstance()

const word& oldInstance ( ) const
inline

(points)instance of mesh upon construction

Definition at line 623 of file meshRefinement.H.

◆ surfaces()

const refinementSurfaces& surfaces ( ) const
inline

Reference to surface search engines.

Definition at line 629 of file meshRefinement.H.

Referenced by snappySnapDriver::calcNearestSurface().

Here is the caller graph for this function:

◆ features()

const refinementFeatures& features ( ) const
inline

Reference to feature edge mesh.

Definition at line 635 of file meshRefinement.H.

◆ shells()

const shellSurfaces& shells ( ) const
inline

Reference to refinement shells (regions)

Definition at line 641 of file meshRefinement.H.

◆ meshCutter()

const hexRef8& meshCutter ( ) const
inline

Reference to meshcutting engine.

Definition at line 647 of file meshRefinement.H.

◆ surfaceIndex() [1/2]

const labelList& surfaceIndex ( ) const
inline

Per start-end edge the index of the surface hit.

Definition at line 653 of file meshRefinement.H.

◆ surfaceIndex() [2/2]

labelList& surfaceIndex ( )
inline

Definition at line 658 of file meshRefinement.H.

References meshRefinement::userFaceData().

Here is the call graph for this function:

◆ userFaceData() [1/2]

const List<Tuple2<mapType, labelList> >& userFaceData ( ) const
inline

Additional face data that is maintained across.

topo changes. Every entry is a list over all faces. Bit of a hack. Additional flag to say whether to maintain master only (false) or increase set to account for face-from-face.

Definition at line 667 of file meshRefinement.H.

Referenced by meshRefinement::surfaceIndex().

Here is the caller graph for this function:

◆ userFaceData() [2/2]

List<Tuple2<mapType, labelList> >& userFaceData ( )
inline

Definition at line 672 of file meshRefinement.H.

References meshRefinement::addMeshedPatch(), meshRefinement::baffleAndSplitMesh(), meshRefinement::balance(), meshRefinement::balanceAndRefine(), meshRefinement::calculateEdgeWeights(), meshRefinement::checkCoupledFaceZones(), meshRefinement::checkData(), meshRefinement::checkZoneFaces(), meshRefinement::collectAndPrint(), meshRefinement::collectFaces(), meshRefinement::countHits(), meshRefinement::createBaffles(), meshRefinement::createZoneBaffles(), meshRefinement::distribute(), meshRefinement::doRemovePoints(), meshRefinement::doRestorePoints(), meshRefinement::dumpIntersections(), meshRefinement::dumpRefinementLevel(), meshRefinement::dupNonManifoldPoints(), meshRefinement::findRegion(), fld(), meshRefinement::gAverage(), meshRefinement::getMasterEdges(), meshRefinement::getMasterPoints(), meshRefinement::growFaceCellFace(), meshRefinement::intersectedFaces(), meshRefinement::intersectedPoints(), meshRefinement::isGap(), meshRefinement::isNormalGap(), meshRefinement::makeDisplacementField(), meshRefinement::makePatch(), meshRefinement::mergeBaffles(), meshRefinement::mergeDistance(), meshRefinement::mergeEdgesUndo(), meshRefinement::mergePatchFacesUndo(), meshRefinement::mesh(), meshRefinement::meshedPatches(), Foam::name(), meshRefinement::operator=(), meshRefinement::outputLevel(), p, points, meshRefinement::printMeshInfo(), meshRefinement::readFlags(), meshRefinement::refine(), meshRefinement::refineAndBalance(), meshRefinement::refineCandidates(), runTime, meshRefinement::selectSeparatedCoupledFaces(), meshRefinement::setInstance(), meshRefinement::splitFaces(), meshRefinement::splitMesh(), meshRefinement::splitMeshRegions(), meshRefinement::storeData(), Foam::sum(), Foam::T(), meshRefinement::testSyncBoundaryFaceList(), meshRefinement::testSyncPointList(), meshRefinement::timeName(), meshRefinement::updateList(), meshRefinement::updateMesh(), meshRefinement::weightedSum(), meshRefinement::write(), meshRefinement::writeLevel(), and meshRefinement::zonify().

◆ countHits()

Foam::label countHits ( ) const

Count number of intersections (local)

Definition at line 1206 of file meshRefinement.C.

References meshRefinement::balance(), forAll, PackedList< nBits >::get(), and syncTools::getMasterFaces().

Referenced by meshRefinement::baffleAndSplitMesh(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ balance()

Foam::autoPtr< Foam::mapDistributePolyMesh > balance ( const bool  keepZoneFaces,
const bool  keepBaffles,
const scalarField cellWeights,
decompositionMethod decomposer,
fvMeshDistribute distributor 
)

Redecompose according to cell count.

keepZoneFaces : find all faceZones from zoned surfaces and keep owner and neighbour together keepBaffles : find all baffles and keep them together

Definition at line 1369 of file meshRefinement.C.

References fvMeshDistribute::countCells(), decompositionMethod::decompose(), fvMeshDistribute::distribute(), Foam::endl(), localPointRegion::findDuplicateFacePairs(), Pair< Type >::first(), forAll, Foam::Info, Pstream::listCombineGather(), Pstream::listCombineScatter(), UPstream::parRun(), Foam::Pout, Foam::reduce(), Foam::returnReduce(), Pair< Type >::second(), decompositionMethod::setConstraints(), List< T >::setSize(), List< T >::size(), refinementSurfaces::surfZones(), syncTools::syncFaceList(), timeName, and polyBoundaryMesh::whichPatch().

Referenced by meshRefinement::countHits(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ intersectedFaces()

Foam::labelList intersectedFaces ( ) const

Get faces with intersection.

Definition at line 1646 of file meshRefinement.C.

References forAll.

Referenced by meshRefinement::userFaceData(), and meshRefinement::zonify().

Here is the caller graph for this function:

◆ intersectedPoints()

Foam::labelList intersectedPoints ( ) const

Get points on surfaces with intersection and boundary faces.

Definition at line 1672 of file meshRefinement.C.

References f(), forAll, and meshRefinement::makePatch().

Referenced by meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ makePatch()

Foam::autoPtr< Foam::indirectPrimitivePatch > makePatch ( const polyMesh mesh,
const labelList patchIDs 
)
static

Create patch from set of patches.

Definition at line 1740 of file meshRefinement.C.

References polyMesh::boundaryMesh(), polyMesh::faces(), forAll, meshRefinement::makeDisplacementField(), patches, polyMesh::points(), and polyPatch::start().

Referenced by snappyLayerDriver::addLayers(), snappySnapDriver::doSnap(), meshRefinement::intersectedPoints(), snappySnapDriver::repatchToSurface(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ makeDisplacementField()

Foam::tmp< Foam::pointVectorField > makeDisplacementField ( const pointMesh pMesh,
const labelList adaptPatchIDs 
)
static

Helper function to make a pointVectorField with correct.

bcs for mesh movement:

  • adaptPatchIDs : fixedValue
  • processor : calculated (so free to move)
  • cyclic/wedge/symmetry : slip
  • other : slip

Definition at line 1785 of file meshRefinement.C.

References pointMesh::boundary(), Foam::dimLength, forAll, GeometricField< vector, pointPatchField, pointMesh >::New(), patchi, UPtrList< T >::size(), and Foam::Zero.

Referenced by snappySnapDriver::doSnap(), meshRefinement::makePatch(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkCoupledFaceZones()

◆ calculateEdgeWeights()

void calculateEdgeWeights ( const polyMesh mesh,
const PackedBoolList isMasterEdge,
const labelList meshPoints,
const edgeList edges,
scalarField edgeWeights,
scalarField invSumWeight 
)
static

Helper: calculate edge weights (1/length)

Definition at line 1921 of file meshRefinement.C.

References meshRefinement::addMeshedPatch(), Foam::e, forAll, Foam::mag(), Foam::max(), polyMesh::points(), List< T >::setSize(), List< T >::size(), and PackedList< nBits >::size().

Referenced by meshRefinement::checkCoupledFaceZones(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ weightedSum()

void weightedSum ( const polyMesh mesh,
const PackedBoolList isMasterEdge,
const labelList meshPoints,
const edgeList edges,
const scalarField edgeWeights,
const Field< Type > &  data,
Field< Type > &  sum 
)
static

Helper: weighted sum (over all subset of mesh points) by.

summing contribution from (master) edges

Definition at line 223 of file meshRefinementTemplates.C.

References Foam::abort(), Foam::constant::electromagnetic::e, Foam::FatalError, FatalErrorInFunction, forAll, List< Type >::setSize(), List< T >::size(), List< Type >::size(), PackedList< nBits >::size(), and Foam::Zero.

Referenced by meshRefinement::readFlags(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isGap()

bool isGap ( const scalar  planarCos,
const vector point0,
const vector normal0,
const vector point1,
const vector normal1 
) const

Is local topology a small gap?

Hits differ and angles are oppositeish and

hits have a normal distance

Definition at line 1505 of file meshRefinementRefine.C.

References meshRefinement::isNormalGap(), Foam::mag(), Foam::Zero, and VectorSpace< Vector< scalar >, scalar, 3 >::zero.

Referenced by meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isNormalGap()

bool isNormalGap ( const scalar  planarCos,
const vector point0,
const vector normal0,
const vector point1,
const vector normal1 
) const

Is local topology a small gap normal to the test vector.

Hits differ and angles are oppositeish and

hits have a normal distance

Definition at line 1562 of file meshRefinementRefine.C.

References List< T >::clear(), Foam::cos(), Foam::degToRad(), Foam::endl(), forAll, Foam::Info, Foam::mag(), Foam::min(), Foam::Pout, meshRefinement::refineCandidates(), Foam::returnReduce(), List< T >::size(), syncTools::swapBoundaryFaceList(), Foam::Zero, and VectorSpace< Vector< scalar >, scalar, 3 >::zero.

Referenced by meshRefinement::isGap(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ refineCandidates()

Foam::labelList refineCandidates ( const pointField keepPoints,
const scalar  curvature,
const scalar  planarAngle,
const bool  featureRefinement,
const bool  featureDistanceRefinement,
const bool  internalRefinement,
const bool  surfaceRefinement,
const bool  curvatureRefinement,
const bool  gapRefinement,
const label  maxGlobalCells,
const label  maxLocalCells 
) const

Calculate list of cells to refine.

Disable refinement shortcut. nAllowRefine is per processor limit.

Definition at line 2029 of file meshRefinementRefine.C.

References Foam::cos(), Foam::degToRad(), Foam::endl(), forAll, Foam::Info, Foam::labelMax, Foam::max(), UPstream::nProcs(), meshRefinement::refine(), and List< T >::setSize().

Referenced by meshRefinement::isNormalGap(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ refine()

Foam::autoPtr< Foam::mapPolyMesh > refine ( const labelList cellsToRefine)

Refine some cells.

Definition at line 2232 of file meshRefinementRefine.C.

References polyTopoChange::changeMesh(), meshRefinement::refineAndBalance(), and timeName.

Referenced by meshRefinement::refineCandidates(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ refineAndBalance()

Foam::autoPtr< Foam::mapDistributePolyMesh > refineAndBalance ( const string msg,
decompositionMethod decomposer,
fvMeshDistribute distributor,
const labelList cellsToRefine,
const scalar  maxLoadUnbalance 
)

Refine some cells and rebalance.

Definition at line 2273 of file meshRefinementRefine.C.

References meshRefinement::balanceAndRefine(), Foam::endl(), Foam::Info, Foam::mag(), meshRefinement::MESH, UPstream::nProcs(), Foam::Pout, Foam::returnReduce(), timeName, and Foam::vtkWriteOps::write().

Referenced by meshRefinement::refine(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ balanceAndRefine()

Foam::autoPtr< Foam::mapDistributePolyMesh > balanceAndRefine ( const string msg,
decompositionMethod decomposer,
fvMeshDistribute distributor,
const labelList cellsToRefine,
const scalar  maxLoadUnbalance 
)

Balance before refining some cells.

Definition at line 2374 of file meshRefinementRefine.C.

References Foam::endl(), forAll, Foam::Info, Foam::mag(), meshRefinement::MESH, UPstream::nProcs(), Foam::Pout, Foam::returnReduce(), List< T >::size(), timeName, and Foam::vtkWriteOps::write().

Referenced by meshRefinement::refineAndBalance(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ baffleAndSplitMesh()

void baffleAndSplitMesh ( const bool  handleSnapProblems,
const snapParameters snapParams,
const bool  useTopologicalSnapDetection,
const bool  removeEdgeConnectedCells,
const scalarField perpendicularAngle,
const bool  mergeFreeStanding,
const scalar  freeStandingAngle,
const dictionary motionDict,
Time runTime,
const labelList globalToMasterPatch,
const labelList globalToSlavePatch,
const point keepPoint 
)

◆ splitMesh()

◆ dupNonManifoldPoints() [1/2]

◆ dupNonManifoldPoints() [2/2]

Foam::autoPtr< Foam::mapPolyMesh > dupNonManifoldPoints ( )

Find boundary points that connect to more than one cell.

region and split them.

Definition at line 2802 of file meshRefinementBaffles.C.

References meshRefinement::zonify().

Referenced by meshRefinement::splitMesh(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createBaffles()

Foam::autoPtr< Foam::mapPolyMesh > createBaffles ( const labelList ownPatch,
const labelList nbrPatch 
)

Create baffle for every internal face where ownPatch != -1.

External faces get repatched according to ownPatch (nbrPatch should be -1 for these)

Redo the intersections on the newly create baffle faces. Note that

this changes also the cell centre positions.

Definition at line 346 of file meshRefinementBaffles.C.

References Foam::abort(), polyMesh::boundaryMesh(), primitiveMesh::cells(), polyTopoChange::changeMesh(), fvMesh::clearOut(), Foam::endl(), primitiveMesh::faceCentres(), Foam::faceMap(), polyMesh::faceOwner(), Foam::FatalError, FatalErrorInFunction, forAll, HashSet< Key, Hash >::insert(), fvMesh::movePoints(), primitiveMesh::nFaces(), polyMesh::setInstance(), List< T >::size(), faceSet::sync(), syncTools::syncFaceList(), meshRefinement::timeName(), HashTable< T, Key, Hash >::toc(), fvMesh::updateMesh(), meshRefinement::updateMesh(), and polyBoundaryMesh::whichPatch().

Referenced by meshRefinement::baffleAndSplitMesh(), meshRefinement::createZoneBaffles(), meshRefinement::mergeBaffles(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkZoneFaces()

void checkZoneFaces ( ) const

Debug helper: check faceZones are not on processor patches.

Definition at line 483 of file meshRefinementBaffles.C.

References polyMesh::boundaryMesh(), meshRefinement::createZoneBaffles(), Foam::exit(), polyMesh::faceZones(), Foam::FatalError, FatalErrorInFunction, forAll, patchIdentifier::name(), IOobject::name(), patchi, polyPatch::start(), and ZoneMesh< ZoneType, MeshType >::whichZone().

Referenced by meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createZoneBaffles()

Foam::autoPtr< Foam::mapPolyMesh > createZoneBaffles ( const labelList globalToMasterPatch,
const labelList globalToSlavePatch,
List< labelPair > &  baffles 
)

◆ mergeBaffles()

Foam::autoPtr< Foam::mapPolyMesh > mergeBaffles ( const List< labelPair > &  couples)

Merge baffles. Gets pairs of faces.

Definition at line 878 of file meshRefinementBaffles.C.

References Foam::abort(), DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), List< T >::append(), meshRefinement::baffleAndSplitMesh(), polyMesh::boundaryMesh(), polyMesh::bounds(), primitiveMesh::cellCentres(), polyTopoChange::changeMesh(), meshRefinement::checkData(), fvMesh::clearOut(), polyPatch::coupled(), cpuTime::cpuTimeIncrement(), meshRefinement::createBaffles(), Foam::e, primitiveMesh::edges(), Foam::endl(), Foam::exit(), PrimitivePatch< FaceList, PointField >::faceCentres(), primitiveMesh::faceCentres(), PrimitivePatch< FaceList, PointField >::faceEdges(), polyMesh::faceNeighbour(), polyMesh::faceOwner(), polyMesh::faces(), polyMesh::faceZones(), Foam::FatalError, FatalErrorInFunction, Foam::findIndex(), refinementSurfaces::findInside(), meshRefinement::findRegion(), UList< T >::first(), orientedSurface::FLIP, patchFaceOrientation::flip(), faceZone::flipMap(), forAll, Foam::Info, primitiveMesh::isInternalFace(), Foam::labelMax, Pstream::listCombineGather(), Pstream::listCombineScatter(), Foam::max(), meshRefinement::MESH, PrimitivePatch< FaceList, PointField >::meshEdges(), fvMesh::movePoints(), UPstream::myProcNo(), refinementSurfaces::names(), PrimitivePatch< FaceList, PointField >::nEdges(), primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), Foam::nl, orientedSurface::NOFLIP, regionSplit::nRegions(), patches, patchi, Time::path(), primitiveMesh::pointEdges(), Foam::Pout, meshRefinement::printMeshInfo(), Foam::reduce(), Foam::returnReduce(), runTime, polyTopoChange::setAction(), polyMesh::setInstance(), List< T >::setSize(), List< T >::size(), polyPatch::start(), refinementSurfaces::surfZones(), syncTools::swapBoundaryFaceList(), syncTools::syncEdgeList(), syncTools::syncFaceList(), polyMesh::tetBasePtIs(), meshRefinement::timeName(), orientedSurface::UNVISITED, patchFaceOrientation::updateEdge(), patchEdgeFaceRegion::updateEdge(), fvMesh::updateMesh(), meshRefinement::updateMesh(), WarningInFunction, faceZone::whichFace(), polyBoundaryMesh::whichPatch(), ZoneMesh< ZoneType, MeshType >::whichZone(), Ostream::write(), meshRefinement::write(), meshRefinement::writeLevel(), and meshRefinement::WRITEMESH.

Referenced by meshRefinement::baffleAndSplitMesh(), meshRefinement::createZoneBaffles(), and meshRefinement::userFaceData().

Here is the caller graph for this function:

◆ zonify()

Foam::autoPtr< Foam::mapPolyMesh > zonify ( const point keepPoint,
const bool  allowFreeStandingZoneFaces 
)

Put faces/cells into zones according to surface specification.

Returns null if no zone surfaces present. Region containing the keepPoint will not be put into a cellZone.

Per face index of faceZone or -1

Definition at line 2812 of file meshRefinementBaffles.C.

References surfaceZonesInfo::addCellZonesToMesh(), surfaceZonesInfo::addFaceZonesToMesh(), polyMesh::boundaryMesh(), primitiveMesh::cellCentres(), polyMesh::cellZones(), polyTopoChange::changeMesh(), fvMesh::clearOut(), polyPatch::coupled(), Foam::endl(), primitiveMesh::faceAreas(), polyMesh::faceNeighbour(), polyMesh::faceOwner(), polyMesh::faces(), polyMesh::faceZones(), HashTable< T, Key, Hash >::find(), refinementSurfaces::findNearestIntersection(), forAll, refinementSurfaces::geometry(), surfaceZonesInfo::getClosedNamedSurfaces(), surfaceZonesInfo::getInsidePointNamedSurfaces(), syncTools::getMasterFaces(), surfaceZonesInfo::getNamedSurfaces(), Foam::Info, HashTable< T, Key, Hash >::insert(), meshRefinement::intersectedFaces(), primitiveMesh::isInternalFace(), PrimitivePatch< FaceList, PointField >::localFaces(), PrimitivePatch< FaceList, PointField >::localPoints(), Foam::magSqr(), Pstream::mapCombineGather(), Pstream::mapCombineScatter(), fvMesh::movePoints(), n, zone::name(), refinementSurfaces::names(), primitiveMesh::nCells(), primitiveMesh::nFaces(), primitiveMesh::nInternalFaces(), Foam::nl, patches, patchi, Time::path(), polyMesh::points(), Foam::Pout, Foam::returnReduce(), polyTopoChange::setAction(), polyMesh::setInstance(), UPtrList< T >::size(), List< T >::size(), polyPatch::start(), refinementSurfaces::surfaces(), refinementSurfaces::surfZones(), syncTools::swapBoundaryCellList(), syncTools::syncFaceList(), fvMesh::time(), meshRefinement::timeName(), fvMesh::updateMesh(), meshRefinement::updateMesh(), and OBJstream::write().

Referenced by meshRefinement::dupNonManifoldPoints(), and meshRefinement::userFaceData().

Here is the caller graph for this function:

◆ addMeshedPatch()

Foam::label addMeshedPatch ( const word name,
const dictionary patchInfo 
)

Add patch originating from meshing. Update meshedPatches_.

Definition at line 1977 of file meshRefinement.C.

References Foam::findIndex(), polyBoundaryMesh::findPatchID(), forAll, polyPatch::New(), patchi, dictionary::set(), and UPtrList< T >::size().

Referenced by meshRefinement::calculateEdgeWeights(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ meshedPatches()

Foam::labelList meshedPatches ( ) const

Get patchIDs for patches added in addMeshedPatch.

Definition at line 2041 of file meshRefinement.C.

References Foam::abort(), List< T >::append(), polyPatch::constraintType(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, polyBoundaryMesh::findPatchID(), forAll, polyBoundaryMesh::names(), patches, patchi, and Foam::type().

Referenced by meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ selectSeparatedCoupledFaces()

void selectSeparatedCoupledFaces ( boolList selected) const

Select coupled faces that are not collocated.

Definition at line 2067 of file meshRefinement.C.

References meshRefinement::findRegion(), forAll, patches, patchi, polyPatch::start(), coupledPolyPatch::transform(), and transformer::transformsPosition().

Referenced by meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ findRegion()

Foam::label findRegion ( const polyMesh mesh,
const labelList cellRegion,
const vector perturbVec,
const point p 
)
static

Find region point is in. Uses optional perturbation to re-test.

Definition at line 2094 of file meshRefinement.C.

References polyMesh::findCell(), Foam::reduce(), and meshRefinement::splitMeshRegions().

Referenced by meshRefinement::mergeBaffles(), meshRefinement::selectSeparatedCoupledFaces(), meshRefinement::splitMesh(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ splitMeshRegions()

Foam::autoPtr< Foam::mapPolyMesh > splitMeshRegions ( const labelList globalToMasterPatch,
const labelList globalToSlavePatch,
const point keepPoint 
)

Split mesh. Keep part containing point.

Definition at line 2124 of file meshRefinement.C.

References List< T >::append(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, removeCells::getExposedFaces(), Foam::Info, Foam::nl, Foam::reduce(), Foam::returnReduce(), List< T >::size(), and WarningInFunction.

Referenced by meshRefinement::baffleAndSplitMesh(), meshRefinement::findRegion(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ splitFaces()

◆ distribute()

void distribute ( const mapDistributePolyMesh map)

Update local numbering for mesh redistribution.

Definition at line 2220 of file meshRefinement.C.

References autoPtr< T >::clear(), mapDistributePolyMesh::distributeFaceData(), Foam::e, Foam::faceMap(), forAll, meshBb(), meshRefinement::updateMesh(), and autoPtr< T >::valid().

Referenced by meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateMesh() [1/2]

void updateMesh ( const mapPolyMesh map,
const labelList changedFaces 
)

Update for external change to mesh. changedFaces are in new mesh.

face labels.

Definition at line 2275 of file meshRefinement.C.

References meshRefinement::storeData().

Referenced by meshRefinement::createBaffles(), meshRefinement::distribute(), meshRefinement::dupNonManifoldPoints(), meshRefinement::mergeBaffles(), meshRefinement::storeData(), meshRefinement::userFaceData(), and meshRefinement::zonify().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateList()

void updateList ( const labelList newToOld,
const T nullValue,
List< T > &  elems 
)
static

Helper: reorder list according to map.

Definition at line 35 of file meshRefinementTemplates.C.

References forAll, meshRefinement::gAverage(), List< T >::size(), T, and List< T >::transfer().

Referenced by snappyLayerDriver::addLayers(), snappySnapDriver::doSnap(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ storeData()

void storeData ( const labelList pointsToStore,
const labelList facesToStore,
const labelList cellsToStore 
)

Signal points/face/cells for which to store data.

Definition at line 2287 of file meshRefinement.C.

References meshRefinement::updateMesh().

Referenced by meshRefinement::updateMesh(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ updateMesh() [2/2]

void updateMesh ( const mapPolyMesh map,
const labelList changedFaces,
const Map< label > &  pointsToRestore,
const Map< label > &  facesToRestore,
const Map< label > &  cellsToRestore 
)

Update local numbering + undo.

Data to restore given as new pointlabel + stored pointlabel (i.e. what was in pointsToStore)

Definition at line 2304 of file meshRefinement.C.

References mapPolyMesh::faceMap(), forAll, mapPolyMesh::reverseFaceMap(), List< T >::size(), and List< T >::transfer().

Here is the call graph for this function:

◆ mergePatchFacesUndo()

Foam::label mergePatchFacesUndo ( const scalar  minCos,
const scalar  concaveCos,
const labelHashSet patchIDs,
const dictionary motionDict,
const labelList preserveFaces 
)

◆ doRemovePoints()

Foam::autoPtr< Foam::mapPolyMesh > doRemovePoints ( removePoints pointRemover,
const boolList pointCanBeDeleted 
)

◆ doRestorePoints()

Foam::autoPtr< Foam::mapPolyMesh > doRestorePoints ( removePoints pointRemover,
const labelList facesToRestore 
)

◆ collectFaces()

Foam::labelList collectFaces ( const labelList candidateFaces,
const labelHashSet set 
) const

Definition at line 731 of file meshRefinementMerge.C.

References Foam::findIndices(), forAll, found, and meshRefinement::growFaceCellFace().

Referenced by meshRefinement::doRestorePoints(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ growFaceCellFace()

Foam::labelList growFaceCellFace ( const labelHashSet set) const

Definition at line 763 of file meshRefinementMerge.C.

References Foam::findIndices(), forAll, forAllConstIter(), and meshRefinement::mergeEdgesUndo().

Referenced by meshRefinement::collectFaces(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mergeEdgesUndo()

Foam::label mergeEdgesUndo ( const scalar  minCos,
const dictionary motionDict 
)

Merge edges, maintain mesh quality. Return global number.

of edges merged

Definition at line 805 of file meshRefinementMerge.C.

References removePoints::countPointUsage(), Foam::endl(), Foam::Info, n, Foam::nl, Foam::Pout, Foam::returnReduce(), removePoints::savedFaceLabels(), List< T >::size(), timeName, Foam::vtkWriteOps::write(), and Ostream::write().

Referenced by meshRefinement::growFaceCellFace(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ checkData()

void checkData ( )

Debugging: check that all faces still obey start()>end()

Definition at line 406 of file meshRefinement.C.

References Foam::endl(), localPointRegion::findDuplicateFaces(), forAll, Foam::identity(), Foam::Pout, syncTools::swapBoundaryFaceList(), syncTools::syncBoundaryFacePositions(), and WarningInFunction.

Referenced by meshRefinement::baffleAndSplitMesh(), meshRefinement::mergeBaffles(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ testSyncPointList() [1/2]

void testSyncPointList ( const string msg,
const polyMesh mesh,
const List< scalar > &  fld 
)
static

◆ testSyncPointList() [2/2]

void testSyncPointList ( const string msg,
const polyMesh mesh,
const List< point > &  fld 
)
static

◆ testSyncBoundaryFaceList()

void testSyncBoundaryFaceList ( const scalar  mergeDistance,
const string msg,
const UList< T > &  faceData,
const UList< T > &  syncedFaceData 
) const

Compare two lists over all boundary faces.

Definition at line 102 of file meshRefinementTemplates.C.

References Foam::abort(), meshRefinement::collectAndPrint(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::mag(), patchIdentifier::name(), patches, patchi, UList< T >::size(), polyPatch::start(), and T.

Referenced by meshRefinement::gAverage(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ collectAndPrint()

void collectAndPrint ( const UList< point > &  points,
const UList< T > &  data 
)
static

Print list according to (collected and) sorted coordinate.

Definition at line 159 of file meshRefinementTemplates.C.

References Foam::DelaunayMeshTools::allPoints(), Foam::endl(), forAll, Foam::identity(), Foam::Info, Foam::mag(), meshRefinement::readFlags(), UList< T >::size(), and Foam::sortedOrder().

Referenced by meshRefinement::testSyncBoundaryFaceList(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getMasterPoints()

Foam::PackedBoolList getMasterPoints ( const polyMesh mesh,
const labelList meshPoints 
)
static

Determine master point for subset of points. If coupled.

chooses only one

Definition at line 2434 of file meshRefinement.C.

References forAll, meshRefinement::getMasterEdges(), Foam::labelMax, List< T >::size(), and syncTools::syncPointList().

Referenced by snappySnapDriver::calcNearestSurface(), snappySnapDriver::detectNearSurfaces(), listPlusEqOp< T >::operator()(), meshRefinement::userFaceData(), meshRefinement::write(), and medialAxisMeshMover::~medialAxisMeshMover().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getMasterEdges()

Foam::PackedBoolList getMasterEdges ( const polyMesh mesh,
const labelList meshEdges 
)
static

Determine master edge for subset of edges. If coupled.

chooses only one

Definition at line 2471 of file meshRefinement.C.

References forAll, Foam::labelMax, List< T >::size(), and syncTools::syncEdgeList().

Referenced by meshRefinement::getMasterPoints(), listPlusEqOp< T >::operator()(), meshRefinement::userFaceData(), and medialAxisMeshMover::~medialAxisMeshMover().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ printMeshInfo()

void printMeshInfo ( const bool  debug,
const string msg 
) const

◆ timeName()

◆ setInstance()

void setInstance ( const fileName inst)

Set instance of all local IOobjects.

Definition at line 603 of file meshRefinement.C.

References polyTopoChange::changeMesh(), Foam::renumber(), removeCells::setRefinement(), meshRefinement::splitFaces(), timeName, and removeCells::updateMesh().

Referenced by meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ write() [1/2]

◆ dumpRefinementLevel()

void dumpRefinementLevel ( ) const

Write refinement level as volScalarFields for postprocessing.

Definition at line 2587 of file meshRefinement.C.

References IOobject::AUTO_WRITE, Foam::dimless, forAll, MeshObject< polyMesh, PatchMeshObject, pointMesh >::New(), IOobject::NO_READ, and IOobject::NO_WRITE.

Referenced by meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dumpIntersections()

void dumpIntersections ( const fileName prefix) const

Debug: Write intersection information to OBJ format.

Definition at line 2648 of file meshRefinement.C.

References Foam::endl(), forAll, OFstream::name(), Foam::nl, Foam::Pout, List< T >::size(), meshRefinement::write(), and Foam::meshTools::writeOBJ().

Referenced by meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ write() [2/2]

void write ( const debugType  debugFlags,
const writeType  writeFlags,
const fileName prefix 
) const

Do any one of above IO functions.

Definition at line 2729 of file meshRefinement.C.

References Foam::vtkWriteOps::write().

Here is the call graph for this function:

◆ gAverage()

T gAverage ( const PackedBoolList isMasterElem,
const UList< T > &  values 
)
static

◆ writeLevel() [1/2]

◆ writeLevel() [2/2]

void writeLevel ( const writeType  flags)
static

Definition at line 2764 of file meshRefinement.C.

◆ outputLevel() [1/2]

Foam::meshRefinement::outputType outputLevel ( )
static

Get/set output level.

Definition at line 2770 of file meshRefinement.C.

Referenced by meshRefinement::userFaceData().

Here is the caller graph for this function:

◆ outputLevel() [2/2]

void outputLevel ( const outputType  flags)
static

Definition at line 2776 of file meshRefinement.C.

◆ readFlags()

int readFlags ( const Enum &  namedEnum,
const wordList words 
)
static

Helper: convert wordList into bit pattern using provided.

NamedEnum

Definition at line 204 of file meshRefinementTemplates.C.

References forAll, and meshRefinement::weightedSum().

Referenced by meshRefinement::collectAndPrint(), and meshRefinement::userFaceData().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

void operator= ( const meshRefinement )
delete

Disallow default bitwise assignment.

Referenced by meshRefinement::userFaceData().

Here is the caller graph for this function:

Member Data Documentation

◆ IOdebugTypeNames

const Foam::NamedEnum< Foam::meshRefinement::IOdebugType, 5 > IOdebugTypeNames
static

Definition at line 97 of file meshRefinement.H.

Referenced by NamedEnum< compressibleField, 8 >::names().

◆ IOoutputTypeNames

const Foam::NamedEnum< Foam::meshRefinement::IOoutputType, 1 > IOoutputTypeNames
static

Definition at line 113 of file meshRefinement.H.

Referenced by NamedEnum< compressibleField, 8 >::names().

◆ IOwriteTypeNames

const Foam::NamedEnum< Foam::meshRefinement::IOwriteType, 5 > IOwriteTypeNames
static

Definition at line 129 of file meshRefinement.H.

Referenced by NamedEnum< compressibleField, 8 >::names().


The documentation for this class was generated from the following files: