Skip to content

File ConserveElevation.cu

FileList > src > ConserveElevation.cu

Go to the source code of this file

  • #include "ConserveElevation.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.
__host__ __device__ void ProlongationElevationGH (int halowidth, int blkmemwidth, T eps, int ib, int ibn, int ihalo, int jhalo, int ip, int jp, T * h, T * dhdx, T * dzsdx)
Prolongs gradient and water surface values from parent to child block halo cells, handling dry/wet logic.
__host__ __device__ void RevertProlongationElevation (int halowidth, int blkmemwidth, T eps, int ib, int ibn, int ihalo, int jhalo, int ip, int jp, int level, T dx, T * h, T * zb, T * dzbdx, T * dzbdy)
Reverts prolongation for elevation, adjusting bed elevation using gradients.
void WetDryProlongation (Param XParam, BlockP< T > XBlock, EvolvingP< T > XEv, T * zb)
Performs wet/dry prolongation for all block boundaries.
template void WetDryProlongation< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, double * zb)
template void WetDryProlongation< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, float * zb)
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.
template void WetDryProlongationGPU< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, double * zb)
template void WetDryProlongationGPU< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, float * zb)
__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.
template void WetDryRestriction< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, double * zb)
template void WetDryRestriction< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, float * zb)
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.
template void WetDryRestrictionGPU< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, double * zb)
template void WetDryRestrictionGPU< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, float * zb)
__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.
__host__ __device__ void conserveElevation (int halowidth, int blkmemwidth, T eps, int ib, int ibn, int ihalo, int jhalo, int i, int j, T * h, T * zs, T * zb)
Conserves elevation for a single halo cell using neighbor values.
__host__ __device__ void conserveElevation (T zb, T & zswet, T & hwet)
template void conserveElevation< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, double * zb)
template __host__ __device__ void conserveElevation< double > (int halowidth, int blkmemwidth, double eps, int ib, int ibn, int ihalo, int jhalo, int i, int j, double * h, double * zs, double * zb)
template void conserveElevation< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, float * zb)
template __host__ __device__ void conserveElevation< float > (int halowidth, int blkmemwidth, float eps, int ib, int ibn, int ihalo, int jhalo, int i, int j, float * h, float * zs, float * zb)
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.
template void conserveElevationGPU< double > (Param XParam, BlockP< double > XBlock, EvolvingP< double > XEv, double * zb)
template void conserveElevationGPU< float > (Param XParam, BlockP< float > XBlock, EvolvingP< float > XEv, float * zb)
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.
__host__ __device__ void conserveElevationGradHalo (int halowidth, int blkmemwidth, T eps, int ib, int ibn, int ihalo, int jhalo, int i, int j, T * h, T * dhdx, T * dhdy)
template void conserveElevationGradHalo< double > (Param XParam, BlockP< double > XBlock, double * h, double * zs, double * zb, double * dhdx, double * dzsdx, double * dhdy, double * dzsdy)
template void conserveElevationGradHalo< float > (Param XParam, BlockP< float > XBlock, float * h, float * zs, float * zb, float * dhdx, float * dzsdx, float * dhdy, float * dzsdy)
__host__ __device__ void conserveElevationGradHaloA (int halowidth, int blkmemwidth, int ib, int ibn, int ihalo, int jhalo, int ip, int jp, int iq, int jq, T theta, T delta, T * h, T * dhdx)
__host__ __device__ void conserveElevationGradHaloB (int halowidth, int blkmemwidth, int ib, int ibn, int ihalo, int jhalo, int ip, int jp, int iq, int jq, T theta, T delta, T eps, T * h, T * zs, T * zb, T * dhdx, T * dzsdx)
void conserveElevationGradHaloGPU (Param XParam, BlockP< T > XBlock, T * h, T * zs, T * zb, T * dhdx, T * dzsdx, T * dhdy, T * dzsdy)
template void conserveElevationGradHaloGPU< double > (Param XParam, BlockP< double > XBlock, double * h, double * zs, double * zb, double * dhdx, double * dzsdx, double * dhdy, double * dzsdy)
template void conserveElevationGradHaloGPU< float > (Param XParam, BlockP< float > XBlock, float * h, float * zs, float * zb, float * dhdx, float * dzsdx, float * dhdy, float * 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)
template __host__ __device__ void wetdryrestriction< double > (int halowidth, int blkmemwidth, double eps, int ib, int ibn, int ihalo, int jhalo, int i, int j, double * h, double * zs, double * zb)
template __host__ __device__ void wetdryrestriction< float > (int halowidth, int blkmemwidth, float eps, int ib, int ibn, int ihalo, int jhalo, int i, int j, float * h, float * zs, float * 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 width
  • blkmemwidth Block memory width
  • eps Dry threshold
  • ib Block index
  • ibn Neighbor block index
  • ihalo Halo i-index
  • jhalo Halo j-index
  • ip Parent i-index
  • jp Parent j-index
  • h Water depth array
  • zs Water surface array
  • zb Bed elevation array

function ProlongationElevationGH

Prolongs gradient and water surface values from parent to child block halo cells, handling dry/wet logic.

template<class T>
__host__ __device__ void ProlongationElevationGH (
    int halowidth,
    int blkmemwidth,
    T eps,
    int ib,
    int ibn,
    int ihalo,
    int jhalo,
    int ip,
    int jp,
    T * h,
    T * dhdx,
    T * dzsdx
) 

Sets gradients to zero in child halo if any neighbor is dry.

Template parameters:

  • T Data type (float or double)

Parameters:

  • halowidth Halo width
  • blkmemwidth Block memory width
  • eps Dry threshold
  • ib Block index
  • ibn Neighbor block index
  • ihalo Halo i-index
  • jhalo Halo j-index
  • ip Parent i-index
  • jp Parent j-index
  • h Water depth array
  • dhdx Water depth gradient x
  • dzsdx Water surface gradient x

function RevertProlongationElevation

Reverts prolongation for elevation, adjusting bed elevation using gradients.

template<class T>
__host__ __device__ void RevertProlongationElevation (
    int halowidth,
    int blkmemwidth,
    T eps,
    int ib,
    int ibn,
    int ihalo,
    int jhalo,
    int ip,
    int jp,
    int level,
    T dx,
    T * h,
    T * zb,
    T * dzbdx,
    T * dzbdy
) 

Applies gradient-based correction to bed elevation in halo cells if any neighbor is dry.

Template parameters:

  • T Data type (float or double)

Parameters:

  • halowidth Halo width
  • blkmemwidth Block memory width
  • eps Dry threshold
  • ib Block index
  • ibn Neighbor block index
  • ihalo Halo i-index
  • jhalo Halo j-index
  • ip Parent i-index
  • jp Parent j-index
  • level Block refinement level
  • dx Cell size
  • h Water depth array
  • zb Bed elevation array
  • dzbdx Bed elevation gradient x
  • dzbdy Bed elevation gradient y

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 parameters
  • XBlock Block data structure
  • XEv Evolving variables structure
  • zb Bed elevation array

function WetDryProlongation< double >

template void WetDryProlongation< double > (
    Param XParam,
    BlockP < double > XBlock,
    EvolvingP < double > XEv,
    double * zb
) 

function WetDryProlongation< float >

template void WetDryProlongation< float > (
    Param XParam,
    BlockP < float > XBlock,
    EvolvingP < float > XEv,
    float * zb
) 

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 parameters
  • XBlock Block data structure
  • XEv Evolving variables structure
  • zb Bed elevation array

function WetDryProlongationGPU< double >

template void WetDryProlongationGPU< double > (
    Param XParam,
    BlockP < double > XBlock,
    EvolvingP < double > XEv,
    double * zb
) 

function WetDryProlongationGPU< float >

template void WetDryProlongationGPU< float > (
    Param XParam,
    BlockP < float > XBlock,
    EvolvingP < float > XEv,
    float * zb
) 

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 parameters
  • XBlock Block data structure
  • XEv Evolving variables structure
  • zb Bed elevation array

function WetDryRestriction< double >

template void WetDryRestriction< double > (
    Param XParam,
    BlockP < double > XBlock,
    EvolvingP < double > XEv,
    double * zb
) 

function WetDryRestriction< float >

template void WetDryRestriction< float > (
    Param XParam,
    BlockP < float > XBlock,
    EvolvingP < float > XEv,
    float * zb
) 

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 parameters
  • XBlock Block data structure
  • XEv Evolving variables structure
  • zb Bed elevation array

function WetDryRestrictionGPU< double >

template void WetDryRestrictionGPU< double > (
    Param XParam,
    BlockP < double > XBlock,
    EvolvingP < double > XEv,
    double * zb
) 

function WetDryRestrictionGPU< float >

template void WetDryRestrictionGPU< float > (
    Param XParam,
    BlockP < float > XBlock,
    EvolvingP < float > XEv,
    float * zb
) 

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 parameters
  • XBlock Block data structure
  • XEv Evolving variables structure
  • zb Bed elevation array

function conserveElevation

Conserves elevation for a single halo cell using neighbor values.

template<class T>
__host__ __device__ void conserveElevation (
    int halowidth,
    int blkmemwidth,
    T eps,
    int ib,
    int ibn,
    int ihalo,
    int jhalo,
    int i,
    int j,
    T * h,
    T * zs,
    T * zb
) 

Computes wet/dry averages and updates water depth and surface for the halo cell.

Template parameters:

  • T Data type (float or double)

Parameters:

  • halowidth Halo width
  • blkmemwidth Block memory width
  • eps Dry threshold
  • ib Block index
  • ibn Neighbor block index
  • ihalo Halo i-index
  • jhalo Halo j-index
  • i Parent i-index
  • j Parent j-index
  • h Water depth array
  • zs Water surface array
  • zb Bed elevation array

function conserveElevation

template<class T>
__host__ __device__ void conserveElevation (
    T zb,
    T & zswet,
    T & hwet
) 

function conserveElevation< double >

template void conserveElevation< double > (
    Param XParam,
    BlockP < double > XBlock,
    EvolvingP < double > XEv,
    double * zb
) 

function conserveElevation< double >

template __host__ __device__ void conserveElevation< double > (
    int halowidth,
    int blkmemwidth,
    double eps,
    int ib,
    int ibn,
    int ihalo,
    int jhalo,
    int i,
    int j,
    double * h,
    double * zs,
    double * zb
) 

function conserveElevation< float >

template void conserveElevation< float > (
    Param XParam,
    BlockP < float > XBlock,
    EvolvingP < float > XEv,
    float * zb
) 

function conserveElevation< float >

template __host__ __device__ void conserveElevation< float > (
    int halowidth,
    int blkmemwidth,
    float eps,
    int ib,
    int ibn,
    int ihalo,
    int jhalo,
    int i,
    int j,
    float * h,
    float * zs,
    float * zb
) 

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 parameters
  • XBlock Block data structure
  • XEv Evolving variables structure
  • zb Bed elevation array

function conserveElevationGPU< double >

template void conserveElevationGPU< double > (
    Param XParam,
    BlockP < double > XBlock,
    EvolvingP < double > XEv,
    double * zb
) 

function conserveElevationGPU< float >

template void conserveElevationGPU< float > (
    Param XParam,
    BlockP < float > XBlock,
    EvolvingP < float > XEv,
    float * zb
) 

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 parameters
  • XBlock Block data structure
  • h Water depth array
  • zs Water surface array
  • zb Bed elevation array
  • dhdx Water depth gradient x
  • dzsdx Water surface gradient x
  • dhdy Water depth gradient y
  • dzsdy Water surface gradient y

function conserveElevationGradHalo

template<class T>
__host__ __device__ void conserveElevationGradHalo (
    int halowidth,
    int blkmemwidth,
    T eps,
    int ib,
    int ibn,
    int ihalo,
    int jhalo,
    int i,
    int j,
    T * h,
    T * dhdx,
    T * dhdy
) 

function conserveElevationGradHalo< double >

template void conserveElevationGradHalo< double > (
    Param XParam,
    BlockP < double > XBlock,
    double * h,
    double * zs,
    double * zb,
    double * dhdx,
    double * dzsdx,
    double * dhdy,
    double * dzsdy
) 

function conserveElevationGradHalo< float >

template void conserveElevationGradHalo< float > (
    Param XParam,
    BlockP < float > XBlock,
    float * h,
    float * zs,
    float * zb,
    float * dhdx,
    float * dzsdx,
    float * dhdy,
    float * dzsdy
) 

function conserveElevationGradHaloA

template<class T>
__host__ __device__ void conserveElevationGradHaloA (
    int halowidth,
    int blkmemwidth,
    int ib,
    int ibn,
    int ihalo,
    int jhalo,
    int ip,
    int jp,
    int iq,
    int jq,
    T theta,
    T delta,
    T * h,
    T * dhdx
) 

function conserveElevationGradHaloB

template<class T>
__host__ __device__ void conserveElevationGradHaloB (
    int halowidth,
    int blkmemwidth,
    int ib,
    int ibn,
    int ihalo,
    int jhalo,
    int ip,
    int jp,
    int iq,
    int jq,
    T theta,
    T delta,
    T eps,
    T * h,
    T * zs,
    T * zb,
    T * dhdx,
    T * dzsdx
) 

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 conserveElevationGradHaloGPU< double >

template void conserveElevationGradHaloGPU< double > (
    Param XParam,
    BlockP < double > XBlock,
    double * h,
    double * zs,
    double * zb,
    double * dhdx,
    double * dzsdx,
    double * dhdy,
    double * dzsdy
) 

function conserveElevationGradHaloGPU< float >

template void conserveElevationGradHaloGPU< float > (
    Param XParam,
    BlockP < float > XBlock,
    float * h,
    float * zs,
    float * zb,
    float * dhdx,
    float * dzsdx,
    float * dhdy,
    float * 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
) 

function wetdryrestriction< double >

template __host__ __device__ void wetdryrestriction< double > (
    int halowidth,
    int blkmemwidth,
    double eps,
    int ib,
    int ibn,
    int ihalo,
    int jhalo,
    int i,
    int j,
    double * h,
    double * zs,
    double * zb
) 

function wetdryrestriction< float >

template __host__ __device__ void wetdryrestriction< float > (
    int halowidth,
    int blkmemwidth,
    float eps,
    int ib,
    int ibn,
    int ihalo,
    int jhalo,
    int i,
    int j,
    float * h,
    float * zs,
    float * zb
) 


The documentation for this class was generated from the following file src/ConserveElevation.cu