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::ConservativeGradient< Equation, GradientMethod > Class Template Reference

#include <Gradient.hpp>

Public Types

using Complete = ::fub::Complete< Equation >
 
using CompleteArray = ::fub::CompleteArray< Equation >
 
using Conservative = ::fub::Conservative< Equation >
 
using ConservativeArray = ::fub::ConservativeArray< Equation >
 
using Gradient = Conservative
 
using GradientArray = ConservativeArray
 

Public Member Functions

 ConservativeGradient ()=default
 
 ConservativeGradient (const Equation &eq)
 
 ConservativeGradient (const GradientMethod &method)
 
 ConservativeGradient (const Equation &, const GradientMethod &method)
 
void ComputeGradient (Gradient &dudx, span< const Complete, 3 > q, double dx, Direction dir)
 
void ComputeGradient (GradientArray &dudx, span< const CompleteArray, 3 > q, double dx, Direction dir)
 

Private Attributes

Equation equation_
 
Conservative dudx_L_
 
Conservative dudx_R_
 
ConservativeArray dudx_L_array_
 
ConservativeArray dudx_R_array_
 
GradientMethod gradient_
 

Member Typedef Documentation

◆ Complete

template<typename Equation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
using fub::ConservativeGradient< Equation, GradientMethod >::Complete = ::fub::Complete<Equation>

◆ CompleteArray

template<typename Equation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
using fub::ConservativeGradient< Equation, GradientMethod >::CompleteArray = ::fub::CompleteArray<Equation>

◆ Conservative

template<typename Equation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
using fub::ConservativeGradient< Equation, GradientMethod >::Conservative = ::fub::Conservative<Equation>

◆ ConservativeArray

template<typename Equation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
using fub::ConservativeGradient< Equation, GradientMethod >::ConservativeArray = ::fub::ConservativeArray<Equation>

◆ Gradient

template<typename Equation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
using fub::ConservativeGradient< Equation, GradientMethod >::Gradient = Conservative

◆ GradientArray

template<typename Equation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
using fub::ConservativeGradient< Equation, GradientMethod >::GradientArray = ConservativeArray

Constructor & Destructor Documentation

◆ ConservativeGradient() [1/4]

template<typename Equation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
fub::ConservativeGradient< Equation, GradientMethod >::ConservativeGradient ( )
default

◆ ConservativeGradient() [2/4]

template<typename Equation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
fub::ConservativeGradient< Equation, GradientMethod >::ConservativeGradient ( const Equation &  eq)
inlineexplicit

◆ ConservativeGradient() [3/4]

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

◆ ConservativeGradient() [4/4]

template<typename Equation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
fub::ConservativeGradient< Equation, GradientMethod >::ConservativeGradient ( const Equation &  ,
const GradientMethod &  method 
)
inline

Member Function Documentation

◆ ComputeGradient() [1/2]

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

◆ ComputeGradient() [2/2]

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

Member Data Documentation

◆ dudx_L_

template<typename Equation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
Conservative fub::ConservativeGradient< Equation, GradientMethod >::dudx_L_
private

◆ dudx_L_array_

template<typename Equation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
ConservativeArray fub::ConservativeGradient< Equation, GradientMethod >::dudx_L_array_
private

◆ dudx_R_

template<typename Equation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
Conservative fub::ConservativeGradient< Equation, GradientMethod >::dudx_R_
private

◆ dudx_R_array_

template<typename Equation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
ConservativeArray fub::ConservativeGradient< Equation, GradientMethod >::dudx_R_array_
private

◆ equation_

template<typename Equation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
Equation fub::ConservativeGradient< Equation, GradientMethod >::equation_
private

◆ gradient_

template<typename Equation , typename GradientMethod = CentralDifferenceGradient<MinModLimiter>>
GradientMethod fub::ConservativeGradient< Equation, GradientMethod >::gradient_
private

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