Alsvinn  0.5.3
The fast FVM simulator with UQ support
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
alsfvm::numflux::TecnoCombined4< Equation, BaseFlux > Class Template Reference

#include <alsfvm/numflux/TecnoCombined4.hpp>

Public Member Functions

template<>
const std::string name
 
template<>
const std::string name
 
template<>
const std::string name
 
template<>
const std::string name
 
template<>
const std::string name
 

Static Public Member Functions

template<int direction>
__device__ static __host__ real computeFlux (const Equation &eq, const typename Equation::AllVariables &uiMinus1, const typename Equation::AllVariables &ui, const typename Equation::AllVariables &uiPlus1, const typename Equation::AllVariables &uiPlus2, typename Equation::ConservedVariables &F)
 
static __host__ __device__ ivec4 stencil ()
 

Static Public Attributes

static const std::string name
 name is "tecno4" More...
 
static constexpr bool hasStencil = true
 

Detailed Description

template<class Equation, class BaseFlux>
class alsfvm::numflux::TecnoCombined4< Equation, BaseFlux >

This is the fourth order accurate combination of numerical flux, as found in the tecno paper See eg. http://www.cscamm.umd.edu/people/faculty/tadmor/pub/TV+entropy/Fjordholm_Mishra_Tadmor_SINUM2012.pdf (Fjordholm et al, Arbitrarily high-order accurate entropy stable essentially nonoscillatory schemes for systems of conservation laws)

Concretely, we set

\[F_{i+1/2}^4:= \frac{4}{3}F(u_i, u_{i+1})-\frac{1}{6}\left(F(u_{i-1}, u_{i+1})+F(u_{i},u_{i+2})\right)\]

for some given flux $F$. In our case, $F$ is always one of the entropy perserving fluxes.s

Member Function Documentation

◆ computeFlux()

template<class Equation , class BaseFlux >
template<int direction>
__device__ static __host__ real alsfvm::numflux::TecnoCombined4< Equation, BaseFlux >::computeFlux ( const Equation &  eq,
const typename Equation::AllVariables &  uiMinus1,
const typename Equation::AllVariables &  ui,
const typename Equation::AllVariables &  uiPlus1,
const typename Equation::AllVariables &  uiPlus2,
typename Equation::ConservedVariables &  F 
)
inlinestatic

◆ name() [1/5]

◆ name() [2/5]

template<>
const std::string alsfvm::numflux::TecnoCombined4<::alsfvm::equation::euler::Euler< 1 >, euler::Tecno1< 1 > >::name ( )

◆ name() [3/5]

template<>
const std::string alsfvm::numflux::TecnoCombined4<::alsfvm::equation::euler::Euler< 2 >, euler::Tecno1< 2 > >::name ( )

◆ name() [4/5]

template<>
const std::string alsfvm::numflux::TecnoCombined4<::alsfvm::equation::euler::Euler< 3 >, euler::Tecno1< 3 > >::name ( )

◆ name() [5/5]

◆ stencil()

template<class Equation , class BaseFlux >
static __host__ __device__ ivec4 alsfvm::numflux::TecnoCombined4< Equation, BaseFlux >::stencil ( )
inlinestatic

Member Data Documentation

◆ hasStencil

template<class Equation , class BaseFlux >
constexpr bool alsfvm::numflux::TecnoCombined4< Equation, BaseFlux >::hasStencil = true
static

◆ name

template<class Equation , class BaseFlux >
const std::string alsfvm::numflux::TecnoCombined4< Equation, BaseFlux >::name
static

name is "tecno4"


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