![]() |
ryujin 2.1.1 revision ee5cbcbf2346c1299c942d0e1f13b46449973c18
|
#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 | PrecomputedVectorView = typename View::PrecomputedVectorView |
Public Member Functions | |
Stencil-based computation of bounds | |
Intended usage: LimiterView<dim, Number> limiter_view;
for (unsigned int i = n_internal; i < n_owned; ++i) {
// ...
limiter_view.reset(pv, i, U_i, flux_i);
for (unsigned int col_idx = 1; col_idx < row_length; ++col_idx) {
// ...
limiter_view.accumulate(pv, js, U_j, flux_j, scaled_c_ij,
affine_shift);
}
limiter_view.bounds(hd_i);
}
Definition limiter.h:111 void reset(const PrecomputedVectorView &, const unsigned int, const state_type &, const flux_contribution_type &) Definition limiter.h:218 void accumulate(const PrecomputedVectorView &, const unsigned int *, const state_type &, const flux_contribution_type &, const dealii::Tensor< 1, dim, Number > &, const state_type &) Definition limiter.h:230 | |
| void | reset (const PrecomputedVectorView &, const unsigned int, const state_type &, const flux_contribution_type &) |
| void | accumulate (const PrecomputedVectorView &, const unsigned int *, const state_type &, const flux_contribution_type &, const dealii::Tensor< 1, dim, Number > &, const state_type &) |
| Bounds | bounds (const Number hd_i) 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.)) const |
Computation and manipulation of bounds | |
| using | Bounds = std::array< Number, n_bounds > |
| static constexpr unsigned int | n_bounds = 0 |
| LimiterView (const View &view, const Limiter< ScalarNumber > &limiter) | |
| unsigned int | iterations () const |
| Bounds | projection_bounds_from_state (const PrecomputedVectorView &, const unsigned int, const state_type &) const |
| Bounds | combine_bounds (const Bounds &, const Bounds &) const |
| Bounds | fully_relax_bounds (const Bounds &, const Number &) const |
A view of the Limiter that makes the interface available for a given dimension dim and choice of number type Number (which can be a scalar float, or double, as well as a VectorizedArray holding packed scalars).
| using ryujin::Skeleton::LimiterView< dim, Number >::View = HyperbolicSystemView<dim, Number> |
| using ryujin::Skeleton::LimiterView< dim, Number >::ScalarNumber = typename View::ScalarNumber |
| using ryujin::Skeleton::LimiterView< dim, Number >::state_type = typename View::state_type |
| using ryujin::Skeleton::LimiterView< dim, Number >::flux_contribution_type = typename View::flux_contribution_type |
| using ryujin::Skeleton::LimiterView< dim, Number >::PrecomputedVectorView = typename View::PrecomputedVectorView |
| using ryujin::Skeleton::LimiterView< dim, Number >::Bounds = std::array<Number, n_bounds> |
|
inline |
Constructor taking a HyperbolicSystemView and a Limiter object as arguments
|
inline |
|
inline |
|
inline |
|
inline |
This function applies a relaxation to a given a (strict) bound bounds using a non dimensionalized measure hd (that should scale as $h^d$, where $h$ is the local mesh size).
Definition at line 188 of file limiter.h.
Referenced by ryujin::Skeleton::LimiterView< dim, Number >::bounds().
|
inline |
|
inline |
|
inline |
Return the computed bounds (with relaxation applied).
Definition at line 243 of file limiter.h.
References ryujin::Skeleton::LimiterView< dim, Number >::fully_relax_bounds().
|
inline |
|
staticconstexpr |