67 std::reference_wrapper<const PDRblock> pdrBlock_;
171 return pdrBlock_.get();
IjkField< labelVector > face_patch
Face field for (directional) for patch Id.
A class for handling file names.
IjkField< Vector< bool > > hole_in_face
Face field for (directional) hole in face.
SquareMatrix< scalar > aboverlap
IjkField< vector > drag_r
Directional drag from round obstacles.
IjkField< vector > area_block_s
Summed area blockage (directional) from sharp obstacles.
const PDRblock & block() const
Reference to PDRblock.
IjkField< Vector< bool > > dirn_block
A total directional blockage in the cell.
SquareMatrix< scalar > abperim
static void calculateAndWrite(PDRarrays &arr, const PDRmeshArrays &meshIndexing, const fileName &casepath, const UList< PDRpatchDef > &patches)
IjkField< vector > along_block
Longitudinal area blockage from obstacles that extend all the way through the cell in a given directi...
IjkField< vector > sub_count
Number of obstacles parallel to specified direction.
SquareMatrix< scalar > b_lblock
SquareMatrix< scalar > a_lblock
~PDRarrays()=default
Destructor.
Vector< List< scalar > > overlap_1d
IjkField< scalar > v_block
Volume blockage.
IjkField< scalar > surf
Surface area in cell.
SquareMatrix< symmTensor2D > c_drag
Cell-centred drag.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects...
void blockageSummary() const
Summary of the blockages.
A single block x-y-z rectilinear mesh addressable as i,j,k with simplified creation. Some of the input is similar to blockMeshDict, but since this specialization is for a single-block that is aligned with the x-y-z directions, it provides a different means of specifying the mesh.
IjkField< vector > area_block_r
Summed area blockage (directional) from round obstacles.
IjkField< vector > face_block
Face area blockage for face, summed from cell centre-plane to cell centre-plane.
IjkField< vector > betai_inv1
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
Templated 3D Vector derived from VectorSpace adding construction from 3 components, element access using x(), y() and z() member functions and the inner-product (dot-product) and cross-product operators.
IjkField< scalar > obs_count
Number of obstacles in cell.
OpenFOAM/PDRblock addressing information.
SquareMatrix< scalar > c_count
PDRarrays()
Construct null.
IjkField< scalar > obs_size
Obstacle size in cell.
SquareMatrix< scalar > ac_lblock
const polyBoundaryMesh & patches
IjkField< symmTensor > drag_s
Tensorial drag from sharp obstacles.
Work array definitions for PDR fields.
void addCylinder(const PDRobstacle &obs)
Add cylinder blockage.
void reset(const PDRblock &pdrBlock)
Reset PDRblock reference, resize and zero arrays.
void addBlockage(const PDRobstacle &obs, DynamicList< PDRpatchDef > &patches, const int volumeSign)
Add general (non-cylinder) blockage.
Obstacle definitions for PDR.
IjkField< vector > grating_count
Addition to count to account for grating comprises many bars (to get Lobs right)
SquareMatrix< scalar > bc_lblock