SpECTRE  v2022.09.02
dg::NumericalFluxes::Hll< System > Struct Template Reference

Compute the HLL numerical flux. More...

#include <Hll.hpp>

## Classes

struct  LargestIngoingSpeed
Estimate for the largest ingoing signal speed. More...

struct  LargestOutgoingSpeed
Estimate for the largest outgoing signal speed. More...

## Public Types

using variables_tags = typename System::variables_tag::tags_list

using package_field_tags = tmpl::append< db::wrap_tags_in<::Tags::NormalDotFlux, variables_tags >, variables_tags, tmpl::list< LargestIngoingSpeed, LargestOutgoingSpeed > >

using package_extra_tags = tmpl::list<>

using argument_tags = tmpl::push_back< tmpl::append< db::wrap_tags_in<::Tags::NormalDotFlux, variables_tags >, variables_tags >, char_speeds_tag >

using options = tmpl::list<>

## Public Member Functions

void pup (PUP::er &)

template<class... Args>
void package_data (const Args &... args) const

template<class... Args>
void operator() (const Args &... args) const

## Static Public Attributes

static constexpr Options::String help = {"Computes the HLL numerical flux."}

## Detailed Description

template<typename System>
struct dg::NumericalFluxes::Hll< System >

Compute the HLL numerical flux.

Let $$U$$ be the state vector of the system and $$F^i$$ the corresponding volume fluxes. Let $$n_i$$ be the unit normal to the interface. Denoting $$F := n_i F^i$$, the HLL flux is [62]

\begin{align*} G_\text{HLL} = \frac{S_\text{max} F_\text{int} - S_\text{min} F_\text{ext}}{S_\text{max} - S_\text{min}} - \frac{S_\text{min}S_\text{max}}{S_\text{max} - S_\text{min}} \left(U_\text{int} - U_\text{ext}\right) \end{align*}

where "int" and "ext" stand for interior and exterior, respectively. $$S_\text{min}$$ and $$S_\text{max}$$ are estimates on the minimum and maximum signal velocities bounding the ingoing and outgoing wavespeeds that arise when solving the Riemann problem. Here we use the simple estimates [36]

\begin{align*} S_\text{min} &= \text{min}\left(\{\lambda_\text{int}\},\{\lambda_\text{ext}\}, 0\right)\\ S_\text{max} &= \text{max}\left(\{\lambda_\text{int}\},\{\lambda_\text{ext}\}, 0\right), \end{align*}

where $$\{\lambda\}$$ is the set of all the characteristic speeds along a given normal. Note that for either $$S_\text{min} = 0$$ or $$S_\text{max} = 0$$ (i.e. all characteristics move in the same direction) the HLL flux reduces to pure upwinding.

The documentation for this struct was generated from the following file:
• src/NumericalAlgorithms/DiscontinuousGalerkin/NumericalFluxes/Hll.hpp