Cholla 3.0.1-dev
Cholla - Massively parallel hydro on GPUs
Loading...
Searching...
No Matches
Functions
exact_cuda.h File Reference

Declarations of functions for the cuda exact riemann solver kernel. More...

#include "../global/global.h"
Include dependency graph for exact_cuda.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<int reconstruction, uint direction>
__global__ void Calculate_Exact_Fluxes_CUDA (Real const *dev_conserved, Real const *dev_bounds_L, Real const *dev_bounds_R, Real *dev_flux, int const nx, int const ny, int const nz, int const n_cells, Real const gamma, int const n_fields)
 Exact Riemann solver based on the Fortran code given in Sec. 4.9 of Toro (1999).
 
__device__ Real guessp_CUDA (Real dl, Real vxl, Real pl, Real cl, Real dr, Real vxr, Real pr, Real cr, Real gamma)
 
__device__ void prefun_CUDA (Real *f, Real *fd, Real p, Real dk, Real pk, Real ck, Real gamma)
 
__device__ void starpv_CUDA (Real *p, Real *v, Real dl, Real vxl, Real pl, Real cl, Real dr, Real vxr, Real pr, Real cr, Real gamma)
 
__device__ void sample_CUDA (const Real pm, const Real vm, Real *d, Real *v, Real *p, Real dl, Real vxl, Real pl, Real cl, Real dr, Real vxr, Real pr, Real cr, Real gamma)
 

Detailed Description

Declarations of functions for the cuda exact riemann solver kernel.

Function Documentation

◆ Calculate_Exact_Fluxes_CUDA()

template<int reconstruction, uint direction>
__global__ void Calculate_Exact_Fluxes_CUDA ( Real const *  dev_conserved,
Real const *  dev_bounds_L,
Real const *  dev_bounds_R,
Real *  dev_flux,
int const  nx,
int const  ny,
int const  nz,
int const  n_cells,
Real const  gamma,
int const  n_fields 
)

Exact Riemann solver based on the Fortran code given in Sec. 4.9 of Toro (1999).

Template Parameters
reconstructionWhat kind of reconstruction to use, PCM, PLMC, etc. This argument should always be a member of the reconstruction::Kind enum, behaviour is undefined otherwise.
directionThe direction that the solve is taking place in. 0=X, 1=Y, 2=Z
Parameters
[in]dev_bounds_LThe interface states on the left side of the interface
[in]dev_bounds_RThe interface states on the right side of the interface
[out]dev_fluxThe output flux
[in]n_cellsTotal number of cells
[in]n_ghostNumber of ghost cells on each side
[in]n_fieldsThe total number of fields