3.2-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Loading...
Searching...
No Matches
Dumux::Detail Namespace Reference

Namespaces

namespace  Staggered

Classes

struct  hasState
 helper struct detecting if a PrimaryVariables object has a state() function More...
struct  ConcatSeq
struct  ConcatSeq< std::index_sequence< Is1... >, offset, std::index_sequence< Is2... > >
struct  InAxisVelocities
struct  InAxisVelocities< Scalar, 1 >
struct  PairData
 Parallel Data stored per sub face. More...
struct  AxisData
 In Axis Data stored per sub face. More...
struct  AxisData< GridView, 1 >
 In Axis Data stored per sub face. More...
struct  isUG
class  createMultiTypeBlockMatrixType
 a helper class to create a multitype matrix given the diagonal matrix blocks More...
struct  MultiDomainTupleSharedPtr
 helper alias to create a tuple of shared_ptr<...> from an indexed type More...
struct  MultiDomainTupleSharedPtrConst
 helper alias to create a tuple of shared_ptr<const ...> from an indexed type More...
struct  MultiDomainMatrixType
 helper alias to create the JacobianMatrix type More...
struct  supportsPartialReassembly
 helper struct detecting if an assembler supports partial reassembly More...
struct  SetEqual
struct  Sum
struct  Max
struct  Min
struct  VolVarsWithPVSwitch
 Helper structs to conditionally use a primary variable switch or not. More...
struct  VolVarsWithOutPVSwitch
struct  isParallelAMGBackend
struct  isParallelAMGBackend< Dumux::AMGBiCGSTABBackend< T > >

Typedefs

template<class Assembler, class Index>
using DetectPVSwitchMultiDomain = typename Assembler::template GridVariables<Index::value>::VolumeVariables::PrimaryVariableSwitch
template<class Assembler, std::size_t i>
using GetPVSwitchMultiDomain = Dune::Std::detected_or<int, DetectPVSwitchMultiDomain, Assembler, Dune::index_constant<i>>
template<class Assembler>
using DetectPVSwitch = typename Assembler::GridVariables::VolumeVariables::PrimaryVariableSwitch
 helper aliases to extract a primary variable switch from the VolumeVariables (if defined, yields int otherwise)
template<class Assembler>
using GetPVSwitch = Dune::Std::detected_or<int, DetectPVSwitch, Assembler>
template<typename T, typename ... Ts>
using SaturationDetector = decltype(std::declval<T>().spatialParams().saturation(std::declval<Ts>()...))

Functions

template<class ElementSolution>
bool allStatesEqual (const ElementSolution &elemSol, std::true_type hasState)
 returns true if all states in an element solution are the same
template<class ElementSolution>
bool allStatesEqual (const ElementSolution &elemSol, std::false_type hasState)
 overload if the solution is stateless
template<class Geometry, class ElementSolution>
auto minDistVertexSol (const Geometry &geometry, const typename Geometry::GlobalCoordinate &globalPos, const ElementSolution &elemSol)
 return the solution at the closest dof
template<class T, typename ... Args>
static constexpr bool hasSaturation ()

Typedef Documentation

◆ DetectPVSwitch

template<class Assembler>
using Dumux::Detail::DetectPVSwitch = typename Assembler::GridVariables::VolumeVariables::PrimaryVariableSwitch

helper aliases to extract a primary variable switch from the VolumeVariables (if defined, yields int otherwise)

◆ DetectPVSwitchMultiDomain

template<class Assembler, class Index>
using Dumux::Detail::DetectPVSwitchMultiDomain = typename Assembler::template GridVariables<Index::value>::VolumeVariables::PrimaryVariableSwitch

◆ GetPVSwitch

template<class Assembler>
using Dumux::Detail::GetPVSwitch = Dune::Std::detected_or<int, DetectPVSwitch, Assembler>

◆ GetPVSwitchMultiDomain

template<class Assembler, std::size_t i>
using Dumux::Detail::GetPVSwitchMultiDomain = Dune::Std::detected_or<int, DetectPVSwitchMultiDomain, Assembler, Dune::index_constant<i>>

◆ SaturationDetector

template<typename T, typename ... Ts>
using Dumux::Detail::SaturationDetector = decltype(std::declval<T>().spatialParams().saturation(std::declval<Ts>()...))

Function Documentation

◆ allStatesEqual() [1/2]

template<class ElementSolution>
bool Dumux::Detail::allStatesEqual ( const ElementSolution & elemSol,
std::false_type hasState )

overload if the solution is stateless

◆ allStatesEqual() [2/2]

template<class ElementSolution>
bool Dumux::Detail::allStatesEqual ( const ElementSolution & elemSol,
std::true_type hasState )

returns true if all states in an element solution are the same

◆ hasSaturation()

template<class T, typename ... Args>
constexpr bool Dumux::Detail::hasSaturation ( )
staticconstexpr

◆ minDistVertexSol()

template<class Geometry, class ElementSolution>
auto Dumux::Detail::minDistVertexSol ( const Geometry & geometry,
const typename Geometry::GlobalCoordinate & globalPos,
const ElementSolution & elemSol )

return the solution at the closest dof