File ConserveElevation.h
FileList > src > ConserveElevation.h
Go to the source code of this file
#include "General.h"
#include "Param.h"
#include "Write_txtlog.h"
#include "Util_CPU.h"
#include "Arrays.h"
#include "MemManagement.h"
Public Functions
Type | Name |
---|---|
__host__ __device__ void | ProlongationElevation (int halowidth, int blkmemwidth, T eps, int ib, int ibn, int ihalo, int jhalo, int ip, int jp, T * h, T * zs, T * zb) Prolongs elevation values from parent to child block halo cells, handling dry/wet logic. |
void | WetDryProlongation (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) Performs wet/dry prolongation for all block boundaries. |
void | WetDryProlongationGPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) Performs wet/dry prolongation for all block boundaries on the GPU using CUDA kernels. |
__global__ void | WetDryProlongationGPUBot (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) |
__global__ void | WetDryProlongationGPULeft (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) |
__global__ void | WetDryProlongationGPURight (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) |
__global__ void | WetDryProlongationGPUTop (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) |
void | WetDryRestriction (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) Performs wet/dry restriction for all block boundaries. |
void | WetDryRestrictionGPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) Performs wet/dry restriction for all block boundaries on the GPU using CUDA kernels. |
__global__ void | WetDryRestrictionGPUBot (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) |
__global__ void | WetDryRestrictionGPULeft (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) |
__global__ void | WetDryRestrictionGPURight (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) |
__global__ void | WetDryRestrictionGPUTop (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) |
void | conserveElevation (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) Conserves elevation across all active blocks by applying elevation conservation on each block's boundaries. |
void | conserveElevationBot (Param XParam, int ib, int ibBL, int ibBR, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) |
__global__ void | conserveElevationBot (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) |
void | conserveElevationGHBot (Param XParam, int ib, int ibBL, int ibBR, BlockP< T > XBlock, T * h, T * zs, T * zb, T * dhdx, T * dzsdx) |
__global__ void | conserveElevationGHBot (Param XParam, BlockP< T > XBlock, T * h, T * zs, T * zb, T * dhdx, T * dzsdx) |
void | conserveElevationGHLeft (Param XParam, int ib, int ibLB, int ibLT, BlockP< T > XBlock, T * h, T * zs, T * zb, T * dhdx, T * dzsdx) |
__global__ void | conserveElevationGHLeft (Param XParam, BlockP< T > XBlock, T * h, T * zs, T * zb, T * dhdx, T * dzsdx) |
void | conserveElevationGHRight (Param XParam, int ib, int ibRB, int ibRT, BlockP< T > XBlock, T * h, T * zs, T * zb, T * dhdx, T * dzsdx) |
__global__ void | conserveElevationGHRight (Param XParam, BlockP< T > XBlock, T * h, T * zs, T * zb, T * dhdx, T * dzsdx) |
void | conserveElevationGHTop (Param XParam, int ib, int ibTL, int ibTR, BlockP< T > XBlock, T * h, T * zs, T * zb, T * dhdx, T * dzsdx) |
__global__ void | conserveElevationGHTop (Param XParam, BlockP< T > XBlock, T * h, T * zs, T * zb, T * dhdx, T * dzsdx) |
void | conserveElevationGPU (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) Conserves elevation on the GPU for all active blocks using CUDA kernels. |
void | conserveElevationGradHalo (Param XParam, BlockP< T > XBlock, T * h, T * zs, T * zb, T * dhdx, T * dzsdx, T * dhdy, T * dzsdy) Conserves elevation gradients in halo cells for all active blocks. |
void | conserveElevationGradHaloGPU (Param XParam, BlockP< T > XBlock, T * h, T * zs, T * zb, T * dhdx, T * dzsdx, T * dhdy, T * dzsdy) |
void | conserveElevationLeft (Param XParam, int ib, int ibLB, int ibLT, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) |
__global__ void | conserveElevationLeft (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) |
void | conserveElevationRight (Param XParam, int ib, int ibRB, int ibRT, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) |
__global__ void | conserveElevationRight (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) |
void | conserveElevationTop (Param XParam, int ib, int ibTL, int ibTR, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) |
__global__ void | conserveElevationTop (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb) |
__host__ __device__ void | wetdryrestriction (int halowidth, int blkmemwidth, T eps, int ib, int ibn, int ihalo, int jhalo, int i, int j, T * h, T * zs, T * zb) |
Public Functions Documentation
function ProlongationElevation
Prolongs elevation values from parent to child block halo cells, handling dry/wet logic.
template<class T>
__host__ __device__ void ProlongationElevation (
int halowidth,
int blkmemwidth,
T eps,
int ib,
int ibn,
int ihalo,
int jhalo,
int ip,
int jp,
T * h,
T * zs,
T * zb
)
Copies elevation and water surface values from parent to child halo if any neighbor is dry.
Template parameters:
T
Data type (float or double)
Parameters:
halowidth
Halo widthblkmemwidth
Block memory widtheps
Dry thresholdib
Block indexibn
Neighbor block indexihalo
Halo i-indexjhalo
Halo j-indexip
Parent i-indexjp
Parent j-indexh
Water depth arrayzs
Water surface arrayzb
Bed elevation array
function WetDryProlongation
Performs wet/dry prolongation for all block boundaries.
template<class T>
void WetDryProlongation (
Param XParam,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
Applies prolongation logic to left, right, top, and bottom boundaries where block level is greater than neighbor.
Template parameters:
T
Data type (float or double)
Parameters:
XParam
Simulation parametersXBlock
Block data structureXEv
Evolving variables structurezb
Bed elevation array
function WetDryProlongationGPU
Performs wet/dry prolongation for all block boundaries on the GPU using CUDA kernels.
template<class T>
void WetDryProlongationGPU (
Param XParam,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
Launches CUDA kernels for left, right, top, and bottom boundaries, synchronizing after each.
Template parameters:
T
Data type (float or double)
Parameters:
XParam
Simulation parametersXBlock
Block data structureXEv
Evolving variables structurezb
Bed elevation array
function WetDryProlongationGPUBot
template<class T>
__global__ void WetDryProlongationGPUBot (
Param XParam,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
function WetDryProlongationGPULeft
template<class T>
__global__ void WetDryProlongationGPULeft (
Param XParam,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
function WetDryProlongationGPURight
template<class T>
__global__ void WetDryProlongationGPURight (
Param XParam,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
function WetDryProlongationGPUTop
template<class T>
__global__ void WetDryProlongationGPUTop (
Param XParam,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
function WetDryRestriction
Performs wet/dry restriction for all block boundaries.
template<class T>
void WetDryRestriction (
Param XParam,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
Applies restriction logic to left, right, top, and bottom boundaries where block level is less than neighbor.
Template parameters:
T
Data type (float or double)
Parameters:
XParam
Simulation parametersXBlock
Block data structureXEv
Evolving variables structurezb
Bed elevation array
function WetDryRestrictionGPU
Performs wet/dry restriction for all block boundaries on the GPU using CUDA kernels.
template<class T>
void WetDryRestrictionGPU (
Param XParam,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
Launches CUDA kernels for left, right, top, and bottom boundaries, synchronizing after each.
Template parameters:
T
Data type (float or double)
Parameters:
XParam
Simulation parametersXBlock
Block data structureXEv
Evolving variables structurezb
Bed elevation array
function WetDryRestrictionGPUBot
template<class T>
__global__ void WetDryRestrictionGPUBot (
Param XParam,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
function WetDryRestrictionGPULeft
template<class T>
__global__ void WetDryRestrictionGPULeft (
Param XParam,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
function WetDryRestrictionGPURight
template<class T>
__global__ void WetDryRestrictionGPURight (
Param XParam,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
function WetDryRestrictionGPUTop
template<class T>
__global__ void WetDryRestrictionGPUTop (
Param XParam,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
function conserveElevation
Conserves elevation across all active blocks by applying elevation conservation on each block's boundaries.
template<class T>
void conserveElevation (
Param XParam,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
Iterates over all active blocks and applies conservation routines for left, right, top, and bottom boundaries.
Template parameters:
T
Data type (float or double)
Parameters:
XParam
Simulation parametersXBlock
Block data structureXEv
Evolving variables structurezb
Bed elevation array
function conserveElevationBot
template<class T>
void conserveElevationBot (
Param XParam,
int ib,
int ibBL,
int ibBR,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
function conserveElevationBot
template<class T>
__global__ void conserveElevationBot (
Param XParam,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
function conserveElevationGHBot
template<class T>
void conserveElevationGHBot (
Param XParam,
int ib,
int ibBL,
int ibBR,
BlockP < T > XBlock,
T * h,
T * zs,
T * zb,
T * dhdx,
T * dzsdx
)
function conserveElevationGHBot
template<class T>
__global__ void conserveElevationGHBot (
Param XParam,
BlockP < T > XBlock,
T * h,
T * zs,
T * zb,
T * dhdx,
T * dzsdx
)
function conserveElevationGHLeft
template<class T>
void conserveElevationGHLeft (
Param XParam,
int ib,
int ibLB,
int ibLT,
BlockP < T > XBlock,
T * h,
T * zs,
T * zb,
T * dhdx,
T * dzsdx
)
function conserveElevationGHLeft
template<class T>
__global__ void conserveElevationGHLeft (
Param XParam,
BlockP < T > XBlock,
T * h,
T * zs,
T * zb,
T * dhdx,
T * dzsdx
)
function conserveElevationGHRight
template<class T>
void conserveElevationGHRight (
Param XParam,
int ib,
int ibRB,
int ibRT,
BlockP < T > XBlock,
T * h,
T * zs,
T * zb,
T * dhdx,
T * dzsdx
)
function conserveElevationGHRight
template<class T>
__global__ void conserveElevationGHRight (
Param XParam,
BlockP < T > XBlock,
T * h,
T * zs,
T * zb,
T * dhdx,
T * dzsdx
)
function conserveElevationGHTop
template<class T>
void conserveElevationGHTop (
Param XParam,
int ib,
int ibTL,
int ibTR,
BlockP < T > XBlock,
T * h,
T * zs,
T * zb,
T * dhdx,
T * dzsdx
)
function conserveElevationGHTop
template<class T>
__global__ void conserveElevationGHTop (
Param XParam,
BlockP < T > XBlock,
T * h,
T * zs,
T * zb,
T * dhdx,
T * dzsdx
)
function conserveElevationGPU
Conserves elevation on the GPU for all active blocks using CUDA kernels.
template<class T>
void conserveElevationGPU (
Param XParam,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
Launches CUDA kernels for left, right, top, and bottom boundaries, synchronizing after each.
Template parameters:
T
Data type (float or double)
Parameters:
XParam
Simulation parametersXBlock
Block data structureXEv
Evolving variables structurezb
Bed elevation array
function conserveElevationGradHalo
Conserves elevation gradients in halo cells for all active blocks.
template<class T>
void conserveElevationGradHalo (
Param XParam,
BlockP < T > XBlock,
T * h,
T * zs,
T * zb,
T * dhdx,
T * dzsdx,
T * dhdy,
T * dzsdy
)
Applies gradient conservation routines for left, right, top, and bottom boundaries.
Template parameters:
T
Data type (float or double)
Parameters:
XParam
Simulation parametersXBlock
Block data structureh
Water depth arrayzs
Water surface arrayzb
Bed elevation arraydhdx
Water depth gradient xdzsdx
Water surface gradient xdhdy
Water depth gradient ydzsdy
Water surface gradient y
function conserveElevationGradHaloGPU
template<class T>
void conserveElevationGradHaloGPU (
Param XParam,
BlockP < T > XBlock,
T * h,
T * zs,
T * zb,
T * dhdx,
T * dzsdx,
T * dhdy,
T * dzsdy
)
function conserveElevationLeft
template<class T>
void conserveElevationLeft (
Param XParam,
int ib,
int ibLB,
int ibLT,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
function conserveElevationLeft
template<class T>
__global__ void conserveElevationLeft (
Param XParam,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
function conserveElevationRight
template<class T>
void conserveElevationRight (
Param XParam,
int ib,
int ibRB,
int ibRT,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
function conserveElevationRight
template<class T>
__global__ void conserveElevationRight (
Param XParam,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
function conserveElevationTop
template<class T>
void conserveElevationTop (
Param XParam,
int ib,
int ibTL,
int ibTR,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
function conserveElevationTop
template<class T>
__global__ void conserveElevationTop (
Param XParam,
BlockP < T > XBlock,
EvolvingP < T > XEv,
T * zb
)
function wetdryrestriction
template<class T>
__host__ __device__ void wetdryrestriction (
int halowidth,
int blkmemwidth,
T eps,
int ib,
int ibn,
int ihalo,
int jhalo,
int i,
int j,
T * h,
T * zs,
T * zb
)
The documentation for this class was generated from the following file src/ConserveElevation.h