|
Cholla 3.0.1-dev
Cholla - Massively parallel hydro on GPUs
|
Functions definitions for the ppm kernels, using characteristic tracing. Written following Stone et al. 2008. More...
#include <math.h>#include "../global/global.h"#include "../global/global_cuda.h"#include "../reconstruction/ppmc_cuda.h"#include "../reconstruction/reconstruction_internals.h"#include "../utils/gpu.hpp"#include "../utils/hydro_utilities.h"
Functions | |
| template<int dir> | |
| __global__ void | PPMC_CTU (Real *dev_conserved, Real *dev_bounds_L, Real *dev_bounds_R, int nx, int ny, int nz, Real dx, Real dt, Real gamma) |
| When passed a stencil of conserved variables, returns the left and right boundary values for the interface calculated using ppm. | |
| template<int dir> | |
| __global__ | __launch_bounds__ (TPB) void PPMC_VL(Real *dev_conserved |
| if (reconstruction::Thread_Guard< 3 >(nx, ny, nz, xid, yid, zid)) | |
| if | constexpr (dir==0) |
| template __global__ void | PPMC_CTU< 0 > (Real *dev_conserved, Real *dev_bounds_L, Real *dev_bounds_R, int nx, int ny, int nz, Real dx, Real dt, Real gamma) |
| template __global__ void | PPMC_CTU< 1 > (Real *dev_conserved, Real *dev_bounds_L, Real *dev_bounds_R, int nx, int ny, int nz, Real dx, Real dt, Real gamma) |
| template __global__ void | PPMC_CTU< 2 > (Real *dev_conserved, Real *dev_bounds_L, Real *dev_bounds_R, int nx, int ny, int nz, Real dx, Real dt, Real gamma) |
| template __global__ | __launch_bounds__ (TPB) void PPMC_VL< 0 >(Real *dev_conserved |
Variables | |
| __global__ Real * | dev_bounds_L |
| __global__ Real Real * | dev_bounds_R |
| __global__ Real Real int | nx |
| __global__ Real Real int int | ny |
| __global__ Real Real int int int | nz |
| __global__ Real Real int int int Real | gamma |
| int | xid |
| int | yid |
| int | zid |
| int const | n_cells = nx * ny * nz |
| int | o1 |
| int | o2 |
| int | o3 |
| hydro_utilities::Primitive const | cell_i |
| hydro_utilities::Primitive const | cell_im1 |
| hydro_utilities::Primitive const | cell_ip1 |
| hydro_utilities::Primitive const | cell_im2 |
| hydro_utilities::Primitive const | cell_ip2 |
| reconstruction::EigenVecs const | eigenvectors = reconstruction::Compute_Eigenvectors(cell_i, gamma) |
| reconstruction::Characteristic const | cell_i_characteristic |
| reconstruction::Characteristic const | cell_im1_characteristic |
| reconstruction::Characteristic const | cell_im2_characteristic |
| reconstruction::Characteristic const | cell_ip1_characteristic |
| reconstruction::Characteristic const | cell_ip2_characteristic |
| reconstruction::Characteristic | interface_R_imh_characteristic |
| reconstruction::Characteristic | interface_L_iph_characteristic |
| hydro_utilities::Primitive | interface_L_iph |
| hydro_utilities::Primitive | interface_R_imh |
| interface_R_imh | density = fmax(interface_R_imh.density, (Real)TINY_NUMBER) |
| interface_R_imh | pressure = fmax(interface_R_imh.pressure, (Real)TINY_NUMBER) |
| size_t | id = cuda_utilities::compute1DIndex(xid, yid, zid, nx, ny) |
Functions definitions for the ppm kernels, using characteristic tracing. Written following Stone et al. 2008.
| __global__ void PPMC_CTU | ( | Real * | dev_conserved, |
| Real * | dev_bounds_L, | ||
| Real * | dev_bounds_R, | ||
| int | nx, | ||
| int | ny, | ||
| int | nz, | ||
| Real | dx, | ||
| Real | dt, | ||
| Real | gamma | ||
| ) |
When passed a stencil of conserved variables, returns the left and right boundary values for the interface calculated using ppm.
Computes the left and right interface states using PPM with limiting in the characteristic variables and characteristic tracing. Used for the CTU and SIMPLE integrators. This uses the PPM method described in Stone et al. 2008 "Athena: A New Code for Astrophysical MHD". Fundementally this method relies on a Van Leer limiter in the characteristic variables to monotonize the slopes followed by limiting the interface states using the limiter from Colella & Woodward 1984.
| hydro_utilities::Primitive const cell_i |
| reconstruction::Characteristic const cell_i_characteristic |
| hydro_utilities::Primitive const cell_im1 |
| reconstruction::Characteristic const cell_im1_characteristic |
| hydro_utilities::Primitive const cell_im2 |
| reconstruction::Characteristic const cell_im2_characteristic |
| hydro_utilities::Primitive const cell_ip1 |
| reconstruction::Characteristic const cell_ip1_characteristic |
| hydro_utilities::Primitive const cell_ip2 |
| reconstruction::Characteristic const cell_ip2_characteristic |
| template __global__ Real Real int int int Real gamma |
| hydro_utilities::Primitive interface_L_iph |
| hydro_utilities::Primitive interface_R_imh |