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.