53 #ifndef backgroundMeshDecomposition_H 54 #define backgroundMeshDecomposition_H 101 const Time& runTime_;
141 scalar minCellSizeLimit_;
152 scalar maxCellWeightCoeff_;
157 void initialRefinement();
169 scalar& weightEstimate
181 void buildPatchAndTree();
187 ClassName(
"backgroundMeshDecomposition");
225 template<
class Po
intType>
243 const scalar radiusSqr
263 template<
class Po
intType>
279 bool includeOwnProcessor =
false 285 const scalar& radiusSqr
291 const scalar radiusSqr
bool positionOnThisProcessor(const point &pt) const
Is the given position inside the domain of this decomposition.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const fvMesh & mesh() const
Return access to the underlying mesh.
A list of keyword definitions, which are a keyword followed by any number of values (e...
const indexedOctree< treeDataBPatch > & tree() const
Return access to the underlying tree.
void operator=(const backgroundMeshDecomposition &)=delete
Disallow default bitwise assignment.
ClassName("backgroundMeshDecomposition")
Runtime type information.
This class describes the interaction of (usually) a face and a point. It carries the info of a succes...
labelList overlapProcessors(const point ¢re, const scalar radiusSqr) const
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
static autoPtr< mapDistribute > buildMap(const List< label > &toProc)
Build a mapDistribute for the supplied destination processor data.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
treeDataPrimitivePatch< bPatch > treeDataBPatch
A list of faces which address into the list of points.
labelList processorNearestPosition(const List< point > &pts) const
What is the nearest processor to the given position?
bool overlapsOtherProcessors(const point ¢re, const scalar &radiusSqr) const
Refinement of (split) hexes using polyTopoChange.
pointIndexHit findLine(const point &start, const point &end) const
Find nearest intersection of line between start and end, (exposing.
Encapsulation of data needed to search on PrimitivePatches.
const decompositionMethod & decomposer() const
Return the current decomposition method.
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.
Abstract base class for decomposition.
const labelList & cellLevel() const
Return the cell level of the underlying mesh.
autoPtr< mapDistribute > distributePoints(List< PointType > &points) const
Distribute supplied the points to the appropriate processor.
Container with cells to refine. Refinement given as single direction.
pointIndexHit findLineAny(const point &start, const point &end) const
Find any intersection of line between start and end, (exposing.
labelList processorPosition(const List< PointType > &pts) const
What processor is the given position on?
const labelList & pointLevel() const
Return the point level of the underlying mesh.
Non-pointer based hierarchical recursive searching.
Mesh data needed to do the Finite Volume discretisation.
Standard boundBox + extra functionality for use in octree.
PrimitivePatch< faceList, const pointField > bPatch
Store a background polyMesh to use for the decomposition of space and queries for parallel conformalV...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
autoPtr< mapDistributePolyMesh > distribute(volScalarField &cellWeights)
Redistribute the background mesh based on a supplied weight field,.
Mesh consisting of general polyhedral cells.
CGAL data structures used for 3D Delaunay meshing.
backgroundMeshDecomposition(const Time &runTime, Random &rndGen, const conformationSurfaces &geometryToConformTo, const dictionary &coeffsDict)
Construct from components in foamyHexMesh operation.
const treeBoundBox & procBounds() const
Return the boundBox of this processor.
~backgroundMeshDecomposition()
Destructor.
bool overlapsThisProcessor(const treeBoundBox &box) const
Does the given box overlap the faces of the boundary of this.