55#ifndef backgroundMeshDecomposition_H
56#define backgroundMeshDecomposition_H
103 const Time& runTime_;
140 scalar minCellSizeLimit_;
151 scalar maxCellWeightCoeff_;
156 void initialRefinement();
168 scalar& weightEstimate
180 void buildPatchAndTree();
195 ClassName(
"backgroundMeshDecomposition");
228 template<
class Po
intType>
246 const scalar radiusSqr
266 template<
class Po
intType>
282 bool includeOwnProcessor =
false
288 const scalar& radiusSqr
294 const scalar radiusSqr
CGAL data structures used for 3D Delaunay meshing.
This class describes the interaction of (usually) a face and a point. It carries the info of a succes...
A list of faces which address into the list of points.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Store a background polyMesh to use for the decomposition of space and queries for parallel conformalV...
ClassName("backgroundMeshDecomposition")
Runtime type information.
backgroundMeshDecomposition(const Time &runTime, Random &rndGen, const conformationSurfaces &geometryToConformTo, const dictionary &coeffsDict, const fileName &decompDictFile="")
Construct from components in foamyHexMesh operation.
labelList processorNearestPosition(const List< point > &pts) const
What is the nearest processor to the given position?
pointIndexHit findLineAny(const point &start, const point &end) const
Find any intersection of line between start and end, (exposing.
bool overlapsThisProcessor(const treeBoundBox &box) const
Does the given box overlap the faces of the boundary of this.
bool positionOnThisProcessor(const point &pt) const
Is the given position inside the domain of this decomposition.
const treeBoundBox & procBounds() const
Return the boundBox of this processor.
labelList processorPosition(const List< PointType > &pts) const
What processor is the given position on?
autoPtr< mapDistributePolyMesh > distribute(volScalarField &cellWeights)
Redistribute the background mesh based on a supplied weight field,.
boolList positionOnThisProcessor(const List< point > &pts) const
Are the given positions inside the domain of this decomposition.
static autoPtr< mapDistribute > buildMap(const List< label > &toProc)
Build a mapDistribute for the supplied destination processor data.
autoPtr< mapDistribute > distributePoints(List< PointType > &points) const
Distribute supplied the points to the appropriate processor.
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.
~backgroundMeshDecomposition()=default
Destructor.
const labelList & cellLevel() const
Return the cell level of the underlying mesh.
const fvMesh & mesh() const
Return access to the underlying mesh.
const indexedOctree< treeDataBPatch > & tree() const
Return access to the underlying tree.
const labelList & pointLevel() const
Return the point level of the underlying mesh.
pointIndexHit findLine(const point &start, const point &end) const
Find nearest intersection of line between start and end, (exposing.
bool overlapsOtherProcessors(const point ¢re, const scalar &radiusSqr) const
labelList overlapProcessors(const point ¢re, const scalar radiusSqr) const
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A class for handling file names.
Mesh data needed to do the Finite Volume discretisation.
Refinement of (split) hexes using polyTopoChange.
Non-pointer based hierarchical recursive searching.
Mesh consisting of general polyhedral cells.
Container with cells to refine. Refinement given as single direction.
Standard boundBox with extra functionality for use in octree.
Encapsulation of data needed to search on PrimitivePatches.
An enumeration wrapper for classification of a location as being inside/outside of a volume.
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
treeDataPrimitivePatch< bPatch > treeDataBPatch
PrimitivePatch<::Foam::List< face >, const pointField > bPatch