BG_Flood  0.1
Documentation (Work-in-progress)
Flow_kernel.cu File Reference
This graph shows which files directly or indirectly include this file:

Classes

struct  SharedMemory< T >
 
struct  SharedMemory< double >
 

Functions

template<class T >
__device__ T sq (T a)
 
__device__ int findleftG (int ix, int iy, int leftblk, int ibl, int bdimx)
 
__device__ int findleftGSM (int ix, int iy, int leftblk, int ibl, int bdimx)
 
__device__ int findrightG (int ix, int iy, int rightblk, int ibl, int bdimx)
 
__device__ int findrightGSM (int ix, int iy, int rightblk, int ibl, int bdimx)
 
__device__ int findtopG (int ix, int iy, int topblk, int ibl, int bdimx)
 
__device__ int findtopGSM (int ix, int iy, int topblk, int ibl, int bdimx)
 
__device__ int findbotG (int ix, int iy, int botblk, int ibl, int bdimx)
 
__device__ int findbotGSM (int ix, int iy, int botblk, int ibl, int bdimx)
 
__device__ float minmod2fGPU (float theta, float s0, float s1, float s2)
 
template<class T >
__host__ __device__ T minmod2GPU (T theta, T s0, T s1, T s2)
 
template<class T >
__global__ void gradientGPUXY (int nx, int ny, T theta, T delta, T *a, T *dadx, T *dady)
 
template<class T >
__global__ void gradientGPUXYBUQ (T theta, T delta, int *leftblk, int *rightblk, int *topblk, int *botblk, T *a, T *dadx, T *dady)
 
template<class T >
__global__ void gradientGPUXYBUQSM (T theta, T delta, int *leftblk, int *rightblk, int *topblk, int *botblk, T *a, T *dadx, T *dady)
 
template<class T >
__global__ void interp2ATMP (float xoatm, float yoatm, float dxatm, T delta, T Pref, T *blockxo, T *blockyo, T *P)
 
__global__ void gradientGPUX (int nx, int ny, float theta, float delta, float *a, float *dadx)
 
__global__ void gradientGPUXOLD (int nx, int ny, float theta, float delta, float *a, float *dadx)
 
__global__ void gradientGPUYSM (int nx, int ny, float theta, float delta, float *a, float *dady)
 
__global__ void gradientGPUY (int nx, int ny, float theta, float delta, float *a, float *dady)
 
__global__ void updateKurgX (float delta, float g, float eps, float CFL, int *leftblk, float *hh, float *zs, float *uu, float *vv, float *dzsdx, float *dhdx, float *dudx, float *dvdx, float *Fhu, float *Fqux, float *Fqvx, float *Su, float *dtmax)
 
template<class T >
__global__ void updateKurgXATM (T delta, T g, T eps, T CFL, T Pa2m, int *leftblk, T *hh, T *zs, T *uu, T *vv, T *Patm, T *dzsdx, T *dhdx, T *dudx, T *dvdx, T *dpdx, T *Fhu, T *Fqux, T *Fqvx, T *Su, T *dtmax)
 
__global__ void updateKurgXD (double delta, double g, double eps, double CFL, int *leftblk, double *hh, double *zs, double *uu, double *vv, double *dzsdx, double *dhdx, double *dudx, double *dvdx, double *Fhu, double *Fqux, double *Fqvx, double *Su, double *dtmax)
 
__global__ void updateKurgXSPH (double delta, double g, double eps, double CFL, int *leftblk, double *blockyo, double Radius, double *hh, double *zs, double *uu, double *vv, double *dzsdx, double *dhdx, double *dudx, double *dvdx, double *Fhu, double *Fqux, double *Fqvx, double *Su, double *dtmax)
 
__global__ void updateKurgXSPHATM (double delta, double g, double eps, double CFL, double Pa2m, int *leftblk, double *blockyo, double Radius, double *hh, double *zs, double *uu, double *vv, double *Patm, double *dzsdx, double *dhdx, double *dudx, double *dvdx, double *dpdx, double *Fhu, double *Fqux, double *Fqvx, double *Su, double *dtmax)
 
__global__ void updateKurgY (float delta, float g, float eps, float CFL, int *botblk, float *hh, float *zs, float *uu, float *vv, float *dzsdy, float *dhdy, float *dudy, float *dvdy, float *Fhv, float *Fqvy, float *Fquy, float *Sv, float *dtmax)
 
template<class T >
__global__ void updateKurgYATM (T delta, T g, T eps, T CFL, T Pa2m, int *botblk, T *hh, T *zs, T *uu, T *vv, T *Patm, T *dzsdy, T *dhdy, T *dudy, T *dvdy, T *dpdy, T *Fhv, T *Fqvy, T *Fquy, T *Sv, T *dtmax)
 
__global__ void updateKurgYD (double delta, double g, double eps, double CFL, int *botblk, double *hh, double *zs, double *uu, double *vv, double *dzsdy, double *dhdy, double *dudy, double *dvdy, double *Fhv, double *Fqvy, double *Fquy, double *Sv, double *dtmax)
 
__global__ void updateKurgYSPH (double delta, double g, double eps, double CFL, int *botblk, double *blockyo, double Radius, double *hh, double *zs, double *uu, double *vv, double *dzsdy, double *dhdy, double *dudy, double *dvdy, double *Fhv, double *Fqvy, double *Fquy, double *Sv, double *dtmax)
 
__global__ void updateKurgYSPHATM (double delta, double g, double eps, double CFL, double Pa2m, int *botblk, double *blockyo, double Radius, double *hh, double *zs, double *uu, double *vv, double *Patm, double *dzsdy, double *dhdy, double *dudy, double *dvdy, double *dpdy, double *Fhv, double *Fqvy, double *Fquy, double *Sv, double *dtmax)
 
template<class T >
__global__ void uvcorr (T delta, T *hh, T *uu, T *vv)
 
__global__ void updateEV (float delta, float g, float fc, int *rightblk, int *topblk, float *hh, float *uu, float *vv, float *Fhu, float *Fhv, float *Su, float *Sv, float *Fqux, float *Fquy, float *Fqvx, float *Fqvy, float *dh, float *dhu, float *dhv)
 
template<class T >
__global__ void updateEVATM (T delta, T g, T fc, T xowind, T yowind, T dxwind, T Cd, int *rightblk, int *topblk, T *blockxo, T *blockyo, T *hh, T *uu, T *vv, T *Fhu, T *Fhv, T *Su, T *Sv, T *Fqux, T *Fquy, T *Fqvx, T *Fqvy, T *dh, T *dhu, T *dhv)
 
template<class T >
__global__ void updateEVATMWUNI (T delta, T g, T fc, T uwind, T vwind, T Cd, int *rightblk, int *topblk, T *hh, T *uu, T *vv, T *Fhu, T *Fhv, T *Su, T *Sv, T *Fqux, T *Fquy, T *Fqvx, T *Fqvy, T *dh, T *dhu, T *dhv)
 
__global__ void updateEVD (double delta, double g, double fc, int *rightblk, int *topblk, double *hh, double *uu, double *vv, double *Fhu, double *Fhv, double *Su, double *Sv, double *Fqux, double *Fquy, double *Fqvx, double *Fqvy, double *dh, double *dhu, double *dhv)
 
__global__ void updateEVSPH (double delta, double g, double yo, double ymax, double Radius, int *rightblk, int *topblk, double *blockyo, double *hh, double *uu, double *vv, double *Fhu, double *Fhv, double *Su, double *Sv, double *Fqux, double *Fquy, double *Fqvx, double *Fqvy, double *dh, double *dhu, double *dhv)
 
__global__ void updateEVSPHATMUNI (double delta, double g, double yo, double ymax, double Radius, double uwind, float vwind, float Cd, int *rightblk, int *topblk, double *blockyo, double *hh, double *uu, double *vv, double *Fhu, double *Fhv, double *Su, double *Sv, double *Fqux, double *Fquy, double *Fqvx, double *Fqvy, double *dh, double *dhu, double *dhv)
 
__global__ void updateEVSPHATM (double delta, double g, double yo, double ymax, double Radius, double xowind, double yowind, double dxwind, double Cd, int *rightblk, int *topblk, double *blockxo, double *blockyo, double *hh, double *uu, double *vv, double *Fhu, double *Fhv, double *Su, double *Sv, double *Fqux, double *Fquy, double *Fqvx, double *Fqvy, double *dh, double *dhu, double *dhv)
 
template<class T >
__global__ void Advkernel (T dt, T eps, T *hh, T *zb, T *uu, T *vv, T *dh, T *dhu, T *dhv, T *zso, T *hho, T *uuo, T *vvo)
 
template<class T >
__global__ void cleanupGPU (T *hhi, T *zsi, T *uui, T *vvi, T *hho, T *zso, T *uuo, T *vvo)
 
template<class T >
__global__ void initdtmax (T epsi, T *dtmax)
 
__global__ void minmaxKernel (int ntot, float *max, float *min, float *a)
 
__global__ void finalminmaxKernel (float *max, float *min)
 
template<class T >
__global__ void resetdtmax (T *dtmax)
 
__global__ void reduce3 (float *g_idata, float *g_odata, unsigned int n)
 
__global__ void reducemax3 (float *g_idata, float *g_odata, unsigned int n)
 
template<class T >
__global__ void reducemin3 (T *g_idata, T *g_odata, unsigned int n)
 
__global__ void leftdirichlet (int nybnd, float g, float dx, float xo, float ymax, float itime, int *rightblk, float *blockxo, float *blockyo, float *zs, float *zb, float *hh, float *uu, float *vv)
 
template<class T >
__global__ void DRYBND (int isright, int istop, T eps, T *zb, T *zs, T *hh, T *uu, T *vv)
 
template<class T >
__global__ void dirichlet (int isright, int istop, int nbnd, T g, T dx, T xo, T xmax, T yo, T ymax, T itime, int *bndblk, int *neighbourblk, T *blockxo, T *blockyo, T *zs, T *zb, T *hh, T *un, T *ut)
 
template<class T >
__global__ void ABS1D (int isright, int istop, int nbnd, T g, T dx, T xo, T yo, T xmax, T ymax, T itime, int *bndblck, int *neighbourblk, T *blockxo, T *blockyo, T *zs, T *zb, T *hh, T *un, T *ut)
 
template<class T >
__global__ void ABS1DNEST (int isright, int istop, int nbnd, T g, T dx, T xo, T yo, T xmax, T ymax, T itime, int *bndblck, int *neighbourblk, T *blockxo, T *blockyo, T *zs, T *zb, T *hh, T *un, T *ut)
 
template<class T >
__global__ void noslipbnd (int isright, int istop, int *bndblck, int *neighbourblk, T *zs, T *hh, T *un)
 
__global__ void leftdirichletD (int nybnd, double g, double dx, double xo, double ymax, double itime, int *rightblk, double *blockxo, double *blockyo, double *zs, double *zb, double *hh, double *uu, double *vv)
 
__global__ void rightdirichlet (int nybnd, float g, float dx, float xmax, float ymax, float itime, int *leftblk, float *blockxo, float *blockyo, float *zs, float *zb, float *hh, float *uu, float *vv)
 
__global__ void rightdirichletD (int nybnd, double g, double dx, double xmax, double ymax, double itime, int *leftblk, double *blockxo, double *blockyo, double *zs, double *zb, double *hh, double *uu, double *vv)
 
__global__ void topdirichlet (int nxbnd, float g, float dx, float xmax, float ymax, float itime, int *botblk, float *blockxo, float *blockyo, float *zs, float *zb, float *hh, float *uu, float *vv)
 
__global__ void topdirichletD (int nxbnd, double g, double dx, double xmax, double ymax, double itime, int *botblk, double *blockxo, double *blockyo, double *zs, double *zb, double *hh, double *uu, double *vv)
 
__global__ void botdirichlet (int nxbnd, float g, float dx, float xmax, float yo, float itime, int *topblk, float *blockxo, float *blockyo, float *zs, float *zb, float *hh, float *uu, float *vv)
 
__global__ void botdirichletD (int nxbnd, double g, double dx, double xmax, double yo, double itime, int *topblk, double *blockxo, double *blockyo, double *zs, double *zb, double *hh, double *uu, double *vv)
 
template<class T >
__global__ void bottomfriction (int smart, T dt, T eps, T *cf, T *hh, T *uu, T *vv)
 
__global__ void noslipbndall (float dt, float eps, int *leftblk, int *rightblk, int *topblk, int *botblk, float *zb, float *zs, float *hh, float *uu, float *vv)
 
template<class T >
__global__ void noslipbndLeft (T xo, T eps, int *rightblk, T *blockxo, T *zb, T *zs, T *hh, T *uu, T *vv)
 
template<class T >
__global__ void noslipbndBot (T yo, T eps, int *topblk, T *blockyo, T *zb, T *zs, T *hh, T *uu, T *vv)
 
template<class T >
__global__ void noslipbndRight (T dx, T xmax, T eps, int *leftblk, T *blockxo, T *zb, T *zs, T *hh, T *uu, T *vv)
 
template<class T >
__global__ void noslipbndTop (T dx, T ymax, T eps, int *botblk, T *blockyo, T *zb, T *zs, T *hh, T *uu, T *vv)
 
template<class T >
__global__ void storeTSout (int noutnodes, int outnode, int istep, int inode, int jnode, int blknode, T *zs, T *hh, T *uu, T *vv, T *store)
 
template<class T >
__global__ void addavg_var (T *Varmean, T *Var)
 
template<class T >
__global__ void divavg_var (T ntdiv, T *Varmean)
 
template<class T >
__global__ void resetavg_var (T *Varmean)
 
template<class T >
__global__ void resetmax_var (T *Varmax)
 
template<class T >
__global__ void max_var (T *Varmax, T *Var)
 
template<class T >
__global__ void CalcVorticity (T *Vort, T *dvdx, T *dudy)
 
template<class T >
__global__ void discharge_bnd_v (T xstart, T xend, T ystart, T yend, T dx, T dt, T qnow, T disarea, int *Riverblks, T *blockxo, T *blockyo, T *zs, T *hh)
 
template<class T >
__global__ void Rain_on_grid (double maskzs, double xorain, double yorain, double dxrain, double delta, double *blockxo, double *blockyo, double dt, T *zs, T *hh)
 
template<class T >
__global__ void Rain_on_gridUNI (double maskzs, double rainuni, double dt, T *zs, T *hh)
 
template<class T >
__global__ void NextHDstep (int nx, int ny, T *Uold, T *Unew)
 
template<class T >
__global__ void HD_interp (int nx, int ny, int backswitch, int nhdstp, T totaltime, T hddt, T *Uold, T *Unew, T *UU)
 
template<class T >
__global__ void Deform (T scale, T *def, T *zs, T *zb)
 

Variables

texture< float, 2, cudaReadModeElementType > texLZsBND
 
texture< float, 2, cudaReadModeElementType > texRZsBND
 
texture< float, 2, cudaReadModeElementType > texTZsBND
 
texture< float, 2, cudaReadModeElementType > texBZsBND
 
texture< float, 2, cudaReadModeElementType > texLUBND
 
texture< float, 2, cudaReadModeElementType > texRUBND
 
texture< float, 2, cudaReadModeElementType > texTUBND
 
texture< float, 2, cudaReadModeElementType > texBUBND
 
texture< float, 2, cudaReadModeElementType > texLVBND
 
texture< float, 2, cudaReadModeElementType > texRVBND
 
texture< float, 2, cudaReadModeElementType > texTVBND
 
texture< float, 2, cudaReadModeElementType > texBVBND
 
texture< float, 2, cudaReadModeElementType > texUWND
 
texture< float, 2, cudaReadModeElementType > texVWND
 
texture< float, 2, cudaReadModeElementType > texPATM
 
texture< float, 2, cudaReadModeElementType > texRAIN
 

Function Documentation

◆ ABS1D()

template<class T >
__global__ void ABS1D ( int  isright,
int  istop,
int  nbnd,
g,
dx,
xo,
yo,
xmax,
ymax,
itime,
int *  bndblck,
int *  neighbourblk,
T *  blockxo,
T *  blockyo,
T *  zs,
T *  zb,
T *  hh,
T *  un,
T *  ut 
)

◆ ABS1DNEST()

template<class T >
__global__ void ABS1DNEST ( int  isright,
int  istop,
int  nbnd,
g,
dx,
xo,
yo,
xmax,
ymax,
itime,
int *  bndblck,
int *  neighbourblk,
T *  blockxo,
T *  blockyo,
T *  zs,
T *  zb,
T *  hh,
T *  un,
T *  ut 
)

◆ addavg_var()

template<class T >
__global__ void addavg_var ( T *  Varmean,
T *  Var 
)

◆ Advkernel()

template<class T >
__global__ void Advkernel ( dt,
eps,
T *  hh,
T *  zb,
T *  uu,
T *  vv,
T *  dh,
T *  dhu,
T *  dhv,
T *  zso,
T *  hho,
T *  uuo,
T *  vvo 
)

◆ botdirichlet()

__global__ void botdirichlet ( int  nxbnd,
float  g,
float  dx,
float  xmax,
float  yo,
float  itime,
int *  topblk,
float *  blockxo,
float *  blockyo,
float *  zs,
float *  zb,
float *  hh,
float *  uu,
float *  vv 
)

◆ botdirichletD()

__global__ void botdirichletD ( int  nxbnd,
double  g,
double  dx,
double  xmax,
double  yo,
double  itime,
int *  topblk,
double *  blockxo,
double *  blockyo,
double *  zs,
double *  zb,
double *  hh,
double *  uu,
double *  vv 
)

◆ bottomfriction()

template<class T >
__global__ void bottomfriction ( int  smart,
dt,
eps,
T *  cf,
T *  hh,
T *  uu,
T *  vv 
)

◆ CalcVorticity()

template<class T >
__global__ void CalcVorticity ( T *  Vort,
T *  dvdx,
T *  dudy 
)

◆ cleanupGPU()

template<class T >
__global__ void cleanupGPU ( T *  hhi,
T *  zsi,
T *  uui,
T *  vvi,
T *  hho,
T *  zso,
T *  uuo,
T *  vvo 
)

◆ Deform()

template<class T >
__global__ void Deform ( scale,
T *  def,
T *  zs,
T *  zb 
)

◆ dirichlet()

template<class T >
__global__ void dirichlet ( int  isright,
int  istop,
int  nbnd,
g,
dx,
xo,
xmax,
yo,
ymax,
itime,
int *  bndblk,
int *  neighbourblk,
T *  blockxo,
T *  blockyo,
T *  zs,
T *  zb,
T *  hh,
T *  un,
T *  ut 
)

◆ discharge_bnd_v()

template<class T >
__global__ void discharge_bnd_v ( xstart,
xend,
ystart,
yend,
dx,
dt,
qnow,
disarea,
int *  Riverblks,
T *  blockxo,
T *  blockyo,
T *  zs,
T *  hh 
)

◆ divavg_var()

template<class T >
__global__ void divavg_var ( ntdiv,
T *  Varmean 
)

◆ DRYBND()

template<class T >
__global__ void DRYBND ( int  isright,
int  istop,
eps,
T *  zb,
T *  zs,
T *  hh,
T *  uu,
T *  vv 
)

◆ finalminmaxKernel()

__global__ void finalminmaxKernel ( float *  max,
float *  min 
)

◆ findbotG()

__device__ int findbotG ( int  ix,
int  iy,
int  botblk,
int  ibl,
int  bdimx 
)

◆ findbotGSM()

__device__ int findbotGSM ( int  ix,
int  iy,
int  botblk,
int  ibl,
int  bdimx 
)

◆ findleftG()

__device__ int findleftG ( int  ix,
int  iy,
int  leftblk,
int  ibl,
int  bdimx 
)

◆ findleftGSM()

__device__ int findleftGSM ( int  ix,
int  iy,
int  leftblk,
int  ibl,
int  bdimx 
)

◆ findrightG()

__device__ int findrightG ( int  ix,
int  iy,
int  rightblk,
int  ibl,
int  bdimx 
)

◆ findrightGSM()

__device__ int findrightGSM ( int  ix,
int  iy,
int  rightblk,
int  ibl,
int  bdimx 
)

◆ findtopG()

__device__ int findtopG ( int  ix,
int  iy,
int  topblk,
int  ibl,
int  bdimx 
)

◆ findtopGSM()

__device__ int findtopGSM ( int  ix,
int  iy,
int  topblk,
int  ibl,
int  bdimx 
)

◆ gradientGPUX()

__global__ void gradientGPUX ( int  nx,
int  ny,
float  theta,
float  delta,
float *  a,
float *  dadx 
)

◆ gradientGPUXOLD()

__global__ void gradientGPUXOLD ( int  nx,
int  ny,
float  theta,
float  delta,
float *  a,
float *  dadx 
)

◆ gradientGPUXY()

template<class T >
__global__ void gradientGPUXY ( int  nx,
int  ny,
theta,
delta,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientGPUXYBUQ()

template<class T >
__global__ void gradientGPUXYBUQ ( theta,
delta,
int *  leftblk,
int *  rightblk,
int *  topblk,
int *  botblk,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientGPUXYBUQSM()

template<class T >
__global__ void gradientGPUXYBUQSM ( theta,
delta,
int *  leftblk,
int *  rightblk,
int *  topblk,
int *  botblk,
T *  a,
T *  dadx,
T *  dady 
)

◆ gradientGPUY()

__global__ void gradientGPUY ( int  nx,
int  ny,
float  theta,
float  delta,
float *  a,
float *  dady 
)

◆ gradientGPUYSM()

__global__ void gradientGPUYSM ( int  nx,
int  ny,
float  theta,
float  delta,
float *  a,
float *  dady 
)

◆ HD_interp()

template<class T >
__global__ void HD_interp ( int  nx,
int  ny,
int  backswitch,
int  nhdstp,
totaltime,
hddt,
T *  Uold,
T *  Unew,
T *  UU 
)

Ums[tx]

Ums[tx]

◆ initdtmax()

template<class T >
__global__ void initdtmax ( epsi,
T *  dtmax 
)

◆ interp2ATMP()

template<class T >
__global__ void interp2ATMP ( float  xoatm,
float  yoatm,
float  dxatm,
delta,
Pref,
T *  blockxo,
T *  blockyo,
T *  P 
)

◆ leftdirichlet()

__global__ void leftdirichlet ( int  nybnd,
float  g,
float  dx,
float  xo,
float  ymax,
float  itime,
int *  rightblk,
float *  blockxo,
float *  blockyo,
float *  zs,
float *  zb,
float *  hh,
float *  uu,
float *  vv 
)

◆ leftdirichletD()

__global__ void leftdirichletD ( int  nybnd,
double  g,
double  dx,
double  xo,
double  ymax,
double  itime,
int *  rightblk,
double *  blockxo,
double *  blockyo,
double *  zs,
double *  zb,
double *  hh,
double *  uu,
double *  vv 
)

◆ max_var()

template<class T >
__global__ void max_var ( T *  Varmax,
T *  Var 
)

◆ minmaxKernel()

__global__ void minmaxKernel ( int  ntot,
float *  max,
float *  min,
float *  a 
)

◆ minmod2fGPU()

__device__ float minmod2fGPU ( float  theta,
float  s0,
float  s1,
float  s2 
)

◆ minmod2GPU()

template<class T >
__host__ __device__ T minmod2GPU ( theta,
s0,
s1,
s2 
)

◆ NextHDstep()

template<class T >
__global__ void NextHDstep ( int  nx,
int  ny,
T *  Uold,
T *  Unew 
)

◆ noslipbnd()

template<class T >
__global__ void noslipbnd ( int  isright,
int  istop,
int *  bndblck,
int *  neighbourblk,
T *  zs,
T *  hh,
T *  un 
)

◆ noslipbndall()

__global__ void noslipbndall ( float  dt,
float  eps,
int *  leftblk,
int *  rightblk,
int *  topblk,
int *  botblk,
float *  zb,
float *  zs,
float *  hh,
float *  uu,
float *  vv 
)

◆ noslipbndBot()

template<class T >
__global__ void noslipbndBot ( yo,
eps,
int *  topblk,
T *  blockyo,
T *  zb,
T *  zs,
T *  hh,
T *  uu,
T *  vv 
)

◆ noslipbndLeft()

template<class T >
__global__ void noslipbndLeft ( xo,
eps,
int *  rightblk,
T *  blockxo,
T *  zb,
T *  zs,
T *  hh,
T *  uu,
T *  vv 
)

◆ noslipbndRight()

template<class T >
__global__ void noslipbndRight ( dx,
xmax,
eps,
int *  leftblk,
T *  blockxo,
T *  zb,
T *  zs,
T *  hh,
T *  uu,
T *  vv 
)

◆ noslipbndTop()

template<class T >
__global__ void noslipbndTop ( dx,
ymax,
eps,
int *  botblk,
T *  blockyo,
T *  zb,
T *  zs,
T *  hh,
T *  uu,
T *  vv 
)

◆ Rain_on_grid()

template<class T >
__global__ void Rain_on_grid ( double  maskzs,
double  xorain,
double  yorain,
double  dxrain,
double  delta,
double *  blockxo,
double *  blockyo,
double  dt,
T *  zs,
T *  hh 
)

◆ Rain_on_gridUNI()

template<class T >
__global__ void Rain_on_gridUNI ( double  maskzs,
double  rainuni,
double  dt,
T *  zs,
T *  hh 
)

◆ reduce3()

__global__ void reduce3 ( float *  g_idata,
float *  g_odata,
unsigned int  n 
)

◆ reducemax3()

__global__ void reducemax3 ( float *  g_idata,
float *  g_odata,
unsigned int  n 
)

◆ reducemin3()

template<class T >
__global__ void reducemin3 ( T *  g_idata,
T *  g_odata,
unsigned int  n 
)

◆ resetavg_var()

template<class T >
__global__ void resetavg_var ( T *  Varmean)

◆ resetdtmax()

template<class T >
__global__ void resetdtmax ( T *  dtmax)

◆ resetmax_var()

template<class T >
__global__ void resetmax_var ( T *  Varmax)

◆ rightdirichlet()

__global__ void rightdirichlet ( int  nybnd,
float  g,
float  dx,
float  xmax,
float  ymax,
float  itime,
int *  leftblk,
float *  blockxo,
float *  blockyo,
float *  zs,
float *  zb,
float *  hh,
float *  uu,
float *  vv 
)

◆ rightdirichletD()

__global__ void rightdirichletD ( int  nybnd,
double  g,
double  dx,
double  xmax,
double  ymax,
double  itime,
int *  leftblk,
double *  blockxo,
double *  blockyo,
double *  zs,
double *  zb,
double *  hh,
double *  uu,
double *  vv 
)

◆ sq()

template<class T >
__device__ T sq ( a)

◆ storeTSout()

template<class T >
__global__ void storeTSout ( int  noutnodes,
int  outnode,
int  istep,
int  inode,
int  jnode,
int  blknode,
T *  zs,
T *  hh,
T *  uu,
T *  vv,
T *  store 
)

◆ topdirichlet()

__global__ void topdirichlet ( int  nxbnd,
float  g,
float  dx,
float  xmax,
float  ymax,
float  itime,
int *  botblk,
float *  blockxo,
float *  blockyo,
float *  zs,
float *  zb,
float *  hh,
float *  uu,
float *  vv 
)

◆ topdirichletD()

__global__ void topdirichletD ( int  nxbnd,
double  g,
double  dx,
double  xmax,
double  ymax,
double  itime,
int *  botblk,
double *  blockxo,
double *  blockyo,
double *  zs,
double *  zb,
double *  hh,
double *  uu,
double *  vv 
)

◆ updateEV()

__global__ void updateEV ( float  delta,
float  g,
float  fc,
int *  rightblk,
int *  topblk,
float *  hh,
float *  uu,
float *  vv,
float *  Fhu,
float *  Fhv,
float *  Su,
float *  Sv,
float *  Fqux,
float *  Fquy,
float *  Fqvx,
float *  Fqvy,
float *  dh,
float *  dhu,
float *  dhv 
)

◆ updateEVATM()

template<class T >
__global__ void updateEVATM ( delta,
g,
fc,
xowind,
yowind,
dxwind,
Cd,
int *  rightblk,
int *  topblk,
T *  blockxo,
T *  blockyo,
T *  hh,
T *  uu,
T *  vv,
T *  Fhu,
T *  Fhv,
T *  Su,
T *  Sv,
T *  Fqux,
T *  Fquy,
T *  Fqvx,
T *  Fqvy,
T *  dh,
T *  dhu,
T *  dhv 
)

◆ updateEVATMWUNI()

template<class T >
__global__ void updateEVATMWUNI ( delta,
g,
fc,
uwind,
vwind,
Cd,
int *  rightblk,
int *  topblk,
T *  hh,
T *  uu,
T *  vv,
T *  Fhu,
T *  Fhv,
T *  Su,
T *  Sv,
T *  Fqux,
T *  Fquy,
T *  Fqvx,
T *  Fqvy,
T *  dh,
T *  dhu,
T *  dhv 
)

◆ updateEVD()

__global__ void updateEVD ( double  delta,
double  g,
double  fc,
int *  rightblk,
int *  topblk,
double *  hh,
double *  uu,
double *  vv,
double *  Fhu,
double *  Fhv,
double *  Su,
double *  Sv,
double *  Fqux,
double *  Fquy,
double *  Fqvx,
double *  Fqvy,
double *  dh,
double *  dhu,
double *  dhv 
)

◆ updateEVSPH()

__global__ void updateEVSPH ( double  delta,
double  g,
double  yo,
double  ymax,
double  Radius,
int *  rightblk,
int *  topblk,
double *  blockyo,
double *  hh,
double *  uu,
double *  vv,
double *  Fhu,
double *  Fhv,
double *  Su,
double *  Sv,
double *  Fqux,
double *  Fquy,
double *  Fqvx,
double *  Fqvy,
double *  dh,
double *  dhu,
double *  dhv 
)

◆ updateEVSPHATM()

__global__ void updateEVSPHATM ( double  delta,
double  g,
double  yo,
double  ymax,
double  Radius,
double  xowind,
double  yowind,
double  dxwind,
double  Cd,
int *  rightblk,
int *  topblk,
double *  blockxo,
double *  blockyo,
double *  hh,
double *  uu,
double *  vv,
double *  Fhu,
double *  Fhv,
double *  Su,
double *  Sv,
double *  Fqux,
double *  Fquy,
double *  Fqvx,
double *  Fqvy,
double *  dh,
double *  dhu,
double *  dhv 
)

◆ updateEVSPHATMUNI()

__global__ void updateEVSPHATMUNI ( double  delta,
double  g,
double  yo,
double  ymax,
double  Radius,
double  uwind,
float  vwind,
float  Cd,
int *  rightblk,
int *  topblk,
double *  blockyo,
double *  hh,
double *  uu,
double *  vv,
double *  Fhu,
double *  Fhv,
double *  Su,
double *  Sv,
double *  Fqux,
double *  Fquy,
double *  Fqvx,
double *  Fqvy,
double *  dh,
double *  dhu,
double *  dhv 
)

◆ updateKurgX()

__global__ void updateKurgX ( float  delta,
float  g,
float  eps,
float  CFL,
int *  leftblk,
float *  hh,
float *  zs,
float *  uu,
float *  vv,
float *  dzsdx,
float *  dhdx,
float *  dudx,
float *  dvdx,
float *  Fhu,
float *  Fqux,
float *  Fqvx,
float *  Su,
float *  dtmax 
)

◆ updateKurgXATM()

template<class T >
__global__ void updateKurgXATM ( delta,
g,
eps,
CFL,
Pa2m,
int *  leftblk,
T *  hh,
T *  zs,
T *  uu,
T *  vv,
T *  Patm,
T *  dzsdx,
T *  dhdx,
T *  dudx,
T *  dvdx,
T *  dpdx,
T *  Fhu,
T *  Fqux,
T *  Fqvx,
T *  Su,
T *  dtmax 
)

◆ updateKurgXD()

__global__ void updateKurgXD ( double  delta,
double  g,
double  eps,
double  CFL,
int *  leftblk,
double *  hh,
double *  zs,
double *  uu,
double *  vv,
double *  dzsdx,
double *  dhdx,
double *  dudx,
double *  dvdx,
double *  Fhu,
double *  Fqux,
double *  Fqvx,
double *  Su,
double *  dtmax 
)

◆ updateKurgXSPH()

__global__ void updateKurgXSPH ( double  delta,
double  g,
double  eps,
double  CFL,
int *  leftblk,
double *  blockyo,
double  Radius,
double *  hh,
double *  zs,
double *  uu,
double *  vv,
double *  dzsdx,
double *  dhdx,
double *  dudx,
double *  dvdx,
double *  Fhu,
double *  Fqux,
double *  Fqvx,
double *  Su,
double *  dtmax 
)

◆ updateKurgXSPHATM()

__global__ void updateKurgXSPHATM ( double  delta,
double  g,
double  eps,
double  CFL,
double  Pa2m,
int *  leftblk,
double *  blockyo,
double  Radius,
double *  hh,
double *  zs,
double *  uu,
double *  vv,
double *  Patm,
double *  dzsdx,
double *  dhdx,
double *  dudx,
double *  dvdx,
double *  dpdx,
double *  Fhu,
double *  Fqux,
double *  Fqvx,
double *  Su,
double *  dtmax 
)

◆ updateKurgY()

__global__ void updateKurgY ( float  delta,
float  g,
float  eps,
float  CFL,
int *  botblk,
float *  hh,
float *  zs,
float *  uu,
float *  vv,
float *  dzsdy,
float *  dhdy,
float *  dudy,
float *  dvdy,
float *  Fhv,
float *  Fqvy,
float *  Fquy,
float *  Sv,
float *  dtmax 
)

Topographic source term

In the case of adaptive refinement, care must be taken to ensure well-balancing at coarse/fine faces (see [notes/balanced.tm]()).

◆ updateKurgYATM()

template<class T >
__global__ void updateKurgYATM ( delta,
g,
eps,
CFL,
Pa2m,
int *  botblk,
T *  hh,
T *  zs,
T *  uu,
T *  vv,
T *  Patm,
T *  dzsdy,
T *  dhdy,
T *  dudy,
T *  dvdy,
T *  dpdy,
T *  Fhv,
T *  Fqvy,
T *  Fquy,
T *  Sv,
T *  dtmax 
)

how to enforce sqrtf when T is float ?

Topographic source term

In the case of adaptive refinement, care must be taken to ensure well-balancing at coarse/fine faces (see [notes/balanced.tm]()).

◆ updateKurgYD()

__global__ void updateKurgYD ( double  delta,
double  g,
double  eps,
double  CFL,
int *  botblk,
double *  hh,
double *  zs,
double *  uu,
double *  vv,
double *  dzsdy,
double *  dhdy,
double *  dudy,
double *  dvdy,
double *  Fhv,
double *  Fqvy,
double *  Fquy,
double *  Sv,
double *  dtmax 
)

Topographic source term

In the case of adaptive refinement, care must be taken to ensure well-balancing at coarse/fine faces (see [notes/balanced.tm]()).

◆ updateKurgYSPH()

__global__ void updateKurgYSPH ( double  delta,
double  g,
double  eps,
double  CFL,
int *  botblk,
double *  blockyo,
double  Radius,
double *  hh,
double *  zs,
double *  uu,
double *  vv,
double *  dzsdy,
double *  dhdy,
double *  dudy,
double *  dvdy,
double *  Fhv,
double *  Fqvy,
double *  Fquy,
double *  Sv,
double *  dtmax 
)

Topographic source term

In the case of adaptive refinement, care must be taken to ensure well-balancing at coarse/fine faces (see [notes/balanced.tm]()).

◆ updateKurgYSPHATM()

__global__ void updateKurgYSPHATM ( double  delta,
double  g,
double  eps,
double  CFL,
double  Pa2m,
int *  botblk,
double *  blockyo,
double  Radius,
double *  hh,
double *  zs,
double *  uu,
double *  vv,
double *  Patm,
double *  dzsdy,
double *  dhdy,
double *  dudy,
double *  dvdy,
double *  dpdy,
double *  Fhv,
double *  Fqvy,
double *  Fquy,
double *  Sv,
double *  dtmax 
)

Topographic source term

In the case of adaptive refinement, care must be taken to ensure well-balancing at coarse/fine faces (see [notes/balanced.tm]()).

◆ uvcorr()

template<class T >
__global__ void uvcorr ( delta,
T *  hh,
T *  uu,
T *  vv 
)

Variable Documentation

◆ texBUBND

texture<float, 2, cudaReadModeElementType> texBUBND

◆ texBVBND

texture<float, 2, cudaReadModeElementType> texBVBND

◆ texBZsBND

texture<float, 2, cudaReadModeElementType> texBZsBND

◆ texLUBND

texture<float, 2, cudaReadModeElementType> texLUBND

◆ texLVBND

texture<float, 2, cudaReadModeElementType> texLVBND

◆ texLZsBND

texture<float, 2, cudaReadModeElementType> texLZsBND

◆ texPATM

texture<float, 2, cudaReadModeElementType> texPATM

◆ texRAIN

texture<float, 2, cudaReadModeElementType> texRAIN

◆ texRUBND

texture<float, 2, cudaReadModeElementType> texRUBND

◆ texRVBND

texture<float, 2, cudaReadModeElementType> texRVBND

◆ texRZsBND

texture<float, 2, cudaReadModeElementType> texRZsBND

◆ texTUBND

texture<float, 2, cudaReadModeElementType> texTUBND

◆ texTVBND

texture<float, 2, cudaReadModeElementType> texTVBND

◆ texTZsBND

texture<float, 2, cudaReadModeElementType> texTZsBND

◆ texUWND

texture<float, 2, cudaReadModeElementType> texUWND

◆ texVWND

texture<float, 2, cudaReadModeElementType> texVWND