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 | Static Public Attributes | Protected Attributes | Private Attributes | List of all members
fub::GradientDetector< Eq, Ps > Struct Template Reference

This class tags cells with a relative error to their neighbors. More...

#include <GradientDetector.hpp>

Public Types

using Base = typename GradientDetectorImpl_< is_array_based, Eq, Ps... >::type
 

Public Member Functions

 GradientDetector (const Eq &equation, const std::pair< Ps, double > &... projs)
 
void TagCellsForRefinement (const PatchDataView< char, Rank, layout_stride > &tags, const View< const Complete< Equation >> &states)
 
Equation & GetEquation () noexcept
 
const Equation & GetEquation () const noexcept
 
const std::tuple< std::pair< Projections, double >... > & GetConditions () const noexcept
 

Static Public Attributes

static constexpr bool is_array_based
 
static constexpr int Rank
 

Protected Attributes

Equation equation_
 
std::tuple< std::pair< Projections, double >... > conditions_
 

Private Attributes

CompleteArray< Equation > sL_
 
CompleteArray< Equation > sM_
 
CompleteArray< Equation > sR_
 

Detailed Description

template<typename Eq, typename... Ps>
struct fub::GradientDetector< Eq, Ps >

This class tags cells with a relative error to their neighbors.

Member Typedef Documentation

◆ Base

template<typename Eq , typename... Ps>
using fub::GradientDetector< Eq, Ps >::Base = typename GradientDetectorImpl_<is_array_based, Eq, Ps...>::type

Constructor & Destructor Documentation

◆ GradientDetector()

template<typename Eq , typename... Ps>
fub::GradientDetector< Eq, Ps >::GradientDetector ( const Eq &  equation,
const std::pair< Ps, double > &...  projs 
)
inline

Member Function Documentation

◆ GetConditions()

const std::tuple<std::pair<Projections, double>...>& fub::GradientDetectorBase_< Equation, Projections >::GetConditions ( ) const
inlinenoexceptinherited

◆ GetEquation() [1/2]

const Equation& fub::GradientDetectorBase_< Equation, Projections >::GetEquation ( ) const
inlinenoexceptinherited

◆ GetEquation() [2/2]

Equation& fub::GradientDetectorBase_< Equation, Projections >::GetEquation ( )
inlinenoexceptinherited

◆ TagCellsForRefinement()

template<typename Equation , typename... Projections>
void fub::ArrayGradientDetector_< Equation, Projections >::TagCellsForRefinement ( const PatchDataView< char, Rank, layout_stride > &  tags,
const View< const Complete< Equation >> &  states 
)
inherited

Member Data Documentation

◆ conditions_

std::tuple<std::pair<Projections, double>...> fub::GradientDetectorBase_< Equation, Projections >::conditions_
protectedinherited

◆ equation_

Equation fub::GradientDetectorBase_< Equation, Projections >::equation_
protectedinherited

◆ is_array_based

template<typename Eq , typename... Ps>
constexpr bool fub::GradientDetector< Eq, Ps >::is_array_based
staticconstexpr

◆ Rank

template<typename Equation , typename... Projections>
constexpr int fub::ArrayGradientDetector_< Equation, Projections >::Rank
staticconstexprinherited

◆ sL_

template<typename Equation , typename... Projections>
CompleteArray<Equation> fub::ArrayGradientDetector_< Equation, Projections >::sL_
privateinherited

◆ sM_

template<typename Equation , typename... Projections>
CompleteArray<Equation> fub::ArrayGradientDetector_< Equation, Projections >::sM_
privateinherited

◆ sR_

template<typename Equation , typename... Projections>
CompleteArray<Equation> fub::ArrayGradientDetector_< Equation, Projections >::sR_
privateinherited

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