BG_Flood  0.8
Documentation (Work-in-progress)
Kurganov.cu File Reference
#include "Kurganov.h"
Include dependency graph for Kurganov.cu:

Functions

template<class T >
__global__ void updateKurgXGPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, FluxP< T > XFlux, T *dtmax, T *zb)
 
template __global__ void updateKurgXGPU< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, FluxP< float > XFlux, float *dtmax, float *zb)
 
template __global__ void updateKurgXGPU< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, FluxP< double > XFlux, double *dtmax, double *zb)
 
template<class T >
__global__ void updateKurgXATMGPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, FluxP< T > XFlux, T *dtmax, T *zb, T *Patm, T *dPdx)
 
template __global__ void updateKurgXATMGPU< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, FluxP< float > XFlux, float *dtmax, float *zb, float *Patm, float *dPdx)
 
template __global__ void updateKurgXATMGPU< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, FluxP< double > XFlux, double *dtmax, double *zb, double *Patm, double *dPdx)
 
template<class T >
__global__ void AddSlopeSourceXGPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, FluxP< T > XFlux, T *zb)
 
template __global__ void AddSlopeSourceXGPU< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, FluxP< float > XFlux, float *zb)
 
template __global__ void AddSlopeSourceXGPU< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, FluxP< double > XFlux, double *zb)
 
template<class T >
__host__ void updateKurgXCPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, FluxP< T > XFlux, T *dtmax, T *zb)
 
template __host__ void updateKurgXCPU< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, FluxP< float > XFlux, float *dtmax, float *zb)
 
template __host__ void updateKurgXCPU< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, FluxP< double > XFlux, double *dtmax, double *zb)
 
template<class T >
__host__ void updateKurgXATMCPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, FluxP< T > XFlux, T *dtmax, T *zb, T *Patm, T *dPdx)
 
template __host__ void updateKurgXATMCPU< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, FluxP< float > XFlux, float *dtmax, float *zb, float *Patm, float *dPdx)
 
template __host__ void updateKurgXATMCPU< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, FluxP< double > XFlux, double *dtmax, double *zb, double *Patm, double *dPdx)
 
template<class T >
__host__ void AddSlopeSourceXCPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, FluxP< T > XFlux, T *zb)
 
template __host__ void AddSlopeSourceXCPU< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, FluxP< float > XFlux, float *zb)
 
template __host__ void AddSlopeSourceXCPU< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, FluxP< double > XFlux, double *zb)
 
template<class T >
__global__ void updateKurgYGPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, FluxP< T > XFlux, T *dtmax, T *zb)
 
template __global__ void updateKurgYGPU< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, FluxP< float > XFlux, float *dtmax, float *zb)
 
template __global__ void updateKurgYGPU< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, FluxP< double > XFlux, double *dtmax, double *zb)
 
template<class T >
__global__ void updateKurgYATMGPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, FluxP< T > XFlux, T *dtmax, T *zb, T *Patm, T *dPdy)
 
template __global__ void updateKurgYATMGPU< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, FluxP< float > XFlux, float *dtmax, float *zb, float *Patm, float *dPdy)
 
template __global__ void updateKurgYATMGPU< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, FluxP< double > XFlux, double *dtmax, double *zb, double *Patm, double *dPdy)
 
template<class T >
__global__ void AddSlopeSourceYGPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, FluxP< T > XFlux, T *zb)
 
template __global__ void AddSlopeSourceYGPU< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, FluxP< float > XFlux, float *zb)
 
template __global__ void AddSlopeSourceYGPU< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, FluxP< double > XFlux, double *zb)
 
template<class T >
__host__ void updateKurgYCPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, FluxP< T > XFlux, T *dtmax, T *zb)
 
template __host__ void updateKurgYCPU< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, FluxP< float > XFlux, float *dtmax, float *zb)
 
template __host__ void updateKurgYCPU< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, FluxP< double > XFlux, double *dtmax, double *zb)
 
template<class T >
__host__ void updateKurgYATMCPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, FluxP< T > XFlux, T *dtmax, T *zb, T *Patm, T *dPdy)
 
template __host__ void updateKurgYATMCPU< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, FluxP< float > XFlux, float *dtmax, float *zb, float *Patm, float *dPdy)
 
template __host__ void updateKurgYATMCPU< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, FluxP< double > XFlux, double *dtmax, double *zb, double *Patm, double *dPdy)
 
template<class T >
__host__ void AddSlopeSourceYCPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, GradientsP< T > XGrad, FluxP< T > XFlux, T *zb)
 
template __host__ void AddSlopeSourceYCPU< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, GradientsP< float > XGrad, FluxP< float > XFlux, float *zb)
 
template __host__ void AddSlopeSourceYCPU< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, GradientsP< double > XGrad, FluxP< double > XFlux, double *zb)
 
template<class T >
__host__ __device__ T KurgSolver (T g, T delta, T epsi, T CFL, T cm, T fm, T hp, T hm, T up, T um, T &fh, T &fu)
 

Function Documentation

◆ AddSlopeSourceXCPU()

template<class T >
__host__ void AddSlopeSourceXCPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
FluxP< T >  XFlux,
T *  zb 
)

◆ AddSlopeSourceXCPU< double >()

template __host__ void AddSlopeSourceXCPU< double > ( Param  XParam,
BlockP< double >  XBlock,
EvolvingP< double >  XEv,
GradientsP< double >  XGrad,
FluxP< double >  XFlux,
double *  zb 
)

◆ AddSlopeSourceXCPU< float >()

template __host__ void AddSlopeSourceXCPU< float > ( Param  XParam,
BlockP< float >  XBlock,
EvolvingP< float >  XEv,
GradientsP< float >  XGrad,
FluxP< float >  XFlux,
float *  zb 
)

◆ AddSlopeSourceXGPU()

template<class T >
__global__ void AddSlopeSourceXGPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
FluxP< T >  XFlux,
T *  zb 
)

◆ AddSlopeSourceXGPU< double >()

template __global__ void AddSlopeSourceXGPU< double > ( Param  XParam,
BlockP< double >  XBlock,
EvolvingP< double >  XEv,
GradientsP< double >  XGrad,
FluxP< double >  XFlux,
double *  zb 
)

◆ AddSlopeSourceXGPU< float >()

template __global__ void AddSlopeSourceXGPU< float > ( Param  XParam,
BlockP< float >  XBlock,
EvolvingP< float >  XEv,
GradientsP< float >  XGrad,
FluxP< float >  XFlux,
float *  zb 
)

◆ AddSlopeSourceYCPU()

template<class T >
__host__ void AddSlopeSourceYCPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
FluxP< T >  XFlux,
T *  zb 
)

◆ AddSlopeSourceYCPU< double >()

template __host__ void AddSlopeSourceYCPU< double > ( Param  XParam,
BlockP< double >  XBlock,
EvolvingP< double >  XEv,
GradientsP< double >  XGrad,
FluxP< double >  XFlux,
double *  zb 
)

◆ AddSlopeSourceYCPU< float >()

template __host__ void AddSlopeSourceYCPU< float > ( Param  XParam,
BlockP< float >  XBlock,
EvolvingP< float >  XEv,
GradientsP< float >  XGrad,
FluxP< float >  XFlux,
float *  zb 
)

◆ AddSlopeSourceYGPU()

template<class T >
__global__ void AddSlopeSourceYGPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
FluxP< T >  XFlux,
T *  zb 
)

◆ AddSlopeSourceYGPU< double >()

template __global__ void AddSlopeSourceYGPU< double > ( Param  XParam,
BlockP< double >  XBlock,
EvolvingP< double >  XEv,
GradientsP< double >  XGrad,
FluxP< double >  XFlux,
double *  zb 
)

◆ AddSlopeSourceYGPU< float >()

template __global__ void AddSlopeSourceYGPU< float > ( Param  XParam,
BlockP< float >  XBlock,
EvolvingP< float >  XEv,
GradientsP< float >  XGrad,
FluxP< float >  XFlux,
float *  zb 
)

◆ KurgSolver()

template<class T >
__host__ __device__ T KurgSolver ( g,
delta,
epsi,
CFL,
cm,
fm,
hp,
hm,
up,
um,
T &  fh,
T &  fu 
)

◆ updateKurgXATMCPU()

template<class T >
__host__ void updateKurgXATMCPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
FluxP< T >  XFlux,
T *  dtmax,
T *  zb,
T *  Patm,
T *  dPdx 
)

◆ updateKurgXATMCPU< double >()

template __host__ void updateKurgXATMCPU< double > ( Param  XParam,
BlockP< double >  XBlock,
EvolvingP< double >  XEv,
GradientsP< double >  XGrad,
FluxP< double >  XFlux,
double *  dtmax,
double *  zb,
double *  Patm,
double *  dPdx 
)

◆ updateKurgXATMCPU< float >()

template __host__ void updateKurgXATMCPU< float > ( Param  XParam,
BlockP< float >  XBlock,
EvolvingP< float >  XEv,
GradientsP< float >  XGrad,
FluxP< float >  XFlux,
float *  dtmax,
float *  zb,
float *  Patm,
float *  dPdx 
)

◆ updateKurgXATMGPU()

template<class T >
__global__ void updateKurgXATMGPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
FluxP< T >  XFlux,
T *  dtmax,
T *  zb,
T *  Patm,
T *  dPdx 
)

◆ updateKurgXATMGPU< double >()

template __global__ void updateKurgXATMGPU< double > ( Param  XParam,
BlockP< double >  XBlock,
EvolvingP< double >  XEv,
GradientsP< double >  XGrad,
FluxP< double >  XFlux,
double *  dtmax,
double *  zb,
double *  Patm,
double *  dPdx 
)

◆ updateKurgXATMGPU< float >()

template __global__ void updateKurgXATMGPU< float > ( Param  XParam,
BlockP< float >  XBlock,
EvolvingP< float >  XEv,
GradientsP< float >  XGrad,
FluxP< float >  XFlux,
float *  dtmax,
float *  zb,
float *  Patm,
float *  dPdx 
)

◆ updateKurgXCPU()

template<class T >
__host__ void updateKurgXCPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
FluxP< T >  XFlux,
T *  dtmax,
T *  zb 
)

◆ updateKurgXCPU< double >()

template __host__ void updateKurgXCPU< double > ( Param  XParam,
BlockP< double >  XBlock,
EvolvingP< double >  XEv,
GradientsP< double >  XGrad,
FluxP< double >  XFlux,
double *  dtmax,
double *  zb 
)

◆ updateKurgXCPU< float >()

template __host__ void updateKurgXCPU< float > ( Param  XParam,
BlockP< float >  XBlock,
EvolvingP< float >  XEv,
GradientsP< float >  XGrad,
FluxP< float >  XFlux,
float *  dtmax,
float *  zb 
)

◆ updateKurgXGPU()

template<class T >
__global__ void updateKurgXGPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
FluxP< T >  XFlux,
T *  dtmax,
T *  zb 
)

◆ updateKurgXGPU< double >()

template __global__ void updateKurgXGPU< double > ( Param  XParam,
BlockP< double >  XBlock,
EvolvingP< double >  XEv,
GradientsP< double >  XGrad,
FluxP< double >  XFlux,
double *  dtmax,
double *  zb 
)

◆ updateKurgXGPU< float >()

template __global__ void updateKurgXGPU< float > ( Param  XParam,
BlockP< float >  XBlock,
EvolvingP< float >  XEv,
GradientsP< float >  XGrad,
FluxP< float >  XFlux,
float *  dtmax,
float *  zb 
)

◆ updateKurgYATMCPU()

template<class T >
__host__ void updateKurgYATMCPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
FluxP< T >  XFlux,
T *  dtmax,
T *  zb,
T *  Patm,
T *  dPdy 
)

Topographic source term

In the case of adaptive refinement, care must be taken to ensure well-balancing at coarse/fine faces

◆ updateKurgYATMCPU< double >()

template __host__ void updateKurgYATMCPU< double > ( Param  XParam,
BlockP< double >  XBlock,
EvolvingP< double >  XEv,
GradientsP< double >  XGrad,
FluxP< double >  XFlux,
double *  dtmax,
double *  zb,
double *  Patm,
double *  dPdy 
)

◆ updateKurgYATMCPU< float >()

template __host__ void updateKurgYATMCPU< float > ( Param  XParam,
BlockP< float >  XBlock,
EvolvingP< float >  XEv,
GradientsP< float >  XGrad,
FluxP< float >  XFlux,
float *  dtmax,
float *  zb,
float *  Patm,
float *  dPdy 
)

◆ updateKurgYATMGPU()

template<class T >
__global__ void updateKurgYATMGPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
FluxP< T >  XFlux,
T *  dtmax,
T *  zb,
T *  Patm,
T *  dPdy 
)

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]()).

◆ updateKurgYATMGPU< double >()

template __global__ void updateKurgYATMGPU< double > ( Param  XParam,
BlockP< double >  XBlock,
EvolvingP< double >  XEv,
GradientsP< double >  XGrad,
FluxP< double >  XFlux,
double *  dtmax,
double *  zb,
double *  Patm,
double *  dPdy 
)

◆ updateKurgYATMGPU< float >()

template __global__ void updateKurgYATMGPU< float > ( Param  XParam,
BlockP< float >  XBlock,
EvolvingP< float >  XEv,
GradientsP< float >  XGrad,
FluxP< float >  XFlux,
float *  dtmax,
float *  zb,
float *  Patm,
float *  dPdy 
)

◆ updateKurgYCPU()

template<class T >
__host__ void updateKurgYCPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
FluxP< T >  XFlux,
T *  dtmax,
T *  zb 
)

Topographic source term

In the case of adaptive refinement, care must be taken to ensure well-balancing at coarse/fine faces

◆ updateKurgYCPU< double >()

template __host__ void updateKurgYCPU< double > ( Param  XParam,
BlockP< double >  XBlock,
EvolvingP< double >  XEv,
GradientsP< double >  XGrad,
FluxP< double >  XFlux,
double *  dtmax,
double *  zb 
)

◆ updateKurgYCPU< float >()

template __host__ void updateKurgYCPU< float > ( Param  XParam,
BlockP< float >  XBlock,
EvolvingP< float >  XEv,
GradientsP< float >  XGrad,
FluxP< float >  XFlux,
float *  dtmax,
float *  zb 
)

◆ updateKurgYGPU()

template<class T >
__global__ void updateKurgYGPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEv,
GradientsP< T >  XGrad,
FluxP< T >  XFlux,
T *  dtmax,
T *  zb 
)

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]()).

◆ updateKurgYGPU< double >()

template __global__ void updateKurgYGPU< double > ( Param  XParam,
BlockP< double >  XBlock,
EvolvingP< double >  XEv,
GradientsP< double >  XGrad,
FluxP< double >  XFlux,
double *  dtmax,
double *  zb 
)

◆ updateKurgYGPU< float >()

template __global__ void updateKurgYGPU< float > ( Param  XParam,
BlockP< float >  XBlock,
EvolvingP< float >  XEv,
GradientsP< float >  XGrad,
FluxP< float >  XFlux,
float *  dtmax,
float *  zb 
)