ryujin 2.1.1 revision ee5cbcbf2346c1299c942d0e1f13b46449973c18
Loading...
Searching...
No Matches
List of all members
ryujin::Euler::IndicatorView< dim, Number, MemorySpace > Class Template Reference

#include <source/euler/indicator.h>

Public Member Functions

Stencil-based computation of indicators

Intended usage:

for (unsigned int i = n_internal; i < n_owned; ++i) {
// ...
indicator_view.reset(pv, i, U_i);
for (unsigned int col_idx = 1; col_idx < row_length; ++col_idx) {
// ...
indicator_view.accumulate(pv, js, U_j, c_ij);
}
indicator_view.alpha(hd_i);
}
DEAL_II_HOST_DEVICE void reset(const PrecomputedVectorView &pv, const unsigned int i, const state_type &U_i)
Definition indicator.h:305
DEAL_II_HOST_DEVICE void accumulate(const PrecomputedVectorView &pv, const unsigned int *js, const state_type &U_j, const dealii::Tensor< 1, dim, Number > &c_ij)
Definition indicator.h:330
DEAL_II_HOST_DEVICE Number alpha(const Number h_i) const
Definition indicator.h:360
 IndicatorView (const View &view, const Indicator< ScalarNumber > &indicator)
 
DEAL_II_HOST_DEVICE_ALWAYS_INLINE ScalarNumber evc_factor () const
 
DEAL_II_HOST_DEVICE void reset (const PrecomputedVectorView &pv, const unsigned int i, const state_type &U_i)
 
DEAL_II_HOST_DEVICE void accumulate (const PrecomputedVectorView &pv, const unsigned int *js, const state_type &U_j, const dealii::Tensor< 1, dim, Number > &c_ij)
 
DEAL_II_HOST_DEVICE Number alpha (const Number h_i) const
 

Typedefs and constexpr constants

using View = HyperbolicSystemView< dim, Number, MemorySpace >
 
using ScalarNumber = typename View::ScalarNumber
 
using state_type = typename View::state_type
 
using flux_type = typename View::flux_type
 
using precomputed_type = typename View::precomputed_type
 
using PrecomputedVectorView = typename View::PrecomputedVectorView
 
static constexpr auto problem_dimension = View::problem_dimension
 

Detailed Description

template<int dim, typename Number, typename MemorySpace>
class ryujin::Euler::IndicatorView< dim, Number, MemorySpace >

A view of the Indicator 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).

Definition at line 184 of file indicator.h.

Member Typedef Documentation

◆ View

template<int dim, typename Number , typename MemorySpace >
using ryujin::Euler::IndicatorView< dim, Number, MemorySpace >::View = HyperbolicSystemView<dim, Number, MemorySpace>

Definition at line 197 of file indicator.h.

◆ ScalarNumber

template<int dim, typename Number , typename MemorySpace >
using ryujin::Euler::IndicatorView< dim, Number, MemorySpace >::ScalarNumber = typename View::ScalarNumber

Definition at line 199 of file indicator.h.

◆ state_type

template<int dim, typename Number , typename MemorySpace >
using ryujin::Euler::IndicatorView< dim, Number, MemorySpace >::state_type = typename View::state_type

Definition at line 203 of file indicator.h.

◆ flux_type

template<int dim, typename Number , typename MemorySpace >
using ryujin::Euler::IndicatorView< dim, Number, MemorySpace >::flux_type = typename View::flux_type

Definition at line 205 of file indicator.h.

◆ precomputed_type

template<int dim, typename Number , typename MemorySpace >
using ryujin::Euler::IndicatorView< dim, Number, MemorySpace >::precomputed_type = typename View::precomputed_type

Definition at line 207 of file indicator.h.

◆ PrecomputedVectorView

template<int dim, typename Number , typename MemorySpace >
using ryujin::Euler::IndicatorView< dim, Number, MemorySpace >::PrecomputedVectorView = typename View::PrecomputedVectorView

Definition at line 209 of file indicator.h.

Constructor & Destructor Documentation

◆ IndicatorView()

template<int dim, typename Number , typename MemorySpace >
ryujin::Euler::IndicatorView< dim, Number, MemorySpace >::IndicatorView ( const View view,
const Indicator< ScalarNumber > &  indicator 
)
inline

Constructor taking a HyperbolicSystemView and an Indicator object as arguments

Definition at line 235 of file indicator.h.

Member Function Documentation

◆ evc_factor()

template<int dim, typename Number , typename MemorySpace >
DEAL_II_HOST_DEVICE_ALWAYS_INLINE ScalarNumber ryujin::Euler::IndicatorView< dim, Number, MemorySpace >::evc_factor ( ) const
inline

Return the factor used for scaling the entropy viscosity commutator.

Definition at line 245 of file indicator.h.

◆ reset()

template<int dim, typename Number , typename MemorySpace >
DEAL_II_HOST_DEVICE_ALWAYS_INLINE void ryujin::Euler::IndicatorView< dim, Number, MemorySpace >::reset ( const PrecomputedVectorView pv,
const unsigned int  i,
const state_type U_i 
)

Reset temporary storage and initialize for a new row corresponding to state vector U_i.

Definition at line 305 of file indicator.h.

◆ accumulate()

template<int dim, typename Number , typename MemorySpace >
DEAL_II_HOST_DEVICE_ALWAYS_INLINE void ryujin::Euler::IndicatorView< dim, Number, MemorySpace >::accumulate ( const PrecomputedVectorView pv,
const unsigned int *  js,
const state_type U_j,
const dealii::Tensor< 1, dim, Number > &  c_ij 
)

When looping over the sparsity row, add the contribution associated with the neighboring state U_j.

Definition at line 330 of file indicator.h.

◆ alpha()

template<int dim, typename Number , typename MemorySpace >
DEAL_II_HOST_DEVICE_ALWAYS_INLINE Number ryujin::Euler::IndicatorView< dim, Number, MemorySpace >::alpha ( const Number  h_i) const

Return the computed alpha_i value.

Definition at line 360 of file indicator.h.

Member Data Documentation

◆ problem_dimension

template<int dim, typename Number , typename MemorySpace >
constexpr auto ryujin::Euler::IndicatorView< dim, Number, MemorySpace >::problem_dimension = View::problem_dimension
staticconstexpr

Definition at line 201 of file indicator.h.


The documentation for this class was generated from the following file: