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:
TData type (float or double)
Parameters:
halowidthHalo widthblkmemwidthBlock memory widthepsDry thresholdibBlock indexibnNeighbor block indexihaloHalo i-indexjhaloHalo j-indexipParent i-indexjpParent j-indexhWater depth arrayzsWater surface arrayzbBed 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:
TData type (float or double)
Parameters:
XParamSimulation parametersXBlockBlock data structureXEvEvolving variables structurezbBed 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:
TData type (float or double)
Parameters:
XParamSimulation parametersXBlockBlock data structureXEvEvolving variables structurezbBed 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:
TData type (float or double)
Parameters:
XParamSimulation parametersXBlockBlock data structureXEvEvolving variables structurezbBed 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:
TData type (float or double)
Parameters:
XParamSimulation parametersXBlockBlock data structureXEvEvolving variables structurezbBed 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:
TData type (float or double)
Parameters:
XParamSimulation parametersXBlockBlock data structureXEvEvolving variables structurezbBed 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:
TData type (float or double)
Parameters:
XParamSimulation parametersXBlockBlock data structureXEvEvolving variables structurezbBed 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:
TData type (float or double)
Parameters:
XParamSimulation parametersXBlockBlock data structurehWater depth arrayzsWater surface arrayzbBed elevation arraydhdxWater depth gradient xdzsdxWater surface gradient xdhdyWater depth gradient ydzsdyWater 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