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

#include <GradientDetector.hpp>

Public Member Functions

 ScalarGradientDetector_ (const Equation &equation, const std::pair< Projections, double > &... conds)
 
template<typename T , int TagRank>
void TagCellsForRefinement (const PatchDataView< T, TagRank, layout_stride > &tags, const View< const Complete< Equation >> &states)
 
template<int TagRank>
void TagCellsForRefinement (const PatchDataView< char, TagRank, layout_stride > &tags, const View< const Complete< Equation >> &states, const PatchDataView< const double, TagRank, layout_stride > &volumes)
 
Equation & GetEquation () noexcept
 
const Equation & GetEquation () const noexcept
 
const std::tuple< std::pair< Projections, double >... > & GetConditions () const noexcept
 

Protected Attributes

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

Private Types

using Base = GradientDetectorBase_< Equation, Projections... >
 

Private Attributes

Complete< Equation > sL
 
Complete< Equation > sM
 
Complete< Equation > sR
 

Member Typedef Documentation

◆ Base

template<typename Equation , typename... Projections>
using fub::ScalarGradientDetector_< Equation, Projections >::Base = GradientDetectorBase_<Equation, Projections...>
private

Constructor & Destructor Documentation

◆ ScalarGradientDetector_()

template<typename Equation , typename... Projections>
fub::ScalarGradientDetector_< Equation, Projections >::ScalarGradientDetector_ ( const Equation &  equation,
const std::pair< Projections, double > &...  conds 
)

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() [1/2]

template<typename Equation , typename... Projections>
template<int TagRank>
void fub::ScalarGradientDetector_< Equation, Projections >::TagCellsForRefinement ( const PatchDataView< char, TagRank, layout_stride > &  tags,
const View< const Complete< Equation >> &  states,
const PatchDataView< const double, TagRank, layout_stride > &  volumes 
)

◆ TagCellsForRefinement() [2/2]

template<typename Equation , typename... Projections>
template<typename T , int TagRank>
void fub::ScalarGradientDetector_< Equation, Projections >::TagCellsForRefinement ( const PatchDataView< T, TagRank, layout_stride > &  tags,
const View< const Complete< Equation >> &  states 
)

Member Data Documentation

◆ conditions_

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

◆ equation_

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

◆ sL

template<typename Equation , typename... Projections>
Complete<Equation> fub::ScalarGradientDetector_< Equation, Projections >::sL
private

◆ sM

template<typename Equation , typename... Projections>
Complete<Equation> fub::ScalarGradientDetector_< Equation, Projections >::sM
private

◆ sR

template<typename Equation , typename... Projections>
Complete<Equation> fub::ScalarGradientDetector_< Equation, Projections >::sR
private

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