62 <<
" Unknown patch name " 77 bndFaces[i] = pp.
start() + i;
82 overallBb = overallBb.extend(rndGen, 1
e-4);
83 overallBb.min() -=
point(ROOTVSMALL, ROOTVSMALL, ROOTVSMALL);
84 overallBb.max() +=
point(ROOTVSMALL, ROOTVSMALL, ROOTVSMALL);
101 forAll(probeLocations(), probei)
103 const point sample = probeLocations()[probei];
105 scalar span = boundaryTree.
bb().
mag();
115 info = boundaryTree.findNearest
126 if (isA<emptyPolyPatch>(bm[patchi]))
129 <<
" The sample point: " << sample
130 <<
" belongs to " << patchi
131 <<
" which is an empty patch. This is not permitted. " 132 <<
" This sample will not be included " 151 nearest[probei]= sampleInfo;
166 label proci = nearest[sampleI].second().second();
167 label localI = nearest[sampleI].
first().index();
169 Info<<
" " << sampleI <<
" coord:"<< operator[](sampleI)
170 <<
" found on processor:" << proci
171 <<
" in local cell/face:" << localI
172 <<
" with fc:" << nearest[sampleI].
first().rawPoint() <<
endl;
178 elementList_.setSize(nearest.
size(), -1);
185 elementList_[sampleI] = nearest[sampleI].
first().index();
193 Foam::patchProbes::patchProbes
206 elementList_.
clear();
213 Foam::patchProbes::patchProbes
218 const bool loadFromFiles
227 elementList_.
clear();
242 if (this->size() && prepare())
244 sampleAndWrite(scalarFields_);
245 sampleAndWrite(vectorFields_);
246 sampleAndWrite(sphericalTensorFields_);
247 sampleAndWrite(symmTensorFields_);
248 sampleAndWrite(tensorFields_);
250 sampleAndWriteSurfaceFields(surfaceScalarFields_);
251 sampleAndWriteSurfaceFields(surfaceVectorFields_);
252 sampleAndWriteSurfaceFields(surfaceSphericalTensorFields_);
253 sampleAndWriteSurfaceFields(surfaceSymmTensorFields_);
254 sampleAndWriteSurfaceFields(surfaceTensorFields_);
263 dict.
lookup(
"patchName") >> patchName_;
cachedRandom rndGen(label(0),-1)
static void listCombineScatter(const List< commsStruct > &comms, List< T > &Value, const int tag, const label comm)
Scatter data. Reverse of combineGather.
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
errorManipArg< error, int > exit(error &err, const int errNo=1)
const Type1 & first() const
Return first.
const double e
Elementary charge.
A list of keyword definitions, which are a keyword followed by any number of values (e...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
A 2-tuple for storing two objects of different types.
Encapsulation of data needed to search for faces.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
bool hit() const
Is there a hit.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
virtual ~patchProbes()
Destructor.
void size(const label)
Override size to be inconsistent with allocated storage.
static int myProcNo(const label communicator=0)
Number of this process (starting from masterNo() = 0)
Set of locations to sample.
virtual bool read(const dictionary &)
Read.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const Field< PointType > & points() const
Return reference to global points.
This class describes the interaction of (usually) a face and a point. It carries the info of a succes...
PointIndexHit< point > pointIndexHit
const vectorField & faceCentres() const
T & first()
Return the first element of the list.
static void listCombineGather(const List< commsStruct > &comms, List< T > &Value, const CombineOp &cop, const int tag, const label comm)
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
Macros for easy insertion into run-time selection tables.
scalar mag() const
The magnitude of the bounding box span.
bool read(const char *, int32_t &)
label start() const
Return start label of this patch in the polyMesh face list.
void clear()
Clear the list, i.e. set size to zero.
A class for handling words, derived from string.
Simple random number generator.
dimensioned< scalar > magSqr(const dimensioned< Type > &)
Istream and Ostream manipulators taking arguments.
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
const treeBoundBox & bb() const
Top bounding box.
defineTypeNameAndDebug(combustionModel, 0)
const labelList & tetBasePtIs() const
Return the tetBasePtIs.
const Type2 & second() const
Return second.
virtual void findElements(const fvMesh &)
Find elements containing patchProbes.
vector point
Point is a vector.
Non-pointer based hierarchical recursive searching.
#define WarningInFunction
Report a warning using Foam::Warning.
const Type & shapes() const
Reference to shape.
label whichPatch(const label faceIndex) const
Return patch index for a given face label.
Mesh data needed to do the Finite Volume discretisation.
label index() const
Return index.
virtual bool write()
Public members.
virtual bool read(const dictionary &)
Read the probes.
Standard boundBox + extra functionality for use in octree.
Registry of regIOobjects.
A patch is a list of labels that address the faces in the global face list.
label findPatchID(const word &patchName) const
Find patch index given a name.
const labelList & faceLabels() const
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
#define InfoInFunction
Report an information message using Foam::Info.