Alsvinn  0.5.3
The fast FVM simulator with UQ support
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
alsfvm::numflux::euler::HLL< nsd > Class Template Reference

#include <alsfvm/numflux/euler/HLL.hpp>

Public Types

typedef Types< nsd >::rvec rvec
 

Public Member Functions

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::euler::Euler< nsd > eq, const equation::euler::AllVariables< nsd > &left, const equation::euler::AllVariables< nsd > &right, equation::euler::ConservedVariables< nsd > &F)
 
template<int direction>
__device__ static __host__ void computeHLLSpeeds (const equation::euler::Euler< nsd > eq, const equation::euler::AllVariables< nsd > &left, const equation::euler::AllVariables< nsd > &right, real &speedLeft, real &speedRight)
 

Static Public Attributes

static const std::string name
 name is "hll" More...
 

Detailed Description

template<int nsd>
class alsfvm::numflux::euler::HLL< nsd >

This is a utility class that only has the method computeFlux This will compute the HLL (Harten-van Leer-Lax) flux. See eg. http://link.springer.com/chapter/10.1007/978-3-662-03490-3_10#page-1 (requires springerlink).

This class is meant to be used with EulerNumericalFluxCPU or EulerNumericalFluxGPU

Member Typedef Documentation

◆ rvec

template<int nsd>
typedef Types<nsd>::rvec alsfvm::numflux::euler::HLL< nsd >::rvec

Member Function Documentation

◆ computeFlux()

template<int nsd>
template<int direction>
__device__ static __host__ real alsfvm::numflux::euler::HLL< nsd >::computeFlux ( const equation::euler::Euler< nsd >  eq,
const equation::euler::AllVariables< nsd > &  left,
const equation::euler::AllVariables< nsd > &  right,
equation::euler::ConservedVariables< nsd > &  F 
)
inlinestatic

Computes the flux. Ie. computes

\[F(\mathrm{left}, \mathrm{right})\]

for the given direction.

Todo:
Document this better

◆ computeHLLSpeeds()

template<int nsd>
template<int direction>
__device__ static __host__ void alsfvm::numflux::euler::HLL< nsd >::computeHLLSpeeds ( const equation::euler::Euler< nsd >  eq,
const equation::euler::AllVariables< nsd > &  left,
const equation::euler::AllVariables< nsd > &  right,
real speedLeft,
real speedRight 
)
inlinestatic

Computes the wave speeds for the given direction

Parameters
[in]leftthe values on the left side of the grid cell ("left" after we align the grid to the direction)
[in]rightthe values on the right side of the grid cell
[in]eqthe equation instance
[out]speedLeftthe speed to the left side
[out]speedRightthe speed to the right
Todo:
Document this better

◆ name() [1/3]

template<>
const std::string alsfvm::numflux::euler::HLL< 3 >::name ( )

◆ name() [2/3]

template<>
const std::string alsfvm::numflux::euler::HLL< 2 >::name ( )

◆ name() [3/3]

template<>
const std::string alsfvm::numflux::euler::HLL< 1 >::name ( )

Member Data Documentation

◆ name

template<int nsd>
const std::string alsfvm::numflux::euler::HLL< nsd >::name
static

name is "hll"


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