ryujin 2.1.1 revision 0348cbb53a3e4b1da2a4c037e81f88f2d21ce219
|
#include <source/skeleton/limiter.h>
Public Types | |
Typedefs and constexpr constants | |
using | View = HyperbolicSystemView< dim, Number > |
using | ScalarNumber = typename View::ScalarNumber |
using | state_type = typename View::state_type |
using | flux_contribution_type = typename View::flux_contribution_type |
using | PrecomputedVector = typename View::PrecomputedVector |
using | Parameters = LimiterParameters< ScalarNumber > |
Public Member Functions | |
Stencil-based computation of bounds | |
Intended usage: Limiter<dim, Number> limiter;
for (unsigned int i = n_internal; i < n_owned; ++i) {
// ...
limiter.reset(i, U_i, flux_i);
for (unsigned int col_idx = 1; col_idx < row_length; ++col_idx) {
// ...
limiter.accumulate(js, U_j, flux_j, scaled_c_ij, affine_shift);
}
limiter.bounds(hd_i);
}
Definition: limiter.h:45 void accumulate(const unsigned int *, const state_type &, const flux_contribution_type &, const dealii::Tensor< 1, dim, Number > &, const state_type &) Definition: limiter.h:146 void reset(const unsigned int, const state_type &, const flux_contribution_type &) Definition: limiter.h:135 | |
void | reset (const unsigned int, const state_type &, const flux_contribution_type &) |
void | accumulate (const unsigned int *, const state_type &, const flux_contribution_type &, const dealii::Tensor< 1, dim, Number > &, const state_type &) |
Bounds | bounds (const Number) const |
Convex limiter | |
std::tuple< Number, bool > | limit (const Bounds &, const state_type &, const state_type &, const Number=Number(0.), const Number t_max=Number(1.)) |
Computation and manipulation of bounds | |
using | Bounds = std::array< Number, n_bounds > |
static constexpr unsigned int | n_bounds = 0 |
Limiter (const HyperbolicSystem &hyperbolic_system, const Parameters ¶meters, const PrecomputedVector &precomputed_values) | |
Bounds | projection_bounds_from_state (const unsigned int, const state_type &) const |
Bounds | combine_bounds (const Bounds &, const Bounds &) const |
The convex limiter.
using ryujin::Skeleton::Limiter< dim, Number >::View = HyperbolicSystemView<dim, Number> |
using ryujin::Skeleton::Limiter< dim, Number >::ScalarNumber = typename View::ScalarNumber |
using ryujin::Skeleton::Limiter< dim, Number >::state_type = typename View::state_type |
using ryujin::Skeleton::Limiter< dim, Number >::flux_contribution_type = typename View::flux_contribution_type |
using ryujin::Skeleton::Limiter< dim, Number >::PrecomputedVector = typename View::PrecomputedVector |
using ryujin::Skeleton::Limiter< dim, Number >::Parameters = LimiterParameters<ScalarNumber> |
using ryujin::Skeleton::Limiter< dim, Number >::Bounds = std::array<Number, n_bounds> |
|
inline |
Constructor taking a HyperbolicSystem instance as argument
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
staticconstexpr |