Store a background polyMesh to use for the decomposition of space and queries for parallel conformalVoronoiMesh. More...
Public Member Functions | |
ClassName ("backgroundMeshDecomposition") | |
Runtime type information. More... | |
backgroundMeshDecomposition (const Time &runTime, Random &rndGen, const conformationSurfaces &geometryToConformTo, const dictionary &coeffsDict, const fileName &decompDictFile="") | |
Construct from components in foamyHexMesh operation. More... | |
~backgroundMeshDecomposition () | |
Destructor. More... | |
autoPtr< mapDistributePolyMesh > | distribute (volScalarField &cellWeights) |
Redistribute the background mesh based on a supplied weight field,. More... | |
template<typename PointType > | |
autoPtr< mapDistribute > | distributePoints (List< PointType > &points) const |
Distribute supplied the points to the appropriate processor. More... | |
bool | positionOnThisProcessor (const point &pt) const |
Is the given position inside the domain of this decomposition. More... | |
boolList | positionOnThisProcessor (const List< point > &pts) const |
Are the given positions inside the domain of this decomposition. More... | |
bool | overlapsThisProcessor (const treeBoundBox &box) const |
Does the given box overlap the faces of the boundary of this. More... | |
bool | overlapsThisProcessor (const point ¢re, const scalar radiusSqr) const |
Does the given sphere overlap the faces of the boundary of this. More... | |
pointIndexHit | findLine (const point &start, const point &end) const |
Find nearest intersection of line between start and end, (exposing. More... | |
pointIndexHit | findLineAny (const point &start, const point &end) const |
Find any intersection of line between start and end, (exposing. More... | |
template<typename PointType > | |
labelList | processorPosition (const List< PointType > &pts) const |
What processor is the given position on? More... | |
labelList | processorNearestPosition (const List< point > &pts) const |
What is the nearest processor to the given position? More... | |
List< List< pointIndexHit > > | intersectsProcessors (const List< point > &starts, const List< point > &ends, bool includeOwnProcessor=false) const |
Which processors are intersected by the line segment, returns all. More... | |
bool | overlapsOtherProcessors (const point ¢re, const scalar &radiusSqr) const |
labelList | overlapProcessors (const point ¢re, const scalar radiusSqr) const |
const fvMesh & | mesh () const |
Return access to the underlying mesh. More... | |
const indexedOctree< treeDataBPatch > & | tree () const |
Return access to the underlying tree. More... | |
const treeBoundBox & | procBounds () const |
Return the boundBox of this processor. More... | |
const labelList & | cellLevel () const |
Return the cell level of the underlying mesh. More... | |
const labelList & | pointLevel () const |
Return the point level of the underlying mesh. More... | |
Static Public Member Functions | |
static autoPtr< mapDistribute > | buildMap (const List< label > &toProc) |
Build a mapDistribute for the supplied destination processor data. More... | |
Private Member Functions | |
void | initialRefinement () |
void | printMeshData (const polyMesh &mesh) const |
Print details of the decomposed mesh. More... | |
bool | refineCell (label cellI, volumeType volType, scalar &weightEstimate) const |
Estimate the number of vertices that will be in this cell, returns. More... | |
labelList | selectRefinementCells (List< volumeType > &volumeStatus, volScalarField &cellWeights) const |
Select cells for refinement at the surface of the geometry to be. More... | |
void | buildPatchAndTree () |
Build the surface patch and search tree. More... | |
backgroundMeshDecomposition (const backgroundMeshDecomposition &) | |
Disallow default bitwise copy construct. More... | |
void | operator= (const backgroundMeshDecomposition &) |
Disallow default bitwise assignment. More... | |
Private Attributes | |
const Time & | runTime_ |
Method details dictionary. More... | |
const conformationSurfaces & | geometryToConformTo_ |
Reference to surface. More... | |
Random & | rndGen_ |
Random number generator. More... | |
fvMesh | mesh_ |
Mesh stored on for this processor, specifiying the domain that it. More... | |
hexRef8 | meshCutter_ |
Refinement object. More... | |
autoPtr< bPatch > | boundaryFacesPtr_ |
Patch containing an independent representation of the surface of the. More... | |
autoPtr< indexedOctree< treeDataBPatch > > | bFTreePtr_ |
Search tree for the boundaryFaces_ patch. More... | |
treeBoundBoxList | allBackgroundMeshBounds_ |
The bounds of all background meshes on all processors. More... | |
treeBoundBox | globalBackgroundBounds_ |
The overall bounds of all of the background meshes, used to test if. More... | |
scalar | mergeDist_ |
merge distance required by fvMeshDistribute More... | |
scalar | spanScale_ |
Scale of a cell span vs cell size used to decide to refine a cell. More... | |
scalar | minCellSizeLimit_ |
Smallest minimum cell size allowed, i.e. to avoid high initial. More... | |
label | minLevels_ |
Minimum normal level of refinement. More... | |
label | volRes_ |
How fine should the initial sample of the volume a box be to. More... | |
scalar | maxCellWeightCoeff_ |
Allowed factor above the average cell weight before a background. More... | |
Store a background polyMesh to use for the decomposition of space and queries for parallel conformalVoronoiMesh.
Definition at line 92 of file backgroundMeshDecomposition.H.
|
private |
Disallow default bitwise copy construct.
backgroundMeshDecomposition | ( | const Time & | runTime, |
Random & | rndGen, | ||
const conformationSurfaces & | geometryToConformTo, | ||
const dictionary & | coeffsDict, | ||
const fileName & | decompDictFile = "" |
||
) |
Construct from components in foamyHexMesh operation.
Destructor.
|
private |
|
private |
Print details of the decomposed mesh.
|
private |
Estimate the number of vertices that will be in this cell, returns.
true if the cell is to be split because of the density ratio inside it
|
private |
Select cells for refinement at the surface of the geometry to be.
meshed
|
private |
Build the surface patch and search tree.
|
private |
Disallow default bitwise assignment.
ClassName | ( | "backgroundMeshDecomposition" | ) |
Runtime type information.
|
static |
Build a mapDistribute for the supplied destination processor data.
autoPtr<mapDistributePolyMesh> distribute | ( | volScalarField & | cellWeights | ) |
Redistribute the background mesh based on a supplied weight field,.
returning a map to use to redistribute vertices.
autoPtr<mapDistribute> distributePoints | ( | List< PointType > & | points | ) | const |
Distribute supplied the points to the appropriate processor.
bool positionOnThisProcessor | ( | const point & | pt | ) | const |
Is the given position inside the domain of this decomposition.
Are the given positions inside the domain of this decomposition.
bool overlapsThisProcessor | ( | const treeBoundBox & | box | ) | const |
Does the given box overlap the faces of the boundary of this.
processor
bool overlapsThisProcessor | ( | const point & | centre, |
const scalar | radiusSqr | ||
) | const |
Does the given sphere overlap the faces of the boundary of this.
processor
pointIndexHit findLine | ( | const point & | start, |
const point & | end | ||
) | const |
Find nearest intersection of line between start and end, (exposing.
underlying indexedOctree)
pointIndexHit findLineAny | ( | const point & | start, |
const point & | end | ||
) | const |
Find any intersection of line between start and end, (exposing.
underlying indexedOctree)
What processor is the given position on?
What is the nearest processor to the given position?
List<List<pointIndexHit> > intersectsProcessors | ( | const List< point > & | starts, |
const List< point > & | ends, | ||
bool | includeOwnProcessor = false |
||
) | const |
Which processors are intersected by the line segment, returns all.
processors whose boundary patch is intersected by the sphere. By default this does not return the processor that the query is launched from, it is assumed that the point is on that processor. The index data member of the pointIndexHit is replaced with the processor index.
bool overlapsOtherProcessors | ( | const point & | centre, |
const scalar & | radiusSqr | ||
) | const |
|
inline |
Return access to the underlying mesh.
Definition at line 28 of file backgroundMeshDecompositionI.H.
References backgroundMeshDecomposition::mesh_.
|
inline |
Return access to the underlying tree.
Definition at line 35 of file backgroundMeshDecompositionI.H.
|
inline |
Return the boundBox of this processor.
Definition at line 42 of file backgroundMeshDecompositionI.H.
References UPstream::myProcNo().
|
inline |
Return the cell level of the underlying mesh.
Definition at line 48 of file backgroundMeshDecompositionI.H.
|
inline |
Return the point level of the underlying mesh.
Definition at line 54 of file backgroundMeshDecompositionI.H.
|
private |
Method details dictionary.
dictionary coeffsDict_; Reference to runtime
Definition at line 100 of file backgroundMeshDecomposition.H.
|
private |
Reference to surface.
Definition at line 103 of file backgroundMeshDecomposition.H.
|
private |
Random number generator.
Definition at line 106 of file backgroundMeshDecomposition.H.
|
private |
Mesh stored on for this processor, specifiying the domain that it.
is responsible for.
Definition at line 110 of file backgroundMeshDecomposition.H.
Referenced by backgroundMeshDecomposition::mesh().
|
private |
Refinement object.
Definition at line 113 of file backgroundMeshDecomposition.H.
Patch containing an independent representation of the surface of the.
mesh of this processor
Definition at line 117 of file backgroundMeshDecomposition.H.
|
private |
Search tree for the boundaryFaces_ patch.
Definition at line 120 of file backgroundMeshDecomposition.H.
|
private |
The bounds of all background meshes on all processors.
Definition at line 123 of file backgroundMeshDecomposition.H.
|
private |
The overall bounds of all of the background meshes, used to test if.
a point that is not found on any processor is in the domain at all
Definition at line 127 of file backgroundMeshDecomposition.H.
|
private |
merge distance required by fvMeshDistribute
Definition at line 130 of file backgroundMeshDecomposition.H.
|
private |
Scale of a cell span vs cell size used to decide to refine a cell.
Definition at line 133 of file backgroundMeshDecomposition.H.
|
private |
Smallest minimum cell size allowed, i.e. to avoid high initial.
refinement of areas of small size
Definition at line 137 of file backgroundMeshDecomposition.H.
|
private |
Minimum normal level of refinement.
Definition at line 140 of file backgroundMeshDecomposition.H.
|
private |
How fine should the initial sample of the volume a box be to.
investigate the local cell size
Definition at line 144 of file backgroundMeshDecomposition.H.
|
private |
Allowed factor above the average cell weight before a background.
cell needs to be split
Definition at line 148 of file backgroundMeshDecomposition.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.