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,
594 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.
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.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
An enumeration wrapper for classification of a location as being inside/outside of a volume.
Representation of a major/minor version number.
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.
scalarField samples(nIntervals, Zero)
virtual fileName filePath() const
Return complete path + object name if the file exists.
streamFormat
Data format (ascii | binary)
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 bool writeObject(IOstream::streamFormat fmt, IOstream::versionNumber ver, IOstream::compressionType cmp, const bool valid) const
Write using given format, version and compression.
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...
label ListType::const_reference const label start
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.
compressionType
Compression treatment (UNCOMPRESSED | COMPRESSED)
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.
const iterator & end()
iterator to signal the end for any HashTable
localIOdictionary is derived from IOdictionary but excludes parallel master reading.