Go to the documentation of this file.
60 #ifndef distributedTriSurfaceMesh_H
61 #define distributedTriSurfaceMesh_H
170 void distributeSegment
195 const bool nearestIntersection,
232 const scalar radiusSqr,
238 label calcOverlappingProcs
241 const scalar radiusSqr,
248 const bool includeLocalProcessor,
264 const point& nearestPoint,
273 const label nearFacei,
274 const label nearLabel
316 static void calcFaceFaces
339 static void subsetMeshMap
343 const label nIncluded,
376 static label findTriangle
386 const scalar mergeDist,
412 TypeName(
"distributedTriSurfaceMesh");
475 virtual void findLine
533 const bool keepNonLocal,
592 virtual bool global()
const
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const labelListList & pointFaces() const
Return point-face addressing.
static const Enum< distributionType > distributionTypeNames_
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
fileName localFilePath(const word &typeName, const bool search=true) const
Helper for filePath that searches locally.
A class for handling words, derived from Foam::string.
A class for handling file names.
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
iterator end() noexcept
iterator to signal the end (for any HashTable)
void clearOut()
Clear storage.
IOoject and searching on triSurface.
virtual void findLineAll(const pointField &start, const pointField &end, List< List< pointIndexHit >> &) const
Get all intersections in order from start to end.
void writeStats(Ostream &os) const
Print some stats. Parallel aware version of.
virtual bool global() const
Is object global.
InfoProxy< IOobject > info() const
Return info proxy.
static void overlappingSurface(const triSurface &, const List< treeBoundBox > &, boolList &includedFace)
Calculate the triangles that are overlapping bounds.
virtual void getRegion(const List< pointIndexHit > &, labelList ®ion) const
From a set of points and indices get the region.
virtual void findNearest(const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &) const
bool typeGlobal< distributedTriSurfaceMesh >()
Template function for obtaining global status.
const globalIndex & globalTris() const
Triangle indexing (demand driven)
virtual autoPtr< mapDistribute > localQueries(const List< pointIndexHit > &, labelList &triangleIndex) const
Obtains global indices from pointIndexHit and swaps them back.
virtual void getField(const List< pointIndexHit > &, labelList &) const
WIP. From a set of hits (points and.
An enumeration wrapper for classification of a location as being inside/outside of a volume.
Triangulated surface description with patch information.
Class containing processor-to-processor mapping information.
virtual void getVolumeType(const pointField &, List< volumeType > &) const
Determine type (inside/outside/mixed) for point. unknown if.
The IOstreamOption is a simple container for options an IOstream can normally have.
scalarField samples(nIntervals, Zero)
virtual fileName filePath() const
Return complete path + object name if the file exists.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Abstract base class for domain decomposition.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
TypeName("distributedTriSurfaceMesh")
Runtime type information.
virtual void getNormal(const List< pointIndexHit > &, vectorField &normal) const
From a set of points and indices get the normal.
virtual void distribute(const List< treeBoundBox > &, const bool keepNonLocal, autoPtr< mapDistribute > &faceMap, autoPtr< mapDistribute > &pointMap)
Set bounds of surface. Bounds currently set as list of.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
virtual ~distributedTriSurfaceMesh()
Destructor.
An ordered pair of two objects of type <T> with first() and second() elements.
label size() const
Global sum of localSizes.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
IOoject and searching on distributed triSurface. All processor hold (possibly overlapping) part of th...
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
Triangle with additional region number.
virtual void findLineAny(const pointField &start, const pointField &end, List< pointIndexHit > &) const
Return any intersection on segment from start to end.
virtual label globalSize() const
Range of global indices that can be returned.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
const volScalarField & p0
A 2-tuple for storing two objects of dissimilar types. The container is similar in purpose to std::pa...
const labelListList & faceFaces() const
Return face-face addressing.
virtual bool writeObject(IOstreamOption streamOpt, const bool valid) const
Write using stream options.
localIOdictionary is derived from IOdictionary but excludes parallel master reading.