BG_Flood  0.8
Documentation (Work-in-progress)
Friction.h File Reference
#include "General.h"
#include "Param.h"
#include "Arrays.h"
#include "Forcing.h"
#include "MemManagement.h"
Include dependency graph for Friction.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<class T >
__global__ void bottomfrictionGPU (Param XParam, BlockP< T > XBlock, T dt, T *cf, EvolvingP< T > XEvolv)
 
template<class T >
__host__ void bottomfrictionCPU (Param XParam, BlockP< T > XBlock, T dt, T *cf, EvolvingP< T > XEvolv)
 
template<class T >
__host__ void XiafrictionCPU (Param XParam, BlockP< T > XBlock, T dt, T *cf, EvolvingP< T > XEvolv, EvolvingP< T > 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<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 >
__host__ __device__ bool ThresholdVelocity (T Threshold, T &u, T &v)
 Function Used to prevent crazy velocity. More...
 
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<class T >
__host__ void TheresholdVelCPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEvolv)
 Function Used to prevent crazy velocity on the CPU. More...
 

Function Documentation

◆ bottomfrictionCPU()

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

◆ bottomfrictionGPU()

template<class T >
__global__ void bottomfrictionGPU ( Param  XParam,
BlockP< T >  XBlock,
dt,
T *  cf,
EvolvingP< T >  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 >
__host__ 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.

◆ TheresholdVelGPU()

template<class T >
__global__ 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.

◆ ThresholdVelocity()

template<class T >
__host__ __device__ 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 
)

◆ XiafrictionGPU()

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