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

Function definitions for the cuda HLLC Riemann solver. More...

#include <math.h>
#include "../global/global.h"
#include "../global/global_cuda.h"
#include "../reconstruction/reconstruction.h"
#include "../riemann_solvers/hllc_cuda.h"
#include "../utils/gpu.hpp"
#include "../utils/hydro_utilities.h"
Include dependency graph for hllc_cuda.cu:

Functions

template<int reconstruction, uint direction>
__global__ void Calculate_HLLC_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)
 HLLC Riemann solver based on the version described in Toro (2006), Sec. 10.4.
 
template __global__ void Calculate_HLLC_Fluxes_CUDA< reconstruction::Kind::pcm, 0 > (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)
 
template __global__ void Calculate_HLLC_Fluxes_CUDA< reconstruction::Kind::pcm, 1 > (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)
 
template __global__ void Calculate_HLLC_Fluxes_CUDA< reconstruction::Kind::pcm, 2 > (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)
 
template __global__ void Calculate_HLLC_Fluxes_CUDA< reconstruction::Kind::chosen, 0 > (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)
 
template __global__ void Calculate_HLLC_Fluxes_CUDA< reconstruction::Kind::chosen, 1 > (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)
 
template __global__ void Calculate_HLLC_Fluxes_CUDA< reconstruction::Kind::chosen, 2 > (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)
 

Detailed Description

Function definitions for the cuda HLLC Riemann solver.

Function Documentation

◆ Calculate_HLLC_Fluxes_CUDA()

template<int reconstruction, uint direction>
__global__ void Calculate_HLLC_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 
)

HLLC Riemann solver based on the version described in Toro (2006), Sec. 10.4.

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