BG_Flood
0.1
Documentation (Work-in-progress)
|
#include "Header.cuh"
Functions | |
template<class T > | |
T | sq (T a) |
int | findright (int blksize, int ix, int iy, int bid, int blrightid) |
int | findleft (int blksize, int ix, int iy, int bid, int blleftid) |
int | findtop (int blksize, int ix, int iy, int bid, int bltopid) |
int | findbot (int blksize, int ix, int iy, int bid, int blbotid) |
template<class T > | |
const T & | max (const T &a, const T &b) |
template<class T > | |
const T & | min (const T &a, const T &b) |
template<class T > | |
T | minmod2 (T theta, T s0, T s1, T s2) |
float | interp2wnd (int wndnx, int wndny, float wnddx, float wndxo, float wndyo, float x, float y, float *U) |
double | interp2wnd (int wndnx, int wndny, double wnddx, double wndxo, double wndyo, double x, double y, float *U) |
template<class T > | |
void | gradient (int nblk, int blksize, T theta, T delta, int *leftblk, int *rightblk, int *topblk, int *botblk, T *a, T *&dadx, T *&dady) |
template<class T > | |
void | kurganov (T g, T CFL, T hm, T hp, T um, T up, T Delta, T *fh, T *fq, T *dtmax) |
void | kurganovf (float g, float CFL, float hm, float hp, float um, float up, float Delta, float *fh, float *fq, float *dtmax) |
void | kurganovd (double g, double CFL, double hm, double hp, double um, double up, double Delta, double *fh, double *fq, double *dtmax) |
void | update (int nblk, int blksize, float theta, float dt, float eps, float g, float CFL, float delta, float *hh, float *zs, float *uu, float *vv, float *&dh, float *&dhu, float *&dhv) |
void | updateATM (int nblk, int blksize, int cstwind, int cstpress, int windnx, int windny, float winddx, float windxo, float windyo, float Uwndi, float Vwndi, float theta, float dt, float eps, float g, float CFL, float delta, float Cd, float Pa2m, float *hh, float *zs, float *uu, float *vv, float *&dh, float *&dhu, float *&dhv, float *Uwnd, float *Vwnd, float *Patm) |
void | updateD (int nblk, int blksize, double theta, double dt, double eps, double g, double CFL, double delta, double *hh, double *zs, double *uu, double *vv, double *&dh, double *&dhu, double *&dhv) |
void | update_spherical (int nblk, int blksize, double theta, double dt, double eps, double g, double CFL, double delta, double Radius, double ymax, double *blockyo, double *hh, double *zs, double *uu, double *vv, double *&dh, double *&dhu, double *&dhv) |
template<class T > | |
void | advance (int nblk, int blksize, T dt, T eps, T *zb, T *hh, T *zs, T *uu, T *vv, T *dh, T *dhu, T *dhv, T *&hho, T *&zso, T *&uuo, T *&vvo) |
template<class T > | |
void | cleanup (int nblk, int blksize, T *hhi, T *zsi, T *uui, T *vvi, T *&hho, T *&zso, T *&uuo, T *&vvo) |
void | create2dnc (int nx, int ny, double dx, double dy, double totaltime, double *xx, double *yy, float *var) |
void | write2varnc (int nx, int ny, double totaltime, float *var) |
double | FlowCPU (Param XParam, double nextoutputtime) |
double | FlowCPUATM (Param XParam, double nextoutputtime, int cstwind, int cstpress, float Uwindi, float Vwindi) |
double | FlowCPUSpherical (Param XParam, double nextoutputtime) |
double | FlowCPUDouble (Param XParam, double nextoutputtime) |
void | leftdirichletCPU_old (int nx, int ny, float g, std::vector< double > zsbndvec, float *zs, float *zb, float *hh, float *uu, float *vv) |
void | leftdirichletCPU (int nblk, int blksize, float xo, float yo, float g, float dx, std::vector< double > zsbndvec, float *blockxo, float *blockyo, float *zs, float *zb, float *hh, float *uu, float *vv) |
void | leftdirichletCPUD (int nblk, int blksize, double xo, double yo, double g, double dx, std::vector< double > zsbndvec, double *blockxo, double *blockyo, double *zs, double *zb, double *hh, double *uu, double *vv) |
void | rightdirichletCPU (int nblk, int blksize, int nx, float xo, float yo, float g, float dx, std::vector< double > zsbndvec, float *blockxo, float *blockyo, float *zs, float *zb, float *hh, float *uu, float *vv) |
void | rightdirichletCPUD (int nblk, int blksize, int nx, double xo, double yo, double g, double dx, std::vector< double > zsbndvec, double *blockxo, double *blockyo, double *zs, double *zb, double *hh, double *uu, double *vv) |
void | topdirichletCPU (int nblk, int blksize, int ny, float xo, float yo, float g, float dx, std::vector< double > zsbndvec, float *blockxo, float *blockyo, float *zs, float *zb, float *hh, float *uu, float *vv) |
void | topdirichletCPUD (int nblk, int blksize, int ny, double xo, double yo, double g, double dx, std::vector< double > zsbndvec, double *blockxo, double *blockyo, double *zs, double *zb, double *hh, double *uu, double *vv) |
void | botdirichletCPU (int nblk, int blksize, int ny, float xo, float yo, float g, float dx, std::vector< double > zsbndvec, float *blockxo, float *blockyo, float *zs, float *zb, float *hh, float *uu, float *vv) |
void | botdirichletCPUD (int nblk, int blksize, int ny, double xo, double yo, double g, double dx, std::vector< double > zsbndvec, double *blockxo, double *blockyo, double *zs, double *zb, double *hh, double *uu, double *vv) |
template<class T > | |
void | bottomfrictionCPU (int nblk, int blksize, int smart, T dt, T eps, T *cf, T *hh, T *uu, T *vv) |
template<class T > | |
void | discharge_bnd_v_CPU (Param XParam, T *zs, T *hh) |
void | noslipbndLCPU (Param XParam) |
void | noslipbndRCPU (Param XParam) |
void | noslipbndTCPU (Param XParam) |
void | noslipbndBCPU (Param XParam) |
template<class T > | |
void | noslipbndLeftCPU (int nblk, int blksize, T xo, T eps, T *blockxo, T *zb, T *zs, T *hh, T *uu, T *vv) |
template<class T > | |
void | noslipbndRightCPU (int nblk, int blksize, T xo, T xmax, T eps, T dx, T *blockxo, T *zb, T *zs, T *hh, T *uu, T *vv) |
template<class T > | |
void | noslipbndTopCPU (int nblk, int blksize, T yo, T ymax, T eps, T dx, T *blockyo, T *zb, T *zs, T *hh, T *uu, T *vv) |
template<class T > | |
void | noslipbndBotCPU (int nblk, int blksize, T yo, T eps, T *blockyo, T *zb, T *zs, T *hh, T *uu, T *vv) |
void | AddmeanCPU (Param XParam) |
void | AddmeanCPUD (Param XParam) |
void | DivmeanCPU (Param XParam, float nstep) |
void | DivmeanCPUD (Param XParam, float nstep) |
void | ResetmeanCPU (Param XParam) |
void | ResetmeanCPUD (Param XParam) |
void | maxallCPU (Param XParam) |
void | maxallCPUD (Param XParam) |
void | CalcVort (Param XParam) |
void | CalcVortD (Param XParam) |
void AddmeanCPU | ( | Param | XParam | ) |
void AddmeanCPUD | ( | Param | XParam | ) |
void advance | ( | int | nblk, |
int | blksize, | ||
T | dt, | ||
T | eps, | ||
T * | zb, | ||
T * | hh, | ||
T * | zs, | ||
T * | uu, | ||
T * | vv, | ||
T * | dh, | ||
T * | dhu, | ||
T * | dhv, | ||
T *& | hho, | ||
T *& | zso, | ||
T *& | uuo, | ||
T *& | vvo | ||
) |
void botdirichletCPU | ( | int | nblk, |
int | blksize, | ||
int | ny, | ||
float | xo, | ||
float | yo, | ||
float | g, | ||
float | dx, | ||
std::vector< double > | zsbndvec, | ||
float * | blockxo, | ||
float * | blockyo, | ||
float * | zs, | ||
float * | zb, | ||
float * | hh, | ||
float * | uu, | ||
float * | vv | ||
) |
void botdirichletCPUD | ( | int | nblk, |
int | blksize, | ||
int | ny, | ||
double | xo, | ||
double | yo, | ||
double | g, | ||
double | dx, | ||
std::vector< double > | zsbndvec, | ||
double * | blockxo, | ||
double * | blockyo, | ||
double * | zs, | ||
double * | zb, | ||
double * | hh, | ||
double * | uu, | ||
double * | vv | ||
) |
void bottomfrictionCPU | ( | int | nblk, |
int | blksize, | ||
int | smart, | ||
T | dt, | ||
T | eps, | ||
T * | cf, | ||
T * | hh, | ||
T * | uu, | ||
T * | vv | ||
) |
void CalcVort | ( | Param | XParam | ) |
void CalcVortD | ( | Param | XParam | ) |
void cleanup | ( | int | nblk, |
int | blksize, | ||
T * | hhi, | ||
T * | zsi, | ||
T * | uui, | ||
T * | vvi, | ||
T *& | hho, | ||
T *& | zso, | ||
T *& | uuo, | ||
T *& | vvo | ||
) |
void create2dnc | ( | int | nx, |
int | ny, | ||
double | dx, | ||
double | dy, | ||
double | totaltime, | ||
double * | xx, | ||
double * | yy, | ||
float * | var | ||
) |
void discharge_bnd_v_CPU | ( | Param | XParam, |
T * | zs, | ||
T * | hh | ||
) |
void DivmeanCPU | ( | Param | XParam, |
float | nstep | ||
) |
void DivmeanCPUD | ( | Param | XParam, |
float | nstep | ||
) |
int findbot | ( | int | blksize, |
int | ix, | ||
int | iy, | ||
int | bid, | ||
int | blbotid | ||
) |
int findleft | ( | int | blksize, |
int | ix, | ||
int | iy, | ||
int | bid, | ||
int | blleftid | ||
) |
int findright | ( | int | blksize, |
int | ix, | ||
int | iy, | ||
int | bid, | ||
int | blrightid | ||
) |
int findtop | ( | int | blksize, |
int | ix, | ||
int | iy, | ||
int | bid, | ||
int | bltopid | ||
) |
double FlowCPU | ( | Param | XParam, |
double | nextoutputtime | ||
) |
double FlowCPUATM | ( | Param | XParam, |
double | nextoutputtime, | ||
int | cstwind, | ||
int | cstpress, | ||
float | Uwindi, | ||
float | Vwindi | ||
) |
double FlowCPUDouble | ( | Param | XParam, |
double | nextoutputtime | ||
) |
double FlowCPUSpherical | ( | Param | XParam, |
double | nextoutputtime | ||
) |
void gradient | ( | int | nblk, |
int | blksize, | ||
T | theta, | ||
T | delta, | ||
int * | leftblk, | ||
int * | rightblk, | ||
int * | topblk, | ||
int * | botblk, | ||
T * | a, | ||
T *& | dadx, | ||
T *& | dady | ||
) |
double interp2wnd | ( | int | wndnx, |
int | wndny, | ||
double | wnddx, | ||
double | wndxo, | ||
double | wndyo, | ||
double | x, | ||
double | y, | ||
float * | U | ||
) |
float interp2wnd | ( | int | wndnx, |
int | wndny, | ||
float | wnddx, | ||
float | wndxo, | ||
float | wndyo, | ||
float | x, | ||
float | y, | ||
float * | U | ||
) |
void kurganov | ( | T | g, |
T | CFL, | ||
T | hm, | ||
T | hp, | ||
T | um, | ||
T | up, | ||
T | Delta, | ||
T * | fh, | ||
T * | fq, | ||
T * | dtmax | ||
) |
void kurganovd | ( | double | g, |
double | CFL, | ||
double | hm, | ||
double | hp, | ||
double | um, | ||
double | up, | ||
double | Delta, | ||
double * | fh, | ||
double * | fq, | ||
double * | dtmax | ||
) |
void kurganovf | ( | float | g, |
float | CFL, | ||
float | hm, | ||
float | hp, | ||
float | um, | ||
float | up, | ||
float | Delta, | ||
float * | fh, | ||
float * | fq, | ||
float * | dtmax | ||
) |
void leftdirichletCPU | ( | int | nblk, |
int | blksize, | ||
float | xo, | ||
float | yo, | ||
float | g, | ||
float | dx, | ||
std::vector< double > | zsbndvec, | ||
float * | blockxo, | ||
float * | blockyo, | ||
float * | zs, | ||
float * | zb, | ||
float * | hh, | ||
float * | uu, | ||
float * | vv | ||
) |
void leftdirichletCPU_old | ( | int | nx, |
int | ny, | ||
float | g, | ||
std::vector< double > | zsbndvec, | ||
float * | zs, | ||
float * | zb, | ||
float * | hh, | ||
float * | uu, | ||
float * | vv | ||
) |
void leftdirichletCPUD | ( | int | nblk, |
int | blksize, | ||
double | xo, | ||
double | yo, | ||
double | g, | ||
double | dx, | ||
std::vector< double > | zsbndvec, | ||
double * | blockxo, | ||
double * | blockyo, | ||
double * | zs, | ||
double * | zb, | ||
double * | hh, | ||
double * | uu, | ||
double * | vv | ||
) |
const T& max | ( | const T & | a, |
const T & | b | ||
) |
void maxallCPU | ( | Param | XParam | ) |
void maxallCPUD | ( | Param | XParam | ) |
const T& min | ( | const T & | a, |
const T & | b | ||
) |
T minmod2 | ( | T | theta, |
T | s0, | ||
T | s1, | ||
T | s2 | ||
) |
void noslipbndBCPU | ( | Param | XParam | ) |
void noslipbndBotCPU | ( | int | nblk, |
int | blksize, | ||
T | yo, | ||
T | eps, | ||
T * | blockyo, | ||
T * | zb, | ||
T * | zs, | ||
T * | hh, | ||
T * | uu, | ||
T * | vv | ||
) |
void noslipbndLCPU | ( | Param | XParam | ) |
void noslipbndLeftCPU | ( | int | nblk, |
int | blksize, | ||
T | xo, | ||
T | eps, | ||
T * | blockxo, | ||
T * | zb, | ||
T * | zs, | ||
T * | hh, | ||
T * | uu, | ||
T * | vv | ||
) |
void noslipbndRCPU | ( | Param | XParam | ) |
void noslipbndRightCPU | ( | int | nblk, |
int | blksize, | ||
T | xo, | ||
T | xmax, | ||
T | eps, | ||
T | dx, | ||
T * | blockxo, | ||
T * | zb, | ||
T * | zs, | ||
T * | hh, | ||
T * | uu, | ||
T * | vv | ||
) |
void noslipbndTCPU | ( | Param | XParam | ) |
void noslipbndTopCPU | ( | int | nblk, |
int | blksize, | ||
T | yo, | ||
T | ymax, | ||
T | eps, | ||
T | dx, | ||
T * | blockyo, | ||
T * | zb, | ||
T * | zs, | ||
T * | hh, | ||
T * | uu, | ||
T * | vv | ||
) |
void ResetmeanCPU | ( | Param | XParam | ) |
void ResetmeanCPUD | ( | Param | XParam | ) |
void rightdirichletCPU | ( | int | nblk, |
int | blksize, | ||
int | nx, | ||
float | xo, | ||
float | yo, | ||
float | g, | ||
float | dx, | ||
std::vector< double > | zsbndvec, | ||
float * | blockxo, | ||
float * | blockyo, | ||
float * | zs, | ||
float * | zb, | ||
float * | hh, | ||
float * | uu, | ||
float * | vv | ||
) |
void rightdirichletCPUD | ( | int | nblk, |
int | blksize, | ||
int | nx, | ||
double | xo, | ||
double | yo, | ||
double | g, | ||
double | dx, | ||
std::vector< double > | zsbndvec, | ||
double * | blockxo, | ||
double * | blockyo, | ||
double * | zs, | ||
double * | zb, | ||
double * | hh, | ||
double * | uu, | ||
double * | vv | ||
) |
T sq | ( | T | a | ) |
void topdirichletCPU | ( | int | nblk, |
int | blksize, | ||
int | ny, | ||
float | xo, | ||
float | yo, | ||
float | g, | ||
float | dx, | ||
std::vector< double > | zsbndvec, | ||
float * | blockxo, | ||
float * | blockyo, | ||
float * | zs, | ||
float * | zb, | ||
float * | hh, | ||
float * | uu, | ||
float * | vv | ||
) |
void topdirichletCPUD | ( | int | nblk, |
int | blksize, | ||
int | ny, | ||
double | xo, | ||
double | yo, | ||
double | g, | ||
double | dx, | ||
std::vector< double > | zsbndvec, | ||
double * | blockxo, | ||
double * | blockyo, | ||
double * | zs, | ||
double * | zb, | ||
double * | hh, | ||
double * | uu, | ||
double * | vv | ||
) |
void update | ( | int | nblk, |
int | blksize, | ||
float | theta, | ||
float | dt, | ||
float | eps, | ||
float | g, | ||
float | CFL, | ||
float | delta, | ||
float * | hh, | ||
float * | zs, | ||
float * | uu, | ||
float * | vv, | ||
float *& | dh, | ||
float *& | dhu, | ||
float *& | dhv | ||
) |
In the case of adaptive refinement, care must be taken to ensure well-balancing at coarse/fine faces (see [notes/balanced.tm]()).
In the case of adaptive refinement, care must be taken to ensure well-balancing at coarse/fine faces (see [notes/balanced.tm]()).
void update_spherical | ( | int | nblk, |
int | blksize, | ||
double | theta, | ||
double | dt, | ||
double | eps, | ||
double | g, | ||
double | CFL, | ||
double | delta, | ||
double | Radius, | ||
double | ymax, | ||
double * | blockyo, | ||
double * | hh, | ||
double * | zs, | ||
double * | uu, | ||
double * | vv, | ||
double *& | dh, | ||
double *& | dhu, | ||
double *& | dhv | ||
) |
In the case of adaptive refinement, care must be taken to ensure well-balancing at coarse/fine faces (see [notes/balanced.tm]()).
In the case of adaptive refinement, care must be taken to ensure well-balancing at coarse/fine faces (see [notes/balanced.tm]()).
void updateATM | ( | int | nblk, |
int | blksize, | ||
int | cstwind, | ||
int | cstpress, | ||
int | windnx, | ||
int | windny, | ||
float | winddx, | ||
float | windxo, | ||
float | windyo, | ||
float | Uwndi, | ||
float | Vwndi, | ||
float | theta, | ||
float | dt, | ||
float | eps, | ||
float | g, | ||
float | CFL, | ||
float | delta, | ||
float | Cd, | ||
float | Pa2m, | ||
float * | hh, | ||
float * | zs, | ||
float * | uu, | ||
float * | vv, | ||
float *& | dh, | ||
float *& | dhu, | ||
float *& | dhv, | ||
float * | Uwnd, | ||
float * | Vwnd, | ||
float * | Patm | ||
) |
In the case of adaptive refinement, care must be taken to ensure well-balancing at coarse/fine faces (see [notes/balanced.tm]()).
In the case of adaptive refinement, care must be taken to ensure well-balancing at coarse/fine faces (see [notes/balanced.tm]()).
void updateD | ( | int | nblk, |
int | blksize, | ||
double | theta, | ||
double | dt, | ||
double | eps, | ||
double | g, | ||
double | CFL, | ||
double | delta, | ||
double * | hh, | ||
double * | zs, | ||
double * | uu, | ||
double * | vv, | ||
double *& | dh, | ||
double *& | dhu, | ||
double *& | dhv | ||
) |
In the case of adaptive refinement, care must be taken to ensure well-balancing at coarse/fine faces (see [notes/balanced.tm]()).
In the case of adaptive refinement, care must be taken to ensure well-balancing at coarse/fine faces (see [notes/balanced.tm]()).
void write2varnc | ( | int | nx, |
int | ny, | ||
double | totaltime, | ||
float * | var | ||
) |