67 std::reference_wrapper<const PDRblock> pdrBlock_;
171 return pdrBlock_.get();
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
Generic templated field type with i-j-k addressing.
Work array definitions for PDR fields.
void calculateAndWrite(const fileName &casepath, const PDRmeshArrays &meshIndexing, const UList< PDRpatchDef > &patches)
void blockageSummary() const
Summary of the blockages.
IjkField< vector > drag_r
Directional drag from round obstacles.
IjkField< vector > betai_inv1
IjkField< vector > along_block
IjkField< scalar > v_block
Volume blockage.
SquareMatrix< scalar > ac_lblock
void addBlockage(const PDRobstacle &obs, DynamicList< PDRpatchDef > &patches, const int volumeSign)
Add general (non-cylinder) blockage.
IjkField< vector > area_block_r
Summed area blockage (directional) from round obstacles.
Vector< List< scalar > > overlap_1d
SquareMatrix< scalar > b_lblock
IjkField< vector > sub_count
Number of obstacles parallel to specified direction.
IjkField< Vector< bool > > hole_in_face
Face field for (directional) hole in face.
SquareMatrix< symmTensor2D > c_drag
Cell-centred drag.
~PDRarrays()=default
Destructor.
static void calculateAndWrite(PDRarrays &arr, const PDRmeshArrays &meshIndexing, const fileName &casepath, const UList< PDRpatchDef > &patches)
IjkField< vector > area_block_s
Summed area blockage (directional) from sharp obstacles.
SquareMatrix< scalar > abperim
SquareMatrix< scalar > bc_lblock
void addCylinder(const PDRobstacle &obs)
Add cylinder blockage.
const PDRblock & block() const
Reference to PDRblock.
IjkField< scalar > obs_size
Obstacle size in cell.
SquareMatrix< scalar > aboverlap
IjkField< Vector< bool > > dirn_block
A total directional blockage in the cell.
IjkField< scalar > obs_count
Number of obstacles in cell.
IjkField< vector > grating_count
IjkField< symmTensor > drag_s
Tensorial drag from sharp obstacles.
PDRarrays()
Construct null.
IjkField< vector > face_block
void reset(const PDRblock &pdrBlock)
Reset PDRblock reference, resize and zero arrays.
IjkField< labelVector > face_patch
Face field for (directional) for patch Id.
SquareMatrix< scalar > a_lblock
IjkField< scalar > surf
Surface area in cell.
SquareMatrix< scalar > c_count
PDRarrays(const PDRblock &pdrBlock)
Construct and reset.
A single block x-y-z rectilinear mesh addressable as i,j,k with simplified creation....
OpenFOAM/PDRblock addressing information.
Obstacle definitions for PDR.
A templated (N x N) square matrix of objects of <Type>, containing N*N elements, derived from Matrix.
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,...
A class for handling file names.
const polyBoundaryMesh & patches