BG_Flood
0.8
Documentation (Work-in-progress)
|
#include "General.h"
#include "Param.h"
#include "Arrays.h"
#include "Forcing.h"
#include "MemManagement.h"
#include "Util_CPU.h"
Go to the source code of this file.
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<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<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<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<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... | |
__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.
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.
__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
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.
__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
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.
__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
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.
__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
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.