Base class for ray search engines. More...


Public Member Functions | |
| TypeName ("raySearchEngine") | |
| Run-time type information. More... | |
| declareRunTimeSelectionTable (autoPtr, raySearchEngine, mesh,(const fvMesh &mesh, const dictionary &dict),(mesh, dict)) | |
| Selection table. More... | |
| raySearchEngine (const raySearchEngine &)=delete | |
| No copy construct. More... | |
| void | operator= (const raySearchEngine &)=delete |
| No copy assignment. More... | |
| raySearchEngine (const fvMesh &mesh, const dictionary &dict) | |
| Constructor. More... | |
| virtual | ~raySearchEngine ()=default |
| Destructor. More... | |
| const fvMesh & | mesh () const noexcept |
| Reference to the mesh. More... | |
| const mapDistribute & | map () const |
| Parallel map. More... | |
| const labelList & | compactToGlobal () const noexcept |
| Compact to global addressing. More... | |
| const globalIndex & | globalNumbering () const noexcept |
| Global numbering. More... | |
| const labelList & | patchIDs () const noexcept |
| List of participating patch IDs. More... | |
| const scalarList & | patchAreas () const noexcept |
| Patch areas. More... | |
| label | nParticipatingFaces () const |
| Number of participating faces. More... | |
| const List< pointField > & | allCf () const noexcept |
| List of all face centres per processor. More... | |
| const List< vectorField > & | allSf () const noexcept |
| List of all face areas per processor. More... | |
| const List< labelField > & | allAgg () const noexcept |
| List of all face agglomeration index per processor. More... | |
| virtual void | shootRays (labelList &rayStartFaceOut, labelList &rayEndFaceOut) const =0 |
| Shoot rays; returns lists of ray start and end faces. More... | |
| virtual void | correct (labelListList &visibleFaceFaces) const |
| Correct. More... | |
| void | compactAddressing (const mapDistribute &map, pointField &compactCf, vectorField &compactSf, List< List< vector >> &compactFineSf, List< List< point >> &compactFineCf, DynamicList< List< point >> &compactPoints, DynamicList< label > &compactPatchId) const |
| Create compact addressing. More... | |
| template<class Type > | |
| void | interpolate (GeometricField< Type, fvPatchField, volMesh > &fld, const List< List< Type >> &values) const |
| Interpolate field. More... | |
Static Public Member Functions | |
| static autoPtr< raySearchEngine > | New (const fvMesh &mesh, const dictionary &dict) |
| Selector. More... | |
Static Public Attributes | |
| static const label | maxDynListLength |
Protected Member Functions | |
| void | createGeometry () |
| Create patch geometry based on the original mesh. More... | |
| void | createParallelAddressing (labelList &rayEndFace) const |
| Create parallel addressing - map, compact-to-global. More... | |
| coordSystem::cartesian | createCoordSystem (const point &origin, const vector &dir) const |
| Create Cartesian co-ordinate system. More... | |
| void | createAgglomeration (const IOobject &io) |
| Create patch geometry based on the agglomerated mesh. More... | |
| tmp< pointField > | createHemiPoints (const label nRayPerFace) const |
| Create a set of points describing a hemisphere. More... | |
Static Protected Member Functions | |
| static void | check (const labelList &nVisibleFaceFaces) |
| static label | closestPointIndex (const point &p0, const List< point > &pts) |
Protected Attributes | |
| const fvMesh & | mesh_ |
| Reference to the mesh. More... | |
| autoPtr< mapDistribute > | mapPtr_ |
| Parallel map. More... | |
| labelList | compactToGlobal_ |
| Compact to global addressing. More... | |
| globalIndex | globalNumbering_ |
| Global numbering. More... | |
| const word | patchGroup_ |
| Name of patch group to identify participating patches. More... | |
| labelList | patchIDs_ |
| List of participating patch IDs. More... | |
| scalarList | patchAreas_ |
| Patch areas. More... | |
| bool | agglomerate_ |
| Agglomeration flag. More... | |
| autoPtr< singleCellFvMesh > | agglomMeshPtr_ |
| Agglomerated mesh representation. More... | |
| label | nFace_ |
| Number of original faces. More... | |
| label | nCoarseFace_ |
| Number of coarse faces. More... | |
| List< pointField > | allCf_ |
| List of all face centres per processor. More... | |
| List< vectorField > | allSf_ |
| List of all face areas per processor. More... | |
| List< labelField > | allAgg_ |
| List of all face agglomeration index per processor. More... | |
Base class for ray search engines.
Participating patches must be in the viewFactorWall group, i.e. using the inGroups entry of the "\<case\>/polyMesh/boundary" file.
myPatch
{
type wall;
inGroups 2(wall viewFactorWall);
...
}
Face agglomeration can be employed, created using the faceAgglomerate utility. The file name to be read can be user-defined:
// Name of agglomeration file; default = finalAgglom agglom finalAgglom;
Definition at line 72 of file raySearchEngine.H.
|
delete |
No copy construct.
| raySearchEngine | ( | const fvMesh & | mesh, |
| const dictionary & | dict | ||
| ) |
Constructor.
|
virtualdefault |
Destructor.
|
staticprotected |
|
protected |
Create patch geometry based on the original mesh.
|
protected |
Create parallel addressing - map, compact-to-global.
|
protected |
Create Cartesian co-ordinate system.
|
protected |
Create patch geometry based on the agglomerated mesh.
|
protected |
Create a set of points describing a hemisphere.
Note: origin is (0 0 0)
| TypeName | ( | "raySearchEngine" | ) |
Run-time type information.
| declareRunTimeSelectionTable | ( | autoPtr | , |
| raySearchEngine | , | ||
| mesh | , | ||
| (const fvMesh &mesh, const dictionary &dict) | , | ||
| (mesh, dict) | |||
| ) |
Selection table.
|
static |
Selector.
|
delete |
No copy assignment.
|
inlinenoexcept |
Reference to the mesh.
Definition at line 21 of file raySearchEngineI.H.
References raySearchEngine::mesh_.
|
inline |
Parallel map.
Definition at line 27 of file raySearchEngineI.H.
References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

|
inlinenoexcept |
Compact to global addressing.
Definition at line 41 of file raySearchEngineI.H.
|
inlinenoexcept |
Global numbering.
Definition at line 48 of file raySearchEngineI.H.
|
inlinenoexcept |
List of participating patch IDs.
Definition at line 54 of file raySearchEngineI.H.
|
inlinenoexcept |
Patch areas.
Definition at line 60 of file raySearchEngineI.H.
|
inline |
Number of participating faces.
Definition at line 66 of file raySearchEngineI.H.
|
inlinenoexcept |
List of all face centres per processor.
Definition at line 74 of file raySearchEngineI.H.
|
inlinenoexcept |
List of all face areas per processor.
Definition at line 81 of file raySearchEngineI.H.
|
inlinenoexcept |
List of all face agglomeration index per processor.
Definition at line 88 of file raySearchEngineI.H.
|
pure virtual |
Shoot rays; returns lists of ray start and end faces.
Implemented in voxel.
|
virtual |
Correct.
| void compactAddressing | ( | const mapDistribute & | map, |
| pointField & | compactCf, | ||
| vectorField & | compactSf, | ||
| List< List< vector >> & | compactFineSf, | ||
| List< List< point >> & | compactFineCf, | ||
| DynamicList< List< point >> & | compactPoints, | ||
| DynamicList< label > & | compactPatchId | ||
| ) | const |
Create compact addressing.
| void interpolate | ( | GeometricField< Type, fvPatchField, volMesh > & | fld, |
| const List< List< Type >> & | values | ||
| ) | const |
Interpolate field.
|
protected |
Reference to the mesh.
Definition at line 81 of file raySearchEngine.H.
Referenced by raySearchEngine::mesh().
|
mutableprotected |
Parallel map.
Definition at line 86 of file raySearchEngine.H.
|
mutableprotected |
Compact to global addressing.
Definition at line 91 of file raySearchEngine.H.
|
protected |
Global numbering.
Definition at line 96 of file raySearchEngine.H.
|
protected |
Name of patch group to identify participating patches.
Definition at line 101 of file raySearchEngine.H.
|
protected |
List of participating patch IDs.
Definition at line 106 of file raySearchEngine.H.
|
protected |
Patch areas.
Definition at line 111 of file raySearchEngine.H.
|
protected |
Agglomeration flag.
Definition at line 116 of file raySearchEngine.H.
|
protected |
Agglomerated mesh representation.
Definition at line 121 of file raySearchEngine.H.
|
protected |
Number of original faces.
Definition at line 126 of file raySearchEngine.H.
|
protected |
Number of coarse faces.
Definition at line 131 of file raySearchEngine.H.
|
protected |
List of all face centres per processor.
Definition at line 136 of file raySearchEngine.H.
|
protected |
List of all face areas per processor.
Definition at line 141 of file raySearchEngine.H.
|
protected |
List of all face agglomeration index per processor.
Definition at line 146 of file raySearchEngine.H.
|
static |
Definition at line 193 of file raySearchEngine.H.