SWE
Functions
/import/home/rettenbs/src/SWE/src/blocks/rusanov/SWE_RusanovBlockCUDA_kernels.hh File Reference

Go to the source code of this file.

Functions

__global__ void kernelComputeFluxesF (float *hd, float *hud, float *hvd, float *Fhd, float *Fhud, float *Fhvd, int ny, float g, float llf, int istart)
__global__ void kernelComputeFluxesG (float *hd, float *hud, float *hvd, float *Ghd, float *Ghud, float *Ghvd, int ny, float g, float llf, int jstart)
__global__ void kernelComputeBathymetrySources (float *hd, float *bd, float *Bxd, float *Byd, int ny, float g)
__global__ void kernelEulerTimestep (float *hd, float *hud, float *hvd, float *Fhd, float *Fhud, float *Fhvd, float *Ghd, float *Ghud, float *Ghvd, float *Bxd, float *Byd, float *maxhd, float *maxvd, int nx, int ny, float dt, float dxi, float dyi)
__global__ void kernelMaximum (float *maxhd, float *maxvd, int start, int size)

Detailed Description

This file is part of SWE.

Author:
Michael Bader, Kaveh Rahnema, Tobias Schnabel

LICENSE

SWE is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SWE is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with SWE. If not, see <http://www.gnu.org/licenses/>.

DESCRIPTION

TODO


Function Documentation

__global__ void kernelComputeBathymetrySources ( float *  hd,
float *  bd,
float *  Bxd,
float *  Byd,
int  ny,
float  g 
)

computes the bathymetry source terms for the hu and hv equation for a given cell in the resp. array elements Bxd and Byd

__global__ void kernelComputeFluxesF ( float *  hd,
float *  hud,
float *  hvd,
float *  Fhd,
float *  Fhud,
float *  Fhvd,
int  ny,
float  g,
float  llf,
int  istart 
)

computes the flux vector components Fhd, Fhud and Fhvd for a single edge by calling the function computeFlux

__global__ void kernelComputeFluxesG ( float *  hd,
float *  hud,
float *  hvd,
float *  Ghd,
float *  Ghud,
float *  Ghvd,
int  ny,
float  g,
float  llf,
int  jstart 
)

computes the flux vector components Ghd, Ghud and Ghvd for a single edge by calling the function computeFlux

__global__ void kernelEulerTimestep ( float *  hd,
float *  hud,
float *  hvd,
float *  Fhd,
float *  Fhud,
float *  Fhvd,
float *  Ghd,
float *  Ghud,
float *  Ghvd,
float *  Bxd,
float *  Byd,
float *  maxhd,
float *  maxvd,
int  nx,
int  ny,
float  dt,
float  dxi,
float  dyi 
)

CUDA kernel for Euler time step

__global__ void kernelMaximum ( float *  maxhd,
float *  maxvd,
int  start,
int  size 
)

CUDA kernel for maximum reduction required to compute maximum water height and velocities to determine allow time step

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends