Go to the documentation of this file.
63 str <<
"l " << vertI-1 <<
' ' << vertI <<
nl;
65 string cmd(
"objToVTK " + fName +
" " + fName.
lessExt() +
".vtk");
82 mesh_.nFaces() - mesh_.nInternalFaces()
89 const label patchI = iter.key();
95 if (includeAllFacesPerPatch[patchI].size() > 0)
100 includeAllFacesPerPatch[patchI],
104 const label patchFaceI = iter1.key();
106 const face&
f = patch[patchFaceI];
112 f.triangles(
points, nTri, triFaces);
114 forAll(triFaces, triFaceI)
116 const face&
f = triFaces[triFaceI];
132 triSurface rawSurface(triangles, mesh_.points());
142 surface.patches().setSize(newPatchI);
148 const label patchI = iter.key();
151 if (includeAllFacesPerPatch[patchI].size() > 0)
154 surface.patches()[newPatchI].geometricType() = patch.type();
181 if (!pp.
coupled() && !isA<cyclicAMIPolyPatch>(pp))
191 if (((
direction_ & nf) > 0) && (t[faceI] == 0.0))
201 label numberPotentialHits = nFaces;
205 Info<<
"Number of 'potential' direct hits : "
206 << numberPotentialHits <<
endl;
239 dict.add(
"mergeDistance", SMALL);
247 if (!pp.
coupled() && !isA<cyclicAMIPolyPatch>(pp))
249 includePatches.
insert(patchI);
257 if (tau[faceI] == 0.0)
259 includeAllFacesPerPatch[patchI].insert
273 includeAllFacesPerPatch
313 for (; i < Cfs.size(); i++)
315 const point& fc = Cfs[i];
317 const label myFaceId = hitFacesIds[i];
321 start.
append(fc - SMALL*d);
323 startIndex.
append(myFaceId);
339 if (!hitInfo[rayI].hit())
341 rayStartFace.
append(startIndex[rayI]);
399 Info<<
"Total number of hit faces : " << totalHitFaces <<
endl;
414 rayStartFaces_(hitFaceList)
void clear()
Clear the addressed list, i.e. set the size to zero.
const triSurface localSurface
Simple random number generator.
virtual const pointField & points() const
Return raw points.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
~faceShading()
Destructor.
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
const Field< PointType > & points() const
Return reference to global points.
faceShading(const faceShading &)
Disallow default bitwise copy construct.
A class for handling file names.
const point & max() const
Maximum describing the bounding box.
T returnReduce(const T &Value, const BinaryOp &bop, const int tag=Pstream::msgType(), const label comm=UPstream::worldComm)
#define forAll(list, i)
Loop across all elements in list.
void writeOBJ(Ostream &os, label &vertI, const tetPoints &tet)
A class for managing temporary objects.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
const Field< PointType > & localPoints() const
Return pointField of points in patch.
distributedTriSurfaceMesh surfacesMesh(IOobject("wallSurface.stl", runTime.constant(), "triSurface", runTime, IOobject::NO_READ, IOobject::NO_WRITE), localSurface, dict)
Standard boundBox + extra functionality for use in octree.
virtual bool coupled() const
Return true if this patch is geometrically coupled (i.e. faces and.
static const NamedEnum< distributionType, 3 > distributionTypeNames_
labelList rayStartFaces_
Faces directly hit by vector direction.
void transfer(List< T > &)
Transfer the contents of the argument List into this list.
GeometricBoundaryField & boundaryField()
Return reference to GeometricBoundaryField.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
Ostream & endl(Ostream &os)
Add newline and flush stream.
fileName lessExt() const
Return file name without extension (part before last .)
dimensioned< scalar > mag(const dimensioned< Type > &)
List< treeBoundBox > meshBb(1, treeBoundBox(boundBox(coarseMesh.points(), false)).extend(rndGen, 1e-3))
static const boundaryRadiationProperties & New(const fvMesh &mesh)
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
tmp< scalarField > transmissivity(const label patchId, const label bandI=0) const
Access boundary transmissivity on patch.
vector direction_
Direction.
void reduce(const List< UPstream::commsStruct > &comms, T &Value, const BinaryOp &bop, const int tag, const label comm)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
Triangulated surface description with patch information.
const fvMesh & mesh_
Reference to mesh.
treeBoundBox extend(Random &, const scalar s) const
Return slightly wider bounding box.
A patch is a list of labels that address the faces in the global face list.
void clear()
Clear the addressed list, i.e. set the size to zero.
DynamicField< T, SizeInc, SizeMult, SizeDiv > & append(const T &)
Append an element at the end of the list.
DynamicList< T, SizeInc, SizeMult, SizeDiv > & shrink()
Shrink the allocated space to the number of elements used.
const point & min() const
Minimum describing the bounding box.
triSurface triangulate(const labelHashSet &includePatches, const List< labelHashSet > &includeAllFaces)
Construct a triSurface from patches and faces on global local index.
A list of keyword definitions, which are a keyword followed by any number of values (e....
labelList triSurfaceToAgglom(5 *nFineFaces)
Generic dimensioned Type class.
const word & name() const
Return the name.
Mesh data needed to do the Finite Volume discretisation.
const double e
Elementary charge.
label start() const
Return start label of this patch in the polyMesh face list.
DynamicList< T, SizeInc, SizeMult, SizeDiv > & append(const T &)
Append an element at the end of the list.
const boundBox & bounds() const
Return mesh bounding box.
void calculate()
Calculate ray start faces.
void writeRays(const fileName &fName, const DynamicField< point > &endCf, const pointField &myFc)
Write rays.
fileName path() const
Return path.
const vectorField::subField faceCentres() const
Return face centres.
prefixOSstream Pout(cout, "Pout")
const Field< PointType > & faceNormals() const
Return face normals for patch.
static word timeName(const scalar, const int precision=precision_)
Return time name of given scalar time.
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...
const word & constant() const
Return constant name.
void correct()
Recalculate rayStartFaces using direction vector.
bool insert(const Key &key)
Insert a new entry.
Triangle with additional region number.
A bounding box defined in terms of the points at its extremities.
const Time & time() const
Return the top-level database.
const List< Face > & localFaces() const
Return patch faces addressing into local point list.
A face is a list of labels corresponding to mesh vertices.
const fileName & name() const
Return the name of the stream.
void size(const label)
Override size to be inconsistent with allocated storage.
Generic GeometricField class.
defineTypeNameAndDebug(combustionModel, 0)
const word & name() const
Return name.
int system(const std::string &command)
Execute the specified command.
cachedRandom rndGen(label(0), -1)
A list of faces which address into the list of points.