|
HyPar
1.0
Finite-Difference Hyperbolic-Parabolic PDE Solver on Cartesian Grids
|
Contains functions to compute the upwind flux at grid interfaces for the 3D Navier Stokes equations. More...
#include <math.h>#include <basic_gpu.h>#include <arrayfunctions_gpu.h>#include <mathfunctions.h>#include <matmult_native.h>#include <physicalmodels/navierstokes3d.h>#include <hypar.h>Go to the source code of this file.
Functions | |
| __global__ void | gpuNavierStokes3DUpwindRusanov_kernel (int npoints_grid, int npoints_local_wghosts, int dir, int ghosts, double gamma, const int *__restrict__ dim, const double *__restrict__ grav_field_g, const double *__restrict__ fL, const double *__restrict__ fR, const double *__restrict__ uL, const double *__restrict__ uR, const double *__restrict__ u, double *__restrict__ fI) |
| int | gpuNavierStokes3DUpwindRusanov (double *fI, double *fL, double *fR, double *uL, double *uR, double *u, int dir, void *s, double t) |
| __global__ void | gpuNavierStokes3DUpwindRoe_kernel (int npoints_grid, int npoints_local_wghosts, int dir, int ghosts, double gamma, const int *__restrict__ dim, const double *__restrict__ grav_field_g, const double *__restrict__ fL, const double *__restrict__ fR, const double *__restrict__ uL, const double *__restrict__ uR, const double *__restrict__ u, double *__restrict__ fI) |
| int | gpuNavierStokes3DUpwindRoe (double *__restrict__ fI, double *__restrict__ fL, double *__restrict__ fR, double *__restrict__ uL, double *__restrict__ uR, double *__restrict__ u, int dir, void *s, double t) |
Variables | |
| static const int | dummy = 1 |
Contains functions to compute the upwind flux at grid interfaces for the 3D Navier Stokes equations.
Definition in file NavierStokes3DUpwind_GPU.cu.
| __global__ void gpuNavierStokes3DUpwindRusanov_kernel | ( | int | npoints_grid, |
| int | npoints_local_wghosts, | ||
| int | dir, | ||
| int | ghosts, | ||
| double | gamma, | ||
| const int *__restrict__ | dim, | ||
| const double *__restrict__ | grav_field_g, | ||
| const double *__restrict__ | fL, | ||
| const double *__restrict__ | fR, | ||
| const double *__restrict__ | uL, | ||
| const double *__restrict__ | uR, | ||
| const double *__restrict__ | u, | ||
| double *__restrict__ | fI | ||
| ) |
Definition at line 257 of file NavierStokes3DUpwind_GPU.cu.
| int gpuNavierStokes3DUpwindRusanov | ( | double * | fI, |
| double * | fL, | ||
| double * | fR, | ||
| double * | uL, | ||
| double * | uR, | ||
| double * | u, | ||
| int | dir, | ||
| void * | s, | ||
| double | t | ||
| ) |
Rusanov's upwinding scheme.
\begin{equation} {\bf f}_{j+1/2} = \frac{1}{2}\left[ {\bf f}_{j+1/2}^L + {\bf f}_{j+1/2}^R - \max_{j,j+1} \nu_j \left( {\bf u}_{j+1/2}^R - {\bf u}_{j+1/2}^L \right)\right] \end{equation}
where \(\nu = c + \left|u\right|\).
This upwinding scheme is modified for the balanced discretization of the 3D Navier Stokes equations when there is a non-zero gravitational force. See the reference below. For flows without any gravitational forces, it reduces to its original form.
| fI | Computed upwind interface flux |
| fL | Left-biased reconstructed interface flux |
| fR | Right-biased reconstructed interface flux |
| uL | Left-biased reconstructed interface solution |
| uR | Right-biased reconstructed interface solution |
| u | Cell-centered solution |
| dir | Spatial dimension (x,y, or z) |
| s | Solver object of type HyPar |
| t | Current solution time |
Definition at line 340 of file NavierStokes3DUpwind_GPU.cu.
| __global__ void gpuNavierStokes3DUpwindRoe_kernel | ( | int | npoints_grid, |
| int | npoints_local_wghosts, | ||
| int | dir, | ||
| int | ghosts, | ||
| double | gamma, | ||
| const int *__restrict__ | dim, | ||
| const double *__restrict__ | grav_field_g, | ||
| const double *__restrict__ | fL, | ||
| const double *__restrict__ | fR, | ||
| const double *__restrict__ | uL, | ||
| const double *__restrict__ | uR, | ||
| const double *__restrict__ | u, | ||
| double *__restrict__ | fI | ||
| ) |
Definition at line 372 of file NavierStokes3DUpwind_GPU.cu.
| int gpuNavierStokes3DUpwindRoe | ( | double *__restrict__ | fI, |
| double *__restrict__ | fL, | ||
| double *__restrict__ | fR, | ||
| double *__restrict__ | uL, | ||
| double *__restrict__ | uR, | ||
| double *__restrict__ | u, | ||
| int | dir, | ||
| void * | s, | ||
| double | t | ||
| ) |
Roe's upwinding scheme.
\begin{equation} {\bf f}_{j+1/2} = \frac{1}{2}\left[ {\bf f}_{j+1/2}^L + {\bf f}_{j+1/2}^R - \left| A\left({\bf u}_{j+1/2}^L,{\bf u}_{j+1/2}^R\right) \right| \left( {\bf u}_{j+1/2}^R - {\bf u}_{j+1/2}^L \right)\right] \end{equation}
This upwinding scheme is modified for the balanced discretization of the 3D Navier Stokes equations when there is a non-zero gravitational force. See the reference below. For flows without any gravitational forces, it reduces to its original form.
| fI | Computed upwind interface flux |
| fL | Left-biased reconstructed interface flux |
| fR | Right-biased reconstructed interface flux |
| uL | Left-biased reconstructed interface solution |
| uR | Right-biased reconstructed interface solution |
| u | Cell-centered solution |
| dir | Spatial dimension (x,y, or z) |
| s | Solver object of type HyPar |
| t | Current solution time |
Definition at line 460 of file NavierStokes3DUpwind_GPU.cu.
|
static |
Definition at line 13 of file NavierStokes3DUpwind_GPU.cu.