Go to the documentation of this file.
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
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A class for handling file names.
Standard boundBox with extra functionality for use in octree.
List< List< pointIndexHit > > intersectsProcessors(const List< point > &starts, const List< point > &ends, bool includeOwnProcessor=false) const
Mesh consisting of general polyhedral cells.
pointIndexHit findLineAny(const point &start, const point &end) const
This class describes the interaction of (usually) a face and a point. It carries the info of a succes...
An enumeration wrapper for classification of a location as being inside/outside of a volume.
Generic templated field type.
const fvMesh & mesh() const
~backgroundMeshDecomposition()=default
Non-pointer based hierarchical recursive searching.
bool overlapsOtherProcessors(const point ¢re, const scalar &radiusSqr) const
ClassName("backgroundMeshDecomposition")
labelList processorNearestPosition(const List< point > &pts) const
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
constexpr auto end(C &c) -> decltype(c.end())
static autoPtr< mapDistribute > buildMap(const List< label > &toProc)
Mesh data needed to do the Finite Volume discretisation.
labelList processorPosition(const List< PointType > &pts) const
labelList overlapProcessors(const point ¢re, const scalar radiusSqr) const
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Container with cells to refine. Refinement given as single direction.
PrimitivePatch<::Foam::List< face >, const pointField > bPatch
Refinement of (split) hexes using polyTopoChange.
pointIndexHit findLine(const point &start, const point &end) const
treeDataPrimitivePatch< bPatch > treeDataBPatch
const treeBoundBox & procBounds() const
Encapsulation of data needed to search on PrimitivePatches.
const indexedOctree< treeDataBPatch > & tree() const
Store a background polyMesh to use for the decomposition of space and queries for parallel conformalV...
const labelList & pointLevel() const
autoPtr< mapDistributePolyMesh > distribute(volScalarField &cellWeights)
autoPtr< mapDistribute > distributePoints(List< PointType > &points) const
Generic GeometricField class.
const labelList & cellLevel() const
CGAL data structures used for 3D Delaunay meshing.
bool overlapsThisProcessor(const treeBoundBox &box) const
A list of faces which address into the list of points.
bool positionOnThisProcessor(const point &pt) const