41#ifndef PDRutilsInternal_H
42#define PDRutilsInternal_H
78 int *cfmin,
int *cfmax
133 scalar ac, scalar bc, scalar dia,
134 scalar theta, scalar wa, scalar wb,
159 double x1,
double x2,
160 double y1,
double y2,
162 scalar* x_proj_edge_p,
163 scalar* y_proj_edge_p,
186 double xc,
double yc,
double theta,
187 double wa,
double wb,
188 double x1,
double x2,
189 double y1,
double y2,
192 scalar* x_lblk, scalar* y_lblk,
193 scalar* x_centre_p, scalar* y_centre_p
207 double xc,
double yc,
double rad,
208 double x1,
double x2,
209 double y1,
double y2,
210 scalar* count_p, scalar* drag_p, scalar* centre_p
radiation::radiationModel & rad
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Grid locations in an axis direction.
A templated (N x N) square matrix of objects of <Type>, containing N*N elements, derived from Matrix.
A templated (2 x 2) symmetric tensor of objects of <T>, effectively containing 3 elements,...
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
void two_d_overlap(const UList< scalar > &a_olap, label amin, label amax, const UList< scalar > &b_olap, label bmin, label bmax, SquareMatrix< scalar > &ab_olap)
Combine two 1D overlaps.
void one_d_overlap(scalar xmin, scalar xmax, const PDRblock::location &grid, List< scalar > &olap, int *cmin, int *cmax, int *cfmin, int *cfmax)
Determine 1-D overlap locations for a geometric entity.
void circle_overlap(scalar ac, scalar bc, scalar dia, scalar theta, scalar wa, scalar wb, const PDRblock::location &agrid, label amin, label amax, const PDRblock::location &bgrid, label bmin, label bmax, SquareMatrix< scalar > &ab_olap, SquareMatrix< scalar > &ab_perim, SquareMatrix< scalar > &a_lblock, SquareMatrix< scalar > &ac_lblock, SquareMatrix< scalar > &c_count, SquareMatrix< symmTensor2D > &c_drag, SquareMatrix< scalar > &b_lblock, SquareMatrix< scalar > &bc_lblock)
double l_blockage(double xc, double yc, double rad, double x1, double x2, double y1, double y2, scalar *count_p, scalar *drag_p, scalar *centre_p)
double inters_db(double xc, double yc, double theta, double wa, double wb, double x1, double x2, double y1, double y2, scalar *count_p, symmTensor2D &vdrag, scalar *perim_p, scalar *x_lblk, scalar *y_lblk, scalar *x_centre_p, scalar *y_centre_p)
The area overlap in the plane of a diagonal block and a cell.
double inters_cy(double xc, double yc, double rad, double x1, double x2, double y1, double y2, scalar *perim_p, scalar *x_proj_edge_p, scalar *y_proj_edge_p, scalar *x_overlap_p, scalar *y_overlap_p)
Area of intersection between circle and rectangle.
SymmTensor2D< scalar > symmTensor2D
SymmTensor2D of scalars, i.e. SymmTensor2D<scalar>.
dimensionedScalar y1(const dimensionedScalar &ds)