23 template<
class Equation>
28 typename Equation::ConstViews& in,
29 size_t x,
size_t y,
size_t z,
30 typename Equation::Views& leftView,
31 typename Equation::Views& rightView,
32 bool xDir,
bool yDir,
bool zDir) {
33 const size_t indexOut = leftView.index(x, y, z);
34 const size_t indexRight = leftView.index(x + xDir, y + yDir, z + zDir);
35 const size_t indexLeft = leftView.index(x - xDir, y - yDir, z - zDir);
37 for (
size_t var = 0; var < Equation::getNumberOfConservedVariables(); ++var) {
38 const real left = in.get(var).at(indexLeft);
39 const real middle = in.get(var).at(indexOut);
40 const real right = in.get(var).at(indexRight);
45 leftView.get(var).at(indexOut) = middle - sigma / 2;
46 rightView.get(var).at(indexOut) = middle + sigma / 2;
alsfvm::shared_ptr< reconstruction::Reconstruction > & reconstruction
Definition: NumericalFluxFactory.cpp:101
__device__ __host__ real minmod(real a, real b)
Definition: minmod.hpp:22
#define __host__
Definition: types.hpp:46
double real
Definition: types.hpp:65
__device__ static __host__ size_t getNumberOfGhostCells()
Definition: MM.hpp:51
#define __device__
Definition: types.hpp:45
Various utility functions to implement the tecno flux.
Definition: types.hpp:30
__device__ static __host__ void reconstruct(Equation eq, typename Equation::ConstViews &in, size_t x, size_t y, size_t z, typename Equation::Views &leftView, typename Equation::Views &rightView, bool xDir, bool yDir, bool zDir)
Definition: MM.hpp:27