version 3.9-dev
Dumux::Detail Namespace Reference

Distance implementation details. More...

Description

A linear solver using the dune-istl solver factory to choose the solver and preconditioner at runtime.

Note
the solvers are configured via the input file

Namespaces

namespace  Box
 
namespace  DuneVectors
 
namespace  FCDiamond
 
namespace  HelmholtzOperator
 
namespace  IstlSolvers
 
namespace  LATraits
 
namespace  LinearPDESolver
 
namespace  LinearSolverParameters
 
namespace  Multithreading
 
namespace  Newton
 
namespace  PDESolver
 
namespace  PQ1Bubble
 
namespace  Preconditioners
 
namespace  RasterImageData
 
namespace  Staggered
 
namespace  Tpfa
 

Classes

struct  AxisData
 In Axis Data stored per sub face. More...
 
struct  AxisData< GridView, 1 >
 In Axis Data stored per sub face for first-order scheme. More...
 
struct  ConcatSeq
 
struct  ConcatSeq< std::index_sequence< Is1... >, offset, std::index_sequence< Is2... > >
 
struct  CouplingManagerSupportsMultithreadedAssemblySelector
 
struct  CouplingManagerSupportsMultithreadedAssemblySelector< Traits, DiscretizationMethods::CVFE< D > >
 
class  createMultiTypeBlockMatrixType
 a helper class to create a multitype matrix given the diagonal matrix blocks More...
 
class  DebugIntersectionVTKOutput
 Simple legacy VTK writer for outputting debug data on the coupling interface. More...
 
class  DirectIstlSolver
 Direct dune-istl linear solvers. More...
 
struct  EmptyFreeFlowHeatCondType
 
class  FaceCenteredStaggeredLocalIntersectionIndexMapper
 
class  FaceCenteredStaggeredLocalIntersectionIndexMapper< GridView, false >
 Provides a mapping of local intersection indices (indexInInside) such that the local indices always follow the order of a reference element, regardless of how the element is oriented. More...
 
class  FaceCenteredStaggeredLocalIntersectionIndexMapper< GridView, true >
 Provides a mapping of local intersection indices (indexInInside) such that the local indices always follow the order of a reference element, regardless of how the element in oriented. More...
 
struct  FreeFlowHeatCondType
 
struct  FreeFlowHeatCondType< true, Traits >
 
struct  GeometrySquaredDistance
 
struct  GeometrySquaredDistance< Geo1, Geo2, dimWorld, 0, 0 >
 
struct  GeometrySquaredDistance< Geo1, Geo2, dimWorld, 0, 1 >
 
struct  GeometrySquaredDistance< Geo1, Geo2, dimWorld, 0, 2 >
 
struct  GeometrySquaredDistance< Geo1, Geo2, dimWorld, 1, 0 >
 
struct  GeometrySquaredDistance< Geo1, Geo2, dimWorld, 2, 0 >
 
class  GridIntersectionIterator
 Iterate over the GridViews boundary intersections This will visit all intersections for which boundary() is true and neighbor() is false. More...
 
struct  HasIndex
 
struct  HasIndex< i, std::tuple< Indices... > >
 
struct  hasState
 helper struct detecting if a PrimaryVariables object has a state() function More...
 
struct  InAxisVelocities
 
struct  InAxisVelocities< Scalar, 1 >
 
class  IstlIterativeLinearSolver
 Standard dune-istl iterative linear solvers. More...
 
class  IstlSolverFactoryBackend
 
struct  IstlSolverFactoryBackendImplHelper
 
struct  IstlSolverFactoryBackendImplHelper< 1 >
 
struct  IstlSolverResult
 
struct  isUG
 
struct  LocalAssemblerChooser
 
struct  LocalAssemblerChooser< DiscretizationMethods::CCMpfa >
 
struct  LocalAssemblerChooser< DiscretizationMethods::CCTpfa >
 
struct  LocalAssemblerChooser< DiscretizationMethods::CVFE< DM > >
 
struct  LocalAssemblerChooser< DiscretizationMethods::FCStaggered >
 
struct  LocalDofTraits
 
struct  LocalDofTraits< GridView, DiscretizationMethods::Box >
 
struct  LocalDofTraits< GridView, DiscretizationMethods::FCDiamond >
 
struct  LocalDofTraits< GridView, DiscretizationMethods::PQ1Bubble >
 
struct  Max
 
struct  Min
 
struct  MomentumDiscretizationMethod
 
struct  MultiDomainMatrixType
 helper alias to create the JacobianMatrix type 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  NativeDuneVectorType
 
struct  NativeDuneVectorType< Dune::MultiTypeBlockVector< Args... > >
 
struct  NativeDuneVectorTypeImpl
 
struct  NativeDuneVectorTypeImpl< V, true >
 
class  NetworkIndicatorFunction
 Get the closest segment for a given surface point. More...
 
class  NonConformingIntersectionIteratorFactory
 Non conforming intersection iterator factory. More...
 
struct  NoOpFunctor
 
class  OldIstlSolverFactoryBackend
 
struct  PairData
 Parallel Data stored per sub face. More...
 
class  ParallelISTLHelperImpl
 
class  ParallelISTLHelperImpl< LinearSolverTraits, true >
 
struct  PointsToGeometryWrapper
 
class  PQ1BubbleLocalBasis
 P1/Q1 + Bubble on the reference element. More...
 
class  PQ1BubbleLocalCoefficients
 Associations of the P1/Q1 + Bubble degrees of freedom to the facets of the reference element. More...
 
class  PQ1BubbleLocalInterpolation
 Evaluate the degrees of freedom of a P1 + Bubble basis. More...
 
struct  ProblemTraits
 
struct  ProblemTraits< Problem, DiscretizationMethods::Box >
 
struct  ProblemTraits< Problem, DiscretizationMethods::CCMpfa >
 
struct  ProblemTraits< Problem, DiscretizationMethods::CCTpfa >
 
struct  ProblemTraits< Problem, DiscretizationMethods::FCDiamond >
 
struct  ProblemTraits< Problem, DiscretizationMethods::FCStaggered >
 
struct  ProblemTraits< Problem, DiscretizationMethods::PQ1Bubble >
 
struct  ProblemTraits< Problem, DiscretizationMethods::Staggered >
 
class  SegmentNetwork
 Segment representation of a 1d network grid. More...
 
struct  SetEqual
 
class  SkeletonFunction
 Skeleton function for intersection writer. More...
 
class  StokesPreconditioner
 A Stokes preconditioner (saddle-point problem) for the problem \( \begin{pmatrix} A & B \\ C & 0 \end{pmatrix} \begin{pmatrix} u \\ p \end{pmatrix} = \begin{pmatrix} f \\ g \end{pmatrix}, \). More...
 
struct  Sum
 
struct  SupportsPeriodicity
 
struct  SupportsPeriodicity< Dune::SPGrid< ct, dim, Ref, Comm > >
 
struct  ValidityTestFunctor
 
class  VariablesBackend
 
class  VariablesBackend< Vars, false >
 Class providing operations for primary variable vector/scalar types. More...
 
class  VariablesBackend< Vars, true >
 Class providing operations for generic variable classes, containing primary and possibly also secondary variables. More...
 

Typedefs

template<class Imp , class P , class G , class S , class V >
using TimeInfoInterfaceCVFEDetector = decltype(std::declval< Imp >().computeStorage(std::declval< P >(), std::declval< G >(), std::declval< S >(), std::declval< V >(), true))
 
template<class Imp >
using SCVFIsOverlappingDetector = decltype(std::declval< Imp >().isOverlapping())
 
template<class T , class Default >
using NonVoidOrDefault_t = std::conditional_t<!std::is_same_v< T, void >, T, Default >
 
template<class TypeTag , class Impl , DiffMethod diffMethod, bool isImplicit>
using LocalAssemblerChooser_t = typename LocalAssemblerChooser< typename GetPropType< TypeTag, Properties::GridGeometry >::DiscretizationMethod >::template type< TypeTag, Impl, diffMethod, isImplicit >
 
template<class GG >
using GGPeriodicMapDetector = decltype(std::declval< GG >().periodicDofMap())
 helper struct detecting if a gridGeometry object has a periodicDofMap() function More...
 
template<class P >
using DetectPriVarsHaveState = decltype(std::declval< P >().state())
 
template<class Vars >
using SolutionVectorType = typename Vars::SolutionVector
 
template<class T >
using SpecifiesBaseGridGeometry = typename T::BasicGridGeometry
 
template<class T >
using SpecifiesGeometryHelper = typename T::GeometryHelper
 
template<class GV , class T >
using BoxGeometryHelper_t = Dune::Std::detected_or_t< Dumux::BoxGeometryHelper< GV, GV::dimension, typename T::SubControlVolume, typename T::SubControlVolumeFace >, SpecifiesGeometryHelper, T >
 
template<class GV , class T >
using FaceCenteredDiamondGeometryHelper_t = Dune::Std::detected_or_t< Dumux::DiamondGeometryHelper< GV, typename T::SubControlVolume, typename T::SubControlVolumeFace >, SpecifiesGeometryHelper, T >
 
template<class GV , class T >
using PQ1BubbleGeometryHelper_t = Dune::Std::detected_or_t< Dumux::PQ1BubbleGeometryHelper< GV, typename T::SubControlVolume, typename T::SubControlVolumeFace >, SpecifiesGeometryHelper, T >
 
template<class Problem , class SubControlVolumeFace >
using HasVelocityInSpatialParams = decltype(std::declval< Problem >().spatialParams().velocity(std::declval< SubControlVolumeFace >()))
 
template<class GV , class T >
using BoxFacetCouplingGeometryHelper_t = Dune::Std::detected_or_t< Dumux::BoxGeometryHelper< GV, GV::dimension, typename T::SubControlVolume, typename T::SubControlVolumeFace >, SpecifiesGeometryHelper, T >
 
template<class Assembler , class Index >
using DetectPVSwitchMultiDomain = typename Assembler::template GridVariables< Index::value >::VolumeVariables::PrimaryVariableSwitch
 
template<class Variables >
using DetectPVSwitch = typename Variables::VolumeVariables::PrimaryVariableSwitch
 helper aliases to extract a primary variable switch from the VolumeVariables (if defined, yields int otherwise) More...
 
template<class Variables >
using PrimaryVariableSwitch = Dune::Std::detected_or_t< int, DetectPVSwitch, Variables >
 
template<class FluidMatrixInteraction >
using AdsorptionModelDetector = decltype(std::declval< FluidMatrixInteraction >().adsorptionModel())
 
template<class GV , class T >
using BoxDfmGeometryHelper_t = Dune::Std::detected_or_t< Dumux::BoxDfmGeometryHelper< GV, GV::dimension, typename T::SubControlVolume, typename T::SubControlVolumeFace >, SpecifiesGeometryHelper, T >
 
template<typename T , typename ... Ts>
using RobinDerivDetector = decltype(std::declval< T >().addRobinFluxDerivatives(std::declval< Ts >()...))
 
template<typename T , typename ... Ts>
using SaturationDetector = decltype(std::declval< T >().spatialParams().saturation(std::declval< Ts >()...))
 

Functions

template<class Imp , class P , class G , class S , class V >
constexpr bool hasTimeInfoInterfaceCVFE ()
 
template<class Imp >
constexpr bool hasScvfIsOverlapping ()
 
template<class GG >
constexpr bool hasPeriodicDofMap ()
 
template<class P >
constexpr bool priVarsHaveState ()
 
template<class Element , class GridGeometry , class CVFEElemSol >
auto evalCVFEGradients (const Element &element, const typename Element::Geometry &geometry, const GridGeometry &gridGeometry, const CVFEElemSol &elemSol, const typename Element::Geometry::GlobalCoordinate &globalPos, bool ignoreState=false)
 Evaluates the gradient of a control-volume finite element solution to a given global position. More...
 
template<class ElementSolution >
bool allStatesEqual (const ElementSolution &elemSol, std::true_type hasState)
 returns true if all states in an element solution are the same More...
 
template<class ElementSolution >
bool allStatesEqual (const ElementSolution &elemSol, std::false_type hasState)
 overload if the solution is stateless More...
 
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 More...
 
template<class Element , class GridGeometry , class CVFEElemSol >
CVFEElemSol::PrimaryVariables evalCVFESolution (const Element &element, const typename Element::Geometry &geometry, const GridGeometry &gridGeometry, const CVFEElemSol &elemSol, const typename Element::Geometry::GlobalCoordinate &globalPos, bool ignoreState=false)
 Interpolates a given control-volume finite element solution at a given global position. Uses the finite element cache of the grid geometry. More...
 
template<class Matrix >
void setupReducedMatrices (const Matrix &massMatrix, const Matrix &projMatrix, const std::vector< bool > &dofIsVoid, Matrix &reducedM, Matrix &reducedP, std::vector< std::size_t > &expansionMap)
 Reduces a mass matrix and projection matrix such that they are composed of only those dofs that actually take part in the projection. Simultaneously, a container with the index map into the complete target space is filled so that the entries after projection can be assigned to the corresponding dof in the overall target space. More...
 
template<bool doBidirectional, class FEBasisDomain , class FEBasisTarget , class GlueType >
auto createProjectionMatrices (const FEBasisDomain &feBasisDomain, const FEBasisTarget &feBasisTarget, const GlueType &glue, bool treatDiagonalZeroes=true)
 Creates the matrices underlying l2-projections. More...
 
template<bool doBidirectional, class FEBasisDomain , class FEBasisTarget , class GlueType >
auto makeProjectorPair (const FEBasisDomain &feBasisDomain, const FEBasisTarget &feBasisTarget, const GlueType &glue)
 Creates a projector class between two function space bases. More...
 
template<class ElemVolVars , class SubControlVolumeFace , class UpwindTermFunction , class Scalar >
Scalar upwindSchemeMultiplier (const ElemVolVars &elemVolVars, const SubControlVolumeFace &scvf, const UpwindTermFunction &upwindTerm, Scalar flux, int phaseIdx)
 returns the upwind factor which is multiplied to the advective flux across the given scvf More...
 
template<class EntitySet , class ctype , int dimworld, typename std::enable_if_t<(EntitySet::Entity::Geometry::mydimension > 0), int > = 0>
void closestEntity (const Dune::FieldVector< ctype, dimworld > &point, const BoundingBoxTree< EntitySet > &tree, std::size_t node, ctype &minSquaredDistance, std::size_t &eIdx)
 Compute the closest entity in an AABB tree (index and shortest squared distance) recursively. More...
 
template<class Geo1 , class Geo2 , class ctype , class GetFacetCornerIndices , class ComputeNormalFunction >
bool computeSegmentIntersection (const Geo1 &geo1, const Geo2 &geo2, ctype baseEps, ctype &tfirst, ctype &tlast, const GetFacetCornerIndices &getFacetCornerIndices, const ComputeNormalFunction &computeNormal)
 Algorithm to find segment-like intersections of a polygon/polyhedron with a segment. The result is stored in the form of the local coordinates tfirst and tlast on the segment geo1. More...
 
template<class Function , class Range >
Range evalFunctionForRange (const Function &f, const Range &range)
 
template<class S , class V >
void addDataSetToGnuplot (GnuplotInterface< S > &gnuplot, const V &x, const V &y, const std::string &curveName, const std::string &curveOptions, const std::string &xLabel, const std::string &yLabel)
 
template<class LinearSolverTraits , class GridView >
Dune::SolverCategory::Category solverCategory (const GridView &gridView)
 
template<class K , int rows, int cols, class VectorRow , class VectorCol >
void symmetrizeConstraintsImpl (Dune::FieldMatrix< K, rows, cols > &A, VectorRow &bRow, const VectorCol &bCol, const VectorCol &constrainedRows, bool isDiagonal)
 
template<class MBlock , class VectorRow , class VectorCol >
void symmetrizeConstraintsImpl (Dune::BCRSMatrix< MBlock > &A, VectorRow &bRow, const VectorCol &bCol, const VectorCol &constrainedRows, bool isDiagonal)
 
template<class... MBlock, class VectorRow , class VectorCol >
void symmetrizeConstraintsImpl (Dune::MultiTypeBlockMatrix< MBlock... > &A, VectorRow &bRow, const VectorCol &bCol, const VectorCol &constrainedRows, bool isDiagonal)
 
template<class Problem , class SubControlVolumeFace >
static constexpr bool hasVelocityInSpatialParams ()
 
template<class... Args, std::size_t ... Is>
auto toRef (const std::tuple< Args... > &v, std::index_sequence< Is... > indices)
 
template<class FluidMatrixInteraction >
static constexpr bool hasAdsorptionModel ()
 
template<class FluidMatrixInteraction >
static constexpr bool hasAdsorptionModel ()
 
template<class T , typename ... Args>
static constexpr bool hasAddRobinFluxDerivatives ()
 
template<class T , typename ... Args>
static constexpr bool hasSaturation ()
 

Variables

template<class Grid , int dofCodim>
static constexpr bool canCommunicate
 

Typedef Documentation

◆ AdsorptionModelDetector

template<class FluidMatrixInteraction >
using Dumux::Detail::AdsorptionModelDetector = typedef decltype(std::declval<FluidMatrixInteraction>().adsorptionModel())

◆ BoxDfmGeometryHelper_t

template<class GV , class T >
using Dumux::Detail::BoxDfmGeometryHelper_t = typedef Dune::Std::detected_or_t< Dumux::BoxDfmGeometryHelper<GV, GV::dimension, typename T::SubControlVolume, typename T::SubControlVolumeFace>, SpecifiesGeometryHelper, T >

◆ BoxFacetCouplingGeometryHelper_t

template<class GV , class T >
using Dumux::Detail::BoxFacetCouplingGeometryHelper_t = typedef Dune::Std::detected_or_t< Dumux::BoxGeometryHelper<GV, GV::dimension, typename T::SubControlVolume, typename T::SubControlVolumeFace>, SpecifiesGeometryHelper, T >

◆ BoxGeometryHelper_t

template<class GV , class T >
using Dumux::Detail::BoxGeometryHelper_t = typedef Dune::Std::detected_or_t< Dumux::BoxGeometryHelper<GV, GV::dimension, typename T::SubControlVolume, typename T::SubControlVolumeFace>, SpecifiesGeometryHelper, T >

◆ DetectPriVarsHaveState

template<class P >
using Dumux::Detail::DetectPriVarsHaveState = typedef decltype(std::declval<P>().state())

◆ DetectPVSwitch

template<class Variables >
using Dumux::Detail::DetectPVSwitch = typedef typename Variables::VolumeVariables::PrimaryVariableSwitch

◆ DetectPVSwitchMultiDomain

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

◆ FaceCenteredDiamondGeometryHelper_t

template<class GV , class T >
using Dumux::Detail::FaceCenteredDiamondGeometryHelper_t = typedef Dune::Std::detected_or_t< Dumux::DiamondGeometryHelper<GV, typename T::SubControlVolume, typename T::SubControlVolumeFace>, SpecifiesGeometryHelper, T >

◆ GGPeriodicMapDetector

template<class GG >
using Dumux::Detail::GGPeriodicMapDetector = typedef decltype(std::declval<GG>().periodicDofMap())

◆ HasVelocityInSpatialParams

template<class Problem , class SubControlVolumeFace >
using Dumux::Detail::HasVelocityInSpatialParams = typedef decltype(std::declval<Problem>().spatialParams().velocity(std::declval<SubControlVolumeFace>()))

◆ LocalAssemblerChooser_t

template<class TypeTag , class Impl , DiffMethod diffMethod, bool isImplicit>
using Dumux::Detail::LocalAssemblerChooser_t = typedef typename LocalAssemblerChooser< typename GetPropType<TypeTag, Properties::GridGeometry>::DiscretizationMethod >::template type<TypeTag, Impl, diffMethod, isImplicit>

◆ NonVoidOrDefault_t

template<class T , class Default >
using Dumux::Detail::NonVoidOrDefault_t = typedef std::conditional_t<!std::is_same_v<T, void>, T, Default>

◆ PQ1BubbleGeometryHelper_t

template<class GV , class T >
using Dumux::Detail::PQ1BubbleGeometryHelper_t = typedef Dune::Std::detected_or_t< Dumux::PQ1BubbleGeometryHelper<GV, typename T::SubControlVolume, typename T::SubControlVolumeFace>, SpecifiesGeometryHelper, T >

◆ PrimaryVariableSwitch

template<class Variables >
using Dumux::Detail::PrimaryVariableSwitch = typedef Dune::Std::detected_or_t<int, DetectPVSwitch, Variables>

◆ RobinDerivDetector

template<typename T , typename ... Ts>
using Dumux::Detail::RobinDerivDetector = typedef decltype(std::declval<T>().addRobinFluxDerivatives(std::declval<Ts>()...))

◆ SaturationDetector

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

◆ SCVFIsOverlappingDetector

template<class Imp >
using Dumux::Detail::SCVFIsOverlappingDetector = typedef decltype( std::declval<Imp>().isOverlapping() )

◆ SolutionVectorType

template<class Vars >
using Dumux::Detail::SolutionVectorType = typedef typename Vars::SolutionVector

◆ SpecifiesBaseGridGeometry

template<class T >
using Dumux::Detail::SpecifiesBaseGridGeometry = typedef typename T::BasicGridGeometry

◆ SpecifiesGeometryHelper

template<class T >
using Dumux::Detail::SpecifiesGeometryHelper = typedef typename T::GeometryHelper

◆ TimeInfoInterfaceCVFEDetector

template<class Imp , class P , class G , class S , class V >
using Dumux::Detail::TimeInfoInterfaceCVFEDetector = typedef decltype( std::declval<Imp>().computeStorage( std::declval<P>(), std::declval<G>(), std::declval<S>(), std::declval<V>(), true ) )

Function Documentation

◆ addDataSetToGnuplot()

template<class S , class V >
void Dumux::Detail::addDataSetToGnuplot ( GnuplotInterface< S > &  gnuplot,
const V &  x,
const V &  y,
const std::string &  curveName,
const std::string &  curveOptions,
const std::string &  xLabel,
const std::string &  yLabel 
)

◆ allStatesEqual() [1/2]

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

◆ allStatesEqual() [2/2]

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

◆ createProjectionMatrices()

template<bool doBidirectional, class FEBasisDomain , class FEBasisTarget , class GlueType >
auto Dumux::Detail::createProjectionMatrices ( const FEBasisDomain &  feBasisDomain,
const FEBasisTarget &  feBasisTarget,
const GlueType &  glue,
bool  treatDiagonalZeroes = true 
)
Template Parameters
doBidirectionalIf false, the backward projection matrix is not assembled
Parameters
feBasisDomainThe basis to the domain finite element space
feBasisTargetThe basis to the target finite element space
glueThe glue object containing the intersections between the two grids
treatDiagonalZeroesIf true, zero entries on the diagonal of the matrices that appear if the two domains occupy different geometric regions (and some dofs to not take part in the projection as a result) are substituted by ones. This substitution will lead to those dofs being mapped to zeroes in the target space.
Returns
An std::pair of projection matrices, where the first entry stores the matrices of the forward projection and the second entry stores those of the backward projection. The entries of the returned pair are itself std::pairs which store the mass matrix in the first and the projection matrix in the second entry.

◆ evalFunctionForRange()

template<class Function , class Range >
Range Dumux::Detail::evalFunctionForRange ( const Function &  f,
const Range &  range 
)

◆ hasAddRobinFluxDerivatives()

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

◆ hasAdsorptionModel() [1/2]

template<class FluidMatrixInteraction >
static constexpr bool Dumux::Detail::hasAdsorptionModel ( )
staticconstexpr

◆ hasAdsorptionModel() [2/2]

template<class FluidMatrixInteraction >
static constexpr bool Dumux::Detail::hasAdsorptionModel ( )
staticconstexpr

◆ hasPeriodicDofMap()

template<class GG >
constexpr bool Dumux::Detail::hasPeriodicDofMap ( )
inlineconstexpr

◆ hasSaturation()

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

◆ hasScvfIsOverlapping()

template<class Imp >
constexpr bool Dumux::Detail::hasScvfIsOverlapping ( )
inlineconstexpr

◆ hasTimeInfoInterfaceCVFE()

template<class Imp , class P , class G , class S , class V >
constexpr bool Dumux::Detail::hasTimeInfoInterfaceCVFE ( )
inlineconstexpr

◆ hasVelocityInSpatialParams()

template<class Problem , class SubControlVolumeFace >
static constexpr bool Dumux::Detail::hasVelocityInSpatialParams ( )
staticconstexpr

◆ makeProjectorPair()

template<bool doBidirectional, class FEBasisDomain , class FEBasisTarget , class GlueType >
auto Dumux::Detail::makeProjectorPair ( const FEBasisDomain &  feBasisDomain,
const FEBasisTarget &  feBasisTarget,
const GlueType &  glue 
)
Template Parameters
doBidirectionalIf false, the backward projection matrix is not assembled
Returns
an std::pair with the forward and backward projector

◆ minDistVertexSol()

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

◆ priVarsHaveState()

template<class P >
constexpr bool Dumux::Detail::priVarsHaveState ( )
inlineconstexpr

◆ setupReducedMatrices()

template<class Matrix >
void Dumux::Detail::setupReducedMatrices ( const Matrix &  massMatrix,
const Matrix &  projMatrix,
const std::vector< bool > &  dofIsVoid,
Matrix &  reducedM,
Matrix &  reducedP,
std::vector< std::size_t > &  expansionMap 
)

◆ solverCategory()

template<class LinearSolverTraits , class GridView >
Dune::SolverCategory::Category Dumux::Detail::solverCategory ( const GridView &  gridView)

◆ symmetrizeConstraintsImpl() [1/3]

template<class MBlock , class VectorRow , class VectorCol >
void Dumux::Detail::symmetrizeConstraintsImpl ( Dune::BCRSMatrix< MBlock > &  A,
VectorRow &  bRow,
const VectorCol &  bCol,
const VectorCol &  constrainedRows,
bool  isDiagonal 
)

◆ symmetrizeConstraintsImpl() [2/3]

template<class K , int rows, int cols, class VectorRow , class VectorCol >
void Dumux::Detail::symmetrizeConstraintsImpl ( Dune::FieldMatrix< K, rows, cols > &  A,
VectorRow &  bRow,
const VectorCol &  bCol,
const VectorCol &  constrainedRows,
bool  isDiagonal 
)

◆ symmetrizeConstraintsImpl() [3/3]

template<class... MBlock, class VectorRow , class VectorCol >
void Dumux::Detail::symmetrizeConstraintsImpl ( Dune::MultiTypeBlockMatrix< MBlock... > &  A,
VectorRow &  bRow,
const VectorCol &  bCol,
const VectorCol &  constrainedRows,
bool  isDiagonal 
)

◆ toRef()

template<class... Args, std::size_t ... Is>
auto Dumux::Detail::toRef ( const std::tuple< Args... > &  v,
std::index_sequence< Is... >  indices 
)

◆ upwindSchemeMultiplier()

template<class ElemVolVars , class SubControlVolumeFace , class UpwindTermFunction , class Scalar >
Scalar Dumux::Detail::upwindSchemeMultiplier ( const ElemVolVars &  elemVolVars,
const SubControlVolumeFace &  scvf,
const UpwindTermFunction &  upwindTerm,
Scalar  flux,
int  phaseIdx 
)

Variable Documentation

◆ canCommunicate

template<class Grid , int dofCodim>
constexpr bool Dumux::Detail::canCommunicate
staticconstexpr
Initial value:
=
Dune::Capabilities::canCommunicate<Grid, dofCodim>::v
Definition: gridcapabilities.hh:33