Finite Volume Solver  prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
Public Types | Public Member Functions | Private Attributes | List of all members
fub::PrimitiveGradient< EulerEquation, GradientMethod > Class Template Reference

#include <Gradient.hpp>

Public Types

using Complete = ::fub::Complete< EulerEquation >
 
using CompleteArray = ::fub::CompleteArray< EulerEquation >
 
using Primitive = ::fub::Primitive< EulerEquation >
 
using PrimitiveArray = ::fub::PrimitiveArray< EulerEquation >
 
using Gradient = Primitive
 
using GradientArray = PrimitiveArray
 

Public Member Functions

 PrimitiveGradient ()=default
 
 PrimitiveGradient (const EulerEquation &equation)
 
 PrimitiveGradient (const GradientMethod &method)
 
 PrimitiveGradient (const EulerEquation &equation, const GradientMethod &method)
 
void ComputeGradient (Gradient &gradient, span< const Complete, 3 > q, double dx, Direction dir)
 
void ComputeGradient (GradientArray &dudx, span< const CompleteArray, 3 > q, double dx, Direction dir)
 

Private Attributes

EulerEquation equation_
 
Primitive wL_
 
Primitive wM_
 
Primitive wR_
 
Primitive dwdx_L_
 
Primitive dwdx_R_
 
PrimitiveArray wL_array_
 
PrimitiveArray wM_array_
 
PrimitiveArray wR_array_
 
PrimitiveArray dwdx_L_array_
 
PrimitiveArray dwdx_R_array_
 
GradientMethod gradient_
 

Member Typedef Documentation

◆ Complete

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
using fub::PrimitiveGradient< EulerEquation, GradientMethod >::Complete = ::fub::Complete<EulerEquation>

◆ CompleteArray

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
using fub::PrimitiveGradient< EulerEquation, GradientMethod >::CompleteArray = ::fub::CompleteArray<EulerEquation>

◆ Gradient

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
using fub::PrimitiveGradient< EulerEquation, GradientMethod >::Gradient = Primitive

◆ GradientArray

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
using fub::PrimitiveGradient< EulerEquation, GradientMethod >::GradientArray = PrimitiveArray

◆ Primitive

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
using fub::PrimitiveGradient< EulerEquation, GradientMethod >::Primitive = ::fub::Primitive<EulerEquation>

◆ PrimitiveArray

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
using fub::PrimitiveGradient< EulerEquation, GradientMethod >::PrimitiveArray = ::fub::PrimitiveArray<EulerEquation>

Constructor & Destructor Documentation

◆ PrimitiveGradient() [1/4]

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
fub::PrimitiveGradient< EulerEquation, GradientMethod >::PrimitiveGradient ( )
default

◆ PrimitiveGradient() [2/4]

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
fub::PrimitiveGradient< EulerEquation, GradientMethod >::PrimitiveGradient ( const EulerEquation &  equation)
inlineexplicit

◆ PrimitiveGradient() [3/4]

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
fub::PrimitiveGradient< EulerEquation, GradientMethod >::PrimitiveGradient ( const GradientMethod &  method)
inlineexplicit

◆ PrimitiveGradient() [4/4]

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
fub::PrimitiveGradient< EulerEquation, GradientMethod >::PrimitiveGradient ( const EulerEquation &  equation,
const GradientMethod &  method 
)
inline

Member Function Documentation

◆ ComputeGradient() [1/2]

template<typename Equation , typename GradientMethod >
void fub::PrimitiveGradient< Equation, GradientMethod >::ComputeGradient ( Gradient gradient,
span< const Complete, 3 >  q,
double  dx,
Direction  dir 
)

◆ ComputeGradient() [2/2]

template<typename Equation , typename GradientMethod >
void fub::PrimitiveGradient< Equation, GradientMethod >::ComputeGradient ( GradientArray dudx,
span< const CompleteArray, 3 >  q,
double  dx,
Direction  dir 
)

Member Data Documentation

◆ dwdx_L_

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
Primitive fub::PrimitiveGradient< EulerEquation, GradientMethod >::dwdx_L_
private

◆ dwdx_L_array_

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
PrimitiveArray fub::PrimitiveGradient< EulerEquation, GradientMethod >::dwdx_L_array_
private

◆ dwdx_R_

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
Primitive fub::PrimitiveGradient< EulerEquation, GradientMethod >::dwdx_R_
private

◆ dwdx_R_array_

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
PrimitiveArray fub::PrimitiveGradient< EulerEquation, GradientMethod >::dwdx_R_array_
private

◆ equation_

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
EulerEquation fub::PrimitiveGradient< EulerEquation, GradientMethod >::equation_
private

◆ gradient_

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
GradientMethod fub::PrimitiveGradient< EulerEquation, GradientMethod >::gradient_
private

◆ wL_

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
Primitive fub::PrimitiveGradient< EulerEquation, GradientMethod >::wL_
private

◆ wL_array_

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
PrimitiveArray fub::PrimitiveGradient< EulerEquation, GradientMethod >::wL_array_
private

◆ wM_

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
Primitive fub::PrimitiveGradient< EulerEquation, GradientMethod >::wM_
private

◆ wM_array_

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
PrimitiveArray fub::PrimitiveGradient< EulerEquation, GradientMethod >::wM_array_
private

◆ wR_

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
Primitive fub::PrimitiveGradient< EulerEquation, GradientMethod >::wR_
private

◆ wR_array_

template<typename EulerEquation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
PrimitiveArray fub::PrimitiveGradient< EulerEquation, GradientMethod >::wR_array_
private

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