Functions
Foam::PDRutils Namespace Reference

Utilities for PDR (eg, for setFields) More...

Functions

void one_d_overlap (scalar xmin, scalar xmax, const PDRblock::location &grid, List< scalar > &olap, int *cmin, int *cmax, int *cfmin, int *cfmax)
 
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)
 
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 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)
 
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)
 
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)
 

Detailed Description

Utilities for PDR (eg, for setFields)

Utilities for PDR (eg, for setFields). Internal usage only.

The C lineage of the original code is still evident in the use of pointers instead of references. This will be addressed in later versions of the code (2019-12).

Source files

Function Documentation

◆ one_d_overlap()

void Foam::PDRutils::one_d_overlap ( scalar  xmin,
scalar  xmax,
const PDRblock::location grid,
List< scalar > &  olap,
int *  cmin,
int *  cmax,
int *  cfmin,
int *  cfmax 
)

◆ two_d_overlap()

void Foam::PDRutils::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 
)

◆ circle_overlap()

void Foam::PDRutils::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 
)

◆ inters_cy()

double Foam::PDRutils::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 
)
Parameters
xccircle centre (x)
yccircle centre (y)
radcircle radius

◆ inters_db()

double Foam::PDRutils::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 
)

◆ l_blockage()

double Foam::PDRutils::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 
)