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

Functions

template<class T >
__global__ void bottomfrictionGPU (Param XParam, BlockP< T > XBlock, T dt, T *cf, EvolvingP< T > XEvolv)
 
template __global__ void bottomfrictionGPU< float > (Param XParam, BlockP< float > XBlock, float dt, float *cf, EvolvingP< float > XEvolv)
 
template __global__ void bottomfrictionGPU< double > (Param XParam, BlockP< double > XBlock, double dt, double *cf, EvolvingP< double > XEvolv)
 
template<class T >
__host__ void bottomfrictionCPU (Param XParam, BlockP< T > XBlock, T dt, T *cf, EvolvingP< T > XEvolv)
 
template __host__ void bottomfrictionCPU< float > (Param XParam, BlockP< float > XBlock, float dt, float *cf, EvolvingP< float > XEvolv)
 
template __host__ void bottomfrictionCPU< double > (Param XParam, BlockP< double > XBlock, double dt, double *cf, EvolvingP< double > XEvolv)
 
template<class T >
__host__ void XiafrictionCPU (Param XParam, BlockP< T > XBlock, T dt, T *cf, EvolvingP< T > XEvolv, EvolvingP< T > XEvolv_o)
 
template __host__ void XiafrictionCPU< float > (Param XParam, BlockP< float > XBlock, float dt, float *cf, EvolvingP< float > XEvolv, EvolvingP< float > XEvolv_o)
 
template __host__ void XiafrictionCPU< double > (Param XParam, BlockP< double > XBlock, double dt, double *cf, EvolvingP< double > XEvolv, EvolvingP< double > XEvolv_o)
 
template<class T >
__global__ void XiafrictionGPU (Param XParam, BlockP< T > XBlock, T dt, T *cf, EvolvingP< T > XEvolv, EvolvingP< T > XEvolv_o)
 
template __global__ void XiafrictionGPU< float > (Param XParam, BlockP< float > XBlock, float dt, float *cf, EvolvingP< float > XEvolv, EvolvingP< float > XEvolv_o)
 
template __global__ void XiafrictionGPU< double > (Param XParam, BlockP< double > XBlock, double dt, double *cf, EvolvingP< double > XEvolv, EvolvingP< double > XEvolv_o)
 
template<class T >
__host__ __device__ T smartfriction (T hi, T zo)
 
template<class T >
__host__ __device__ T manningfriction (T g, T hi, T n)
 
template<class T >
__global__ void TheresholdVelGPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEvolv)
 Function Used to prevent crazy velocity on the GPU. More...
 
template __global__ void TheresholdVelGPU< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEvolv)
 
template __global__ void TheresholdVelGPU< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEvolv)
 
template<class T >
__host__ void TheresholdVelCPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEvolv)
 Function Used to prevent crazy velocity on the CPU. More...
 
template __host__ void TheresholdVelCPU< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEvolv)
 
template __host__ void TheresholdVelCPU< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEvolv)
 
template<class T >
__host__ __device__ bool ThresholdVelocity (T Threshold, T &u, T &v)
 Function Used to prevent crazy velocity. More...
 

Function Documentation

◆ bottomfrictionCPU()

template<class T >
__host__ void bottomfrictionCPU ( Param  XParam,
BlockP< T >  XBlock,
dt,
T *  cf,
EvolvingP< T >  XEvolv 
)

◆ bottomfrictionCPU< double >()

template __host__ void bottomfrictionCPU< double > ( Param  XParam,
BlockP< double >  XBlock,
double  dt,
double *  cf,
EvolvingP< double >  XEvolv 
)

◆ bottomfrictionCPU< float >()

template __host__ void bottomfrictionCPU< float > ( Param  XParam,
BlockP< float >  XBlock,
float  dt,
float *  cf,
EvolvingP< float >  XEvolv 
)

◆ bottomfrictionGPU()

template<class T >
__global__ void bottomfrictionGPU ( Param  XParam,
BlockP< T >  XBlock,
dt,
T *  cf,
EvolvingP< T >  XEvolv 
)

◆ bottomfrictionGPU< double >()

template __global__ void bottomfrictionGPU< double > ( Param  XParam,
BlockP< double >  XBlock,
double  dt,
double *  cf,
EvolvingP< double >  XEvolv 
)

◆ bottomfrictionGPU< float >()

template __global__ void bottomfrictionGPU< float > ( Param  XParam,
BlockP< float >  XBlock,
float  dt,
float *  cf,
EvolvingP< float >  XEvolv 
)

◆ manningfriction()

template<class T >
__host__ __device__ T manningfriction ( g,
hi,
n 
)

◆ smartfriction()

template<class T >
__host__ __device__ T smartfriction ( hi,
zo 
)

◆ TheresholdVelCPU()

template<class T >
void TheresholdVelCPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEvolv 
)

Function Used to prevent crazy velocity on the CPU.

The function wraps teh main functio for the CPU.

◆ TheresholdVelCPU< double >()

template __host__ void TheresholdVelCPU< double > ( Param  XParam,
BlockP< double >  XBlock,
EvolvingP< double >  XEvolv 
)

◆ TheresholdVelCPU< float >()

template __host__ void TheresholdVelCPU< float > ( Param  XParam,
BlockP< float >  XBlock,
EvolvingP< float >  XEvolv 
)

◆ TheresholdVelGPU()

template<class T >
void TheresholdVelGPU ( Param  XParam,
BlockP< T >  XBlock,
EvolvingP< T >  XEvolv 
)

Function Used to prevent crazy velocity on the GPU.

The function wraps the main function for the GPU.

◆ TheresholdVelGPU< double >()

template __global__ void TheresholdVelGPU< double > ( Param  XParam,
BlockP< double >  XBlock,
EvolvingP< double >  XEvolv 
)

◆ TheresholdVelGPU< float >()

template __global__ void TheresholdVelGPU< float > ( Param  XParam,
BlockP< float >  XBlock,
EvolvingP< float >  XEvolv 
)

◆ ThresholdVelocity()

template<class T >
bool ThresholdVelocity ( Threshold,
T &  u,
T &  v 
)

Function Used to prevent crazy velocity.

The function scale velocities so it doesn't exceeds a given threshold. Default threshold is/should be 16.0m/s

◆ XiafrictionCPU()

template<class T >
__host__ void XiafrictionCPU ( Param  XParam,
BlockP< T >  XBlock,
dt,
T *  cf,
EvolvingP< T >  XEvolv,
EvolvingP< T >  XEvolv_o 
)

◆ XiafrictionCPU< double >()

template __host__ void XiafrictionCPU< double > ( Param  XParam,
BlockP< double >  XBlock,
double  dt,
double *  cf,
EvolvingP< double >  XEvolv,
EvolvingP< double >  XEvolv_o 
)

◆ XiafrictionCPU< float >()

template __host__ void XiafrictionCPU< float > ( Param  XParam,
BlockP< float >  XBlock,
float  dt,
float *  cf,
EvolvingP< float >  XEvolv,
EvolvingP< float >  XEvolv_o 
)

◆ XiafrictionGPU()

template<class T >
__global__ void XiafrictionGPU ( Param  XParam,
BlockP< T >  XBlock,
dt,
T *  cf,
EvolvingP< T >  XEvolv,
EvolvingP< T >  XEvolv_o 
)

◆ XiafrictionGPU< double >()

template __global__ void XiafrictionGPU< double > ( Param  XParam,
BlockP< double >  XBlock,
double  dt,
double *  cf,
EvolvingP< double >  XEvolv,
EvolvingP< double >  XEvolv_o 
)

◆ XiafrictionGPU< float >()

template __global__ void XiafrictionGPU< float > ( Param  XParam,
BlockP< float >  XBlock,
float  dt,
float *  cf,
EvolvingP< float >  XEvolv,
EvolvingP< float >  XEvolv_o 
)