BG_Flood
0.8
Documentation (Work-in-progress)
|
#include "Reimann.h"
Functions | |
template<class T > | |
__global__ void | UpdateButtingerXGPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, FluxP< T > XFlux, T *dtmax, T *zb) |
"Adaptive" second-order hydrostatic reconstruction. GPU version for t X-axis More... | |
template __global__ void | UpdateButtingerXGPU (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, FluxP< float > XFlux, float *dtmax, float *zb) |
template __global__ void | UpdateButtingerXGPU (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, FluxP< double > XFlux, double *dtmax, double *zb) |
template<class T > | |
__host__ void | UpdateButtingerXCPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, FluxP< T > XFlux, T *dtmax, T *zb) |
"Adaptive" second-order hydrostatic reconstruction. CPU version for the X-axis More... | |
template __host__ void | UpdateButtingerXCPU (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, FluxP< float > XFlux, float *dtmax, float *zb) |
template __host__ void | UpdateButtingerXCPU (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, FluxP< double > XFlux, double *dtmax, double *zb) |
template<class T > | |
__global__ void | UpdateButtingerYGPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, FluxP< T > XFlux, T *dtmax, T *zb) |
"Adaptive" second-order hydrostatic reconstruction. GPU version for the Y-axis More... | |
template __global__ void | UpdateButtingerYGPU (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, FluxP< float > XFlux, float *dtmax, float *zb) |
template __global__ void | UpdateButtingerYGPU (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, FluxP< double > XFlux, double *dtmax, double *zb) |
template<class T > | |
__host__ void | UpdateButtingerYCPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, FluxP< T > XFlux, T *dtmax, T *zb) |
"Adaptive" second-order hydrostatic reconstruction. CPU version for the Y-axis More... | |
template __host__ void | UpdateButtingerYCPU (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, FluxP< float > XFlux, float *dtmax, float *zb) |
template __host__ void | UpdateButtingerYCPU (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, FluxP< double > XFlux, double *dtmax, double *zb) |
template<class T > | |
__host__ __device__ T | hllc (T g, T delta, T epsi, T CFL, T cm, T fm, T hm, T hp, T um, T up, T &fh, T &fq) |
Calculate the Harten-Lax-van Leer-contact (HLLC) flux. More... | |
T hllc | ( | T | g, |
T | delta, | ||
T | epsi, | ||
T | CFL, | ||
T | cm, | ||
T | fm, | ||
T | hm, | ||
T | hp, | ||
T | um, | ||
T | up, | ||
T & | fh, | ||
T & | fq | ||
) |
Calculate the Harten-Lax-van Leer-contact (HLLC) flux.
This an implementation of the HLLC solver.
This scheme was adapted/modified from the Basilisk source code. http://basilisk.fr/src/riemann.h
Reference: (Basilisk reference the scheme from Kurganov reference below) Kurganov, A., & Levy, D. (2002). Central-upwind schemes for the Saint-Venant system. Mathematical Modelling and Numerical Analysis, 36(3), 397-425.
template __host__ void UpdateButtingerXCPU | ( | Param | XParam, |
BlockP< double > | XBlock, | ||
EvolvingP< double > | XEv, | ||
GradientsP< double > | XGrad, | ||
FluxP< double > | XFlux, | ||
double * | dtmax, | ||
double * | zb | ||
) |
template __host__ void UpdateButtingerXCPU | ( | Param | XParam, |
BlockP< float > | XBlock, | ||
EvolvingP< float > | XEv, | ||
GradientsP< float > | XGrad, | ||
FluxP< float > | XFlux, | ||
float * | dtmax, | ||
float * | zb | ||
) |
void UpdateButtingerXCPU | ( | Param | XParam, |
BlockP< T > | XBlock, | ||
EvolvingP< T > | XEv, | ||
GradientsP< T > | XGrad, | ||
FluxP< T > | XFlux, | ||
T * | dtmax, | ||
T * | zb | ||
) |
"Adaptive" second-order hydrostatic reconstruction. CPU version for the X-axis
This function computes the flux term at the cell interface using the hydrostatic reconstruction from Buttinger et al (2019). This reconstruction is safe for steep slope with thin water depth and is well-balanced meaning that it conserve the "lake-at-rest" states.
For optimising the code on CPU and GPU there are 4 versions of this function: X or Y and CPU or GPU
This scheme was adapted/modified from the Basilisk / B-Flood source code. I (CypB) changed the zr and zl term back to the Audusse type reconstruction http://basilisk.fr/sandbox/b-flood/saint-venant-topo.h
Reference: Kirstetter, G., Delestre, O., Lagree, P.-Y., Popinet, S., and Josserand, C.: B-flood 1.0: an open-source Saint-Venant model for flash flood simulation using adaptive refinement, Geosci. Model Dev. Discuss. [preprint], https://doi.org/10.5194/gmd-2021-15, in review, 2021.* Buttinger-Kreuzhuber, A., Horvath, Z., Noelle, S., Bloschl, G., and Waser, J.: A fast second-order shallow water scheme on two-dimensional structured grids over abrupt topography, Advances in water resources, 127, 89-108, 2019.
template __global__ void UpdateButtingerXGPU | ( | Param | XParam, |
BlockP< double > | XBlock, | ||
EvolvingP< double > | XEv, | ||
GradientsP< double > | XGrad, | ||
FluxP< double > | XFlux, | ||
double * | dtmax, | ||
double * | zb | ||
) |
template __global__ void UpdateButtingerXGPU | ( | Param | XParam, |
BlockP< float > | XBlock, | ||
EvolvingP< float > | XEv, | ||
GradientsP< float > | XGrad, | ||
FluxP< float > | XFlux, | ||
float * | dtmax, | ||
float * | zb | ||
) |
void UpdateButtingerXGPU | ( | Param | XParam, |
BlockP< T > | XBlock, | ||
EvolvingP< T > | XEv, | ||
GradientsP< T > | XGrad, | ||
FluxP< T > | XFlux, | ||
T * | dtmax, | ||
T * | zb | ||
) |
"Adaptive" second-order hydrostatic reconstruction. GPU version for t X-axis
This function computes the flux term at the cell interface using the hydrostatic reconstruction from Buttinger et al (2019). This reconstruction is safe for steep slope with thin water depth and is well-balanced meaning that it conserve the "lake-at-rest" states.
For optimising the code on CPU and GPU there are 4 versions of this function: X or Y and CPU or GPU
This scheme was adapted/modified from the Basilisk / B-Flood source code. I (CypB) changed the zr and zl term back to the Audusse type reconstruction http://basilisk.fr/sandbox/b-flood/saint-venant-topo.h
Reference: Kirstetter, G., Delestre, O., Lagree, P.-Y., Popinet, S., and Josserand, C.: B-flood 1.0: an open-source Saint-Venant model for flash flood simulation using adaptive refinement, Geosci. Model Dev. Discuss. [preprint], https://doi.org/10.5194/gmd-2021-15, in review, 2021.* Buttinger-Kreuzhuber, A., Horvath, Z., Noelle, S., Bloschl, G., and Waser, J.: A fast second-order shallow water scheme on two-dimensional structured grids over abrupt topography, Advances in water resources, 127, 89-108, 2019.
template __host__ void UpdateButtingerYCPU | ( | Param | XParam, |
BlockP< double > | XBlock, | ||
EvolvingP< double > | XEv, | ||
GradientsP< double > | XGrad, | ||
FluxP< double > | XFlux, | ||
double * | dtmax, | ||
double * | zb | ||
) |
template __host__ void UpdateButtingerYCPU | ( | Param | XParam, |
BlockP< float > | XBlock, | ||
EvolvingP< float > | XEv, | ||
GradientsP< float > | XGrad, | ||
FluxP< float > | XFlux, | ||
float * | dtmax, | ||
float * | zb | ||
) |
void UpdateButtingerYCPU | ( | Param | XParam, |
BlockP< T > | XBlock, | ||
EvolvingP< T > | XEv, | ||
GradientsP< T > | XGrad, | ||
FluxP< T > | XFlux, | ||
T * | dtmax, | ||
T * | zb | ||
) |
"Adaptive" second-order hydrostatic reconstruction. CPU version for the Y-axis
This function computes the flux term at the cell interface using the hydrostatic reconstruction from Buttinger et al (2019). This reconstruction is safe for steep slope with thin water depth and is well-balanced meaning that it conserve the "lake-at-rest" states.
For optimising the code on CPU and GPU there are 4 versions of this function: X or Y and CPU or GPU
This scheme was adapted/modified from the Basilisk / B-Flood source code. I (CypB) changed the zr and zl term back to the Audusse type reconstruction http://basilisk.fr/sandbox/b-flood/saint-venant-topo.h
Reference: Kirstetter, G., Delestre, O., Lagree, P.-Y., Popinet, S., and Josserand, C.: B-flood 1.0: an open-source Saint-Venant model for flash flood simulation using adaptive refinement, Geosci. Model Dev. Discuss. [preprint], https://doi.org/10.5194/gmd-2021-15, in review, 2021.* Buttinger-Kreuzhuber, A., Horvath, Z., Noelle, S., Bloschl, G., and Waser, J.: A fast second-order shallow water scheme on two-dimensional structured grids over abrupt topography, Advances in water resources, 127, 89-108, 2019.
template __global__ void UpdateButtingerYGPU | ( | Param | XParam, |
BlockP< double > | XBlock, | ||
EvolvingP< double > | XEv, | ||
GradientsP< double > | XGrad, | ||
FluxP< double > | XFlux, | ||
double * | dtmax, | ||
double * | zb | ||
) |
template __global__ void UpdateButtingerYGPU | ( | Param | XParam, |
BlockP< float > | XBlock, | ||
EvolvingP< float > | XEv, | ||
GradientsP< float > | XGrad, | ||
FluxP< float > | XFlux, | ||
float * | dtmax, | ||
float * | zb | ||
) |
void UpdateButtingerYGPU | ( | Param | XParam, |
BlockP< T > | XBlock, | ||
EvolvingP< T > | XEv, | ||
GradientsP< T > | XGrad, | ||
FluxP< T > | XFlux, | ||
T * | dtmax, | ||
T * | zb | ||
) |
"Adaptive" second-order hydrostatic reconstruction. GPU version for the Y-axis
This function computes the flux term at the cell interface using the hydrostatic reconstruction from Buttinger et al (2019). This reconstruction is safe for steep slope with thin water depth and is well-balanced meaning that it conserve the "lake-at-rest" states.
For optimising the code on CPU and GPU there are 4 versions of this function: X or Y and CPU or GPU
This scheme was adapted/modified from the Basilisk / B-Flood source code. I (CypB) changed the zr and zl term back to the Audusse type reconstruction http://basilisk.fr/sandbox/b-flood/saint-venant-topo.h
Reference: Kirstetter, G., Delestre, O., Lagree, P.-Y., Popinet, S., and Josserand, C.: B-flood 1.0: an open-source Saint-Venant model for flash flood simulation using adaptive refinement, Geosci. Model Dev. Discuss. [preprint], https://doi.org/10.5194/gmd-2021-15, in review, 2021.* Buttinger-Kreuzhuber, A., Horvath, Z., Noelle, S., Bloschl, G., and Waser, J.: A fast second-order shallow water scheme on two-dimensional structured grids over abrupt topography, Advances in water resources, 127, 89-108, 2019.