21 #define ALSFVM_WENO_EPSILON 1e-8 31 template<
size_t index,
class T>
38 template<
size_t index,
class T>
41 real beta = V[2] - V[1];
43 }
else if (index == 1) {
44 real beta = V[1] - V[0];
48 static_assert(index < 2,
"Only up to index 1 for order 2 in WENO");
53 template<
size_t index,
class T>
56 return 13.0 / 12.0 * pow(V[2] - 2 * V[3] + V[4],
57 2) + 1 / 4.0 * pow(3 * V[2] - 4 * V[3] + V[4], 2);
58 }
else if (index == 1) {
59 return 13.0 / 12.0 * pow(V[1] - 2 * V[2] + V[3],
60 2) + 1 / 4.0 * pow(V[1] - V[3], 2);
61 }
else if (index == 2) {
62 return 13.0 / 12.0 * pow(V[0] - 2 * V[1] + V[2],
63 2) + 1 / 4.0 * pow(V[0] - 4 * V[1] + 3 * V[2], 2);
66 static_assert(index < 3,
"Only up to index 1 for order 2 in WENO");
alsfvm::shared_ptr< reconstruction::Reconstruction > & reconstruction
Definition: NumericalFluxFactory.cpp:101
real coefficients[]
Definition: WENOCoefficients.cpp:29
#define __host__
Definition: types.hpp:46
double real
Definition: types.hpp:65
Definition: WENOCoefficients.hpp:26
#define static_assert(x, y)
Definition: types.hpp:52
#define __device__
Definition: types.hpp:45
Various utility functions to implement the tecno flux.
Definition: types.hpp:30
__device__ static __host__ real computeBeta(const T &stencil)
static const real epsilon
Definition: WENOCoefficients.hpp:28