Public Member Functions | |
ClassName ("autoRefineDriver") | |
Runtime type information. More... | |
autoRefineDriver (meshRefinement &meshRefiner, decompositionMethod &decomposer, fvMeshDistribute &distributor, const labelList &globalToMasterPatch, const labelList &globalToSlavePatch) | |
Construct from components. More... | |
void | doRefine (const dictionary &refineDict, const refinementParameters &refineParams, const snapParameters &snapParams, const bool prepareForSnapping, const bool mergePatchFaces, const dictionary &motionDict) |
Do all the refinement. More... | |
Static Public Member Functions | |
static void | addFaceZones (meshRefinement &meshRefiner, const refinementParameters &refineParams, const HashTable< Pair< word > > &faceZoneToPatches) |
Helper: add faceZones and patches. More... | |
Private Member Functions | |
label | featureEdgeRefine (const refinementParameters &refineParams, const label maxIter, const label minRefine) |
Refine all cells pierced by explicit feature edges. More... | |
label | smallFeatureRefine (const refinementParameters &refineParams, const label maxIter) |
Refine all cells containing small surface features. More... | |
label | surfaceOnlyRefine (const refinementParameters &refineParams, const label maxIter) |
Refine all cells interacting with the surface. More... | |
label | gapOnlyRefine (const refinementParameters &refineParams, const label maxIter) |
Refine all cells in small gaps. More... | |
label | bigGapOnlyRefine (const refinementParameters &refineParams, const bool spreadGapSize, const label maxIter) |
Refine all cells in large gaps. More... | |
label | danglingCellRefine (const refinementParameters &refineParams, const label nFaces, const label maxIter) |
Refine cells with almost all sides refined. More... | |
label | refinementInterfaceRefine (const refinementParameters &refineParams, const label maxIter) |
Refine cells with opposite faces with differing refinement level. More... | |
void | removeInsideCells (const refinementParameters &refineParams, const label nBufferLayers) |
Remove all cells within intersected region. More... | |
label | shellRefine (const refinementParameters &refineParams, const label maxIter) |
Remove all cells inside/outside shell. More... | |
void | baffleAndSplitMesh (const refinementParameters &refineParams, const snapParameters &snapParams, const bool handleSnapProblems, const dictionary &motionDict) |
Add baffles and remove unreachable cells. More... | |
void | zonify (const refinementParameters &refineParams, wordPairHashTable &zonesToFaceZone) |
Add zones. More... | |
void | splitAndMergeBaffles (const refinementParameters &refineParams, const snapParameters &snapParams, const bool handleSnapProblems, const dictionary &motionDict) |
void | mergePatchFaces (const bool geometricMerge, const refinementParameters &refineParams, const dictionary &motionDict) |
Merge refined boundary faces (from exposing coarser cell) More... | |
autoRefineDriver (const autoRefineDriver &) | |
Disallow default bitwise copy construct. More... | |
void | operator= (const autoRefineDriver &) |
Disallow default bitwise assignment. More... | |
Private Attributes | |
meshRefinement & | meshRefiner_ |
Mesh+surface. More... | |
decompositionMethod & | decomposer_ |
Reference to decomposition method. More... | |
fvMeshDistribute & | distributor_ |
Reference to mesh distribution engine. More... | |
const labelList | globalToMasterPatch_ |
From surface region to patch. More... | |
const labelList | globalToSlavePatch_ |
From surface region to patch. More... | |
Definition at line 56 of file autoRefineDriver.H.
|
private |
Disallow default bitwise copy construct.
autoRefineDriver | ( | meshRefinement & | meshRefiner, |
decompositionMethod & | decomposer, | ||
fvMeshDistribute & | distributor, | ||
const labelList & | globalToMasterPatch, | ||
const labelList & | globalToSlavePatch | ||
) |
Construct from components.
Definition at line 57 of file autoRefineDriver.C.
|
private |
Refine all cells pierced by explicit feature edges.
Definition at line 76 of file autoRefineDriver.C.
References refinementParameters::curvature(), Foam::endl(), Foam::Info, refinementParameters::locationsInMesh(), refinementParameters::maxGlobalCells(), refinementParameters::maxLoadUnbalance(), refinementParameters::maxLocalCells(), mesh, Foam::name(), Foam::nl, refinementParameters::planarAngle(), Foam::reduce(), Foam::returnReduce(), and List::size().
|
private |
Refine all cells containing small surface features.
Definition at line 186 of file autoRefineDriver.C.
References refinementParameters::curvature(), Foam::endl(), Foam::Info, refinementParameters::locationsInMesh(), Foam::max(), refinementParameters::maxGlobalCells(), refinementParameters::maxLoadUnbalance(), refinementParameters::maxLocalCells(), mesh, Foam::name(), Foam::nl, refinementParameters::planarAngle(), Foam::reduce(), Foam::returnReduce(), and List::size().
|
private |
Refine all cells interacting with the surface.
Definition at line 308 of file autoRefineDriver.C.
References refinementParameters::curvature(), Foam::endl(), Foam::Info, refinementParameters::locationsInMesh(), Foam::max(), refinementParameters::maxGlobalCells(), refinementParameters::maxLoadUnbalance(), refinementParameters::maxLocalCells(), mesh, refinementParameters::minRefineCells(), Foam::name(), Foam::nl, refinementParameters::planarAngle(), Foam::reduce(), Foam::returnReduce(), and List::size().
|
private |
Refine all cells in small gaps.
Definition at line 431 of file autoRefineDriver.C.
References Foam::constant::universal::c, refinementParameters::curvature(), Foam::endl(), forAll, Foam::Info, refinementParameters::locationsInMesh(), Foam::max(), refinementParameters::maxGlobalCells(), refinementParameters::maxLoadUnbalance(), refinementParameters::maxLocalCells(), mesh, MESH, refinementParameters::minRefineCells(), n, Foam::name(), Foam::nl, refinementParameters::planarAngle(), Foam::Pout, Foam::reduce(), Foam::returnReduce(), List::setSize(), List::size(), and List::transfer().
|
private |
Refine all cells in large gaps.
Definition at line 662 of file autoRefineDriver.C.
References Foam::constant::universal::c, refinementParameters::curvature(), Foam::endl(), Foam::Info, refinementParameters::locationsInMesh(), Foam::max(), refinementParameters::maxGlobalCells(), refinementParameters::maxLoadUnbalance(), refinementParameters::maxLocalCells(), mesh, MESH, refinementParameters::minRefineCells(), Foam::name(), Foam::nl, refinementParameters::planarAngle(), Foam::Pout, Foam::reduce(), Foam::returnReduce(), and List::size().
|
private |
Refine cells with almost all sides refined.
Definition at line 804 of file autoRefineDriver.C.
References cells, Foam::endl(), forAll, Foam::Info, HashSet< Key, Hash >::insert(), IOobject::instance(), refinementParameters::maxLoadUnbalance(), refinementParameters::maxLocalCells(), mesh, MESH, refinementParameters::minRefineCells(), Foam::name(), Foam::nl, polyBoundaryMesh::patchID(), Foam::Pout, Foam::reduce(), Foam::returnReduce(), List::size(), HashTable::size(), HashTable::toc(), and regIOobject::write().
|
private |
Refine cells with opposite faces with differing refinement level.
Definition at line 950 of file autoRefineDriver.C.
References hexRef8::cellLevel(), cells, Foam::cos(), Foam::degToRad(), Foam::endl(), hexRef8::faceLevel(), forAll, forAllConstIter(), Foam::Info, HashSet< Key, Hash >::insert(), IOobject::instance(), refinementParameters::interfaceRefine(), Foam::mag(), refinementParameters::maxLoadUnbalance(), refinementParameters::maxLocalCells(), mesh, MESH, refinementParameters::minRefineCells(), n, Foam::name(), Foam::nl, Foam::Pout, Foam::reduce(), Foam::returnReduce(), List::size(), HashTable::size(), HashTable::toc(), and regIOobject::write().
|
private |
Remove all cells within intersected region.
Definition at line 1290 of file autoRefineDriver.C.
References Foam::endl(), Foam::Info, refinementParameters::locationsInMesh(), refinementParameters::locationsOutsideMesh(), mesh, MESH, Foam::nl, Foam::Pout, Ostream::write(), and refinementParameters::zonesInMesh().
|
private |
Remove all cells inside/outside shell.
Definition at line 1338 of file autoRefineDriver.C.
References Foam::constant::universal::c, HashTable::clear(), refinementParameters::curvature(), Foam::endl(), Foam::findIndices(), Foam::Info, refinementParameters::locationsInMesh(), refinementParameters::maxGlobalCells(), refinementParameters::maxLoadUnbalance(), refinementParameters::maxLocalCells(), mesh, MESH, refinementParameters::minRefineCells(), Foam::name(), refinementParameters::nBufferLayers(), Foam::nl, refinementParameters::planarAngle(), Foam::Pout, Foam::reduce(), Foam::returnReduce(), and List::size().
|
private |
Add baffles and remove unreachable cells.
Definition at line 1511 of file autoRefineDriver.C.
References Foam::endl(), Foam::Info, refinementParameters::locationsInMesh(), refinementParameters::locationsOutsideMesh(), mesh, Foam::nl, refinementParameters::planarAngle(), scalarField(), refinementParameters::useTopologicalSnapDetection(), and refinementParameters::zonesInMesh().
|
private |
Add zones.
Definition at line 1574 of file autoRefineDriver.C.
References refinementParameters::allowFreeStandingZoneFaces(), Foam::endl(), Foam::Info, refinementParameters::locationsInMesh(), mesh, MESH, Foam::nl, Foam::Pout, List::size(), Ostream::write(), and refinementParameters::zonesInMesh().
|
private |
Definition at line 1637 of file autoRefineDriver.C.
References Foam::endl(), Foam::Info, refinementParameters::locationsInMesh(), refinementParameters::locationsOutsideMesh(), mesh, MESH, Foam::nl, refinementParameters::planarAngle(), Foam::Pout, Foam::returnReduce(), List::size(), refinementParameters::useTopologicalSnapDetection(), Ostream::write(), and refinementParameters::zonesInMesh().
|
private |
Merge refined boundary faces (from exposing coarser cell)
Definition at line 1836 of file autoRefineDriver.C.
References Foam::cos(), Foam::degToRad(), Foam::endl(), Foam::Info, mesh, and Foam::nl.
|
private |
Disallow default bitwise assignment.
ClassName | ( | "autoRefineDriver" | ) |
Runtime type information.
void doRefine | ( | const dictionary & | refineDict, |
const refinementParameters & | refineParams, | ||
const snapParameters & | snapParams, | ||
const bool | prepareForSnapping, | ||
const bool | mergePatchFaces, | ||
const dictionary & | motionDict | ||
) |
Do all the refinement.
Definition at line 1887 of file autoRefineDriver.C.
References Foam::endl(), refinementParameters::findCells(), Pair::first(), forAll, Foam::Info, HashTable::insert(), refinementParameters::locationsInMesh(), Foam::help::mergePatchFaces(), mesh, Foam::nl, patches, scalarField(), Pair::second(), HashTable::size(), and HashTable::sortedToc().
Referenced by main().
|
static |
Helper: add faceZones and patches.
Definition at line 1762 of file autoRefineDriver.C.
References meshRefinement::addFaceZone(), meshRefinement::addMeshedPatch(), Foam::endl(), forAllConstIter(), refinementParameters::getZoneInfo(), Foam::Info, mesh, meshRefinement::mesh(), Foam::nl, patchNames(), Foam::setf(), and Foam::setw().
Referenced by main().
|
private |
Mesh+surface.
Definition at line 61 of file autoRefineDriver.H.
|
private |
Reference to decomposition method.
Definition at line 64 of file autoRefineDriver.H.
|
private |
Reference to mesh distribution engine.
Definition at line 67 of file autoRefineDriver.H.
|
private |
From surface region to patch.
Definition at line 70 of file autoRefineDriver.H.
|
private |
From surface region to patch.
Definition at line 73 of file autoRefineDriver.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.