13#ifndef DUMUX_DISCRETIZATION_PQ2_HH
14#define DUMUX_DISCRETIZATION_PQ2_HH
23#include <dumux/common/typetraits/boundary_.hh>
25#include <dumux/assembly/cvfelocalresidual_.hh>
57template<
class TypeTag>
58struct GridGeometry<TypeTag,
TTag::PQ2HybridModel>
69template<
class TypeTag>
70struct GridVariables<TypeTag,
TTag::PQ2HybridModel>
86template<
class TypeTag>
87struct EnableGridGeometryCache<TypeTag,
TTag::PQ2HybridModel> {
static constexpr bool value =
false; };
90template<
class TypeTag>
91struct EnableGridVolumeVariablesCache<TypeTag,
TTag::PQ2HybridModel> {
static constexpr bool value =
false; };
94template<
class TypeTag>
95struct SolutionVector<TypeTag,
TTag::PQ2HybridModel> {
using type = Dune::BlockVector<GetPropType<TypeTag, Properties::PrimaryVariables>>; };
98template<
class TypeTag>
99struct JacobianMatrix<TypeTag,
TTag::PQ2HybridModel>
104 using MatrixBlock =
typename Dune::FieldMatrix<Scalar, numEq, numEq>;
110template<
class TypeTag>
111struct ElementBoundaryTypes<TypeTag,
TTag::PQ2Base>
120 using type = std::conditional_t<
121 Dumux::Detail::hasProblemBoundaryTypesForFaceFunction<Problem, typename GD::LocalView>(),
128template<
class TypeTag>
129struct GridGeometry<TypeTag,
TTag::PQ2FEModel>
139template<
class TypeTag>
140struct GridVariables<TypeTag,
TTag::PQ2FEModel>
155template<
class TypeTag>
156struct EnableGridVolumeVariablesCache<TypeTag,
TTag::PQ2FEModel> {
static constexpr bool value =
false; };
159template<
class TypeTag>
160struct SolutionVector<TypeTag,
TTag::PQ2FEModel> {
using type = Dune::BlockVector<GetPropType<TypeTag, Properties::PrimaryVariables>>; };
163template<
class TypeTag>
164struct JacobianMatrix<TypeTag,
TTag::PQ2FEModel>
169 using MatrixBlock =
typename Dune::FieldMatrix<Scalar, numEq, numEq>;
178template<
class Problem>
182 using GD = std::decay_t<decltype(std::declval<Problem>().gridDiscretization())>;
186 using BoundaryTypes = Detail::BoundaryTypes<Problem, typename GD::LocalView>::type;
189template<
class TypeTag>
198template<PQ2Hybr
idModel TypeTag>
200{
using type = Dumux::Experimental::CVFELocalResidual<TypeTag>; };
205template<PQ2FEModel TypeTag>
The element-wise residual for grid-based discretization schemes.
Boundary flag to store e.g. in sub control volume faces.
Interpolation point data related to a local basis.
Definition cvfe/interpolationpointdata.hh:161
This class stores an array of BoundaryTypes objects.
Definition cvfe/elementboundarytypes.hh:29
A class for providing the new update interface of variables. This allows to still use the VolumesVari...
Definition variablesadapter.hh:36
This class stores an array of BoundaryTypes objects. This class is not dependent on the used discreti...
Definition elementboundarytypes.hh:30
The grid variables cache class for hybrid control-volume finite element methods.
Definition cvfe/hybrid/gridvariablescache.hh:49
Base class for the grid local variables.
Definition fem/gridvariablescache.hh:50
The grid variables class for general schemes, storing variables and data.
Definition discretization/gridvariables.hh:27
The element-wise residual for grid-based discretization schemes.
Definition assembly/localresidual.hh:39
Base class for the finite volume geometry vector for pq2 schemes This builds up the sub control volum...
Definition discretization/pq2/fvgridgeometry.hh:138
Defines all properties used in Dumux.
Type traits for problem classes.
Boundary types gathered on an element.
The local element solution class for control-volume finite element methods.
The grid variables cache class for hybrid control-volume finite element methods.
Classes representing interpolation point data for control-volume finite element schemes.
The default local operator than can be specialized for each discretization scheme.
The grid variables class for general schemes, storing variables and data.
Base class for the finite volume geometry vector for the pq2 method This builds up the sub control vo...
Boundary types gathered on an element.
The element variables class.
The grid local variables class for finite element methods.
Declares properties required for finite-volume models models.
FEGridDiscretization< GV, Traits > PQ2FEGridDiscretization
Finite element grid discretization for the PQ2 method.
Definition pq2/fegriddiscretization.hh:84
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:310
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition propertysystem.hh:296
constexpr bool inheritsFrom()
Return true if the given type tag inherits from the given parent type tag.
Definition propertysystem.hh:262
The available discretization methods in Dumux.
Definition cvfelocalresidual.hh:25
CVFE< CVFEMethods::PQ2 > PQ2
Definition method.hh:132
Type tag for numeric models.
Definition grid.hh:24
The energy balance equation for a porous solid.
Definition common/properties.hh:26
Finite element grid discretization for the PQ2 method.
CCLocalResidual< TypeTag > type
Definition ccmpfa.hh:185
Definition defaultlocaloperator.hh:19
Detail::BoundaryTypes< Problem, typename GD::LocalView >::type BoundaryTypes
Definition pq2.hh:186
GD GridDiscretization
Definition pq2.hh:184
Definition common/typetraits/problem.hh:23
Definition cvfe/hybrid/gridvariablescache.hh:35
Definition fem/gridvariablescache.hh:36
Detail::ProblemGridGeometry< Problem > GridDiscretization
Definition common/typetraits/problem.hh:51
typename Detail::template ProblemTraits< Problem, typename GridGeometry::DiscretizationMethod >::BoundaryTypes BoundaryTypes
Definition common/typetraits/problem.hh:52
std::conditional_t< Dumux::Detail::hasProblemBoundaryTypesForFaceFunction< Problem, typename GD::LocalView >(), Dumux::ElementIntersectionBoundaryTypes< BoundaryTypes >, Dumux::CVFEElementBoundaryTypes< BoundaryTypes > > type
Definition pq2.hh:120
static constexpr bool value
Definition pq2.hh:87
static constexpr bool value
Definition pq2.hh:156
static constexpr bool value
Definition pq2.hh:91
Dumux::Experimental::PQ2FEGridDiscretization< Scalar, GridView, enableCache > type
Definition pq2.hh:136
PQ2FVGridGeometry< Scalar, GridView, enableCache > type
Definition pq2.hh:65
Dumux::Experimental::GridVariables< GG, GVC > type
Definition pq2.hh:151
Dumux::Experimental::GridVariables< GG, GVC > type
Definition pq2.hh:82
typename Dune::BCRSMatrix< MatrixBlock > type
Definition pq2.hh:171
typename Dune::BCRSMatrix< MatrixBlock > type
Definition pq2.hh:106
Dune::BlockVector< GetPropType< TypeTag, Properties::PrimaryVariables > > type
Definition pq2.hh:160
Dune::BlockVector< GetPropType< TypeTag, Properties::PrimaryVariables > > type
Definition pq2.hh:95
std::tuple< GridProperties > InheritsFrom
Definition pq2.hh:51
std::tuple< PQ2Base > InheritsFrom
Definition pq2.hh:53
std::tuple< PQ2Base > InheritsFrom
Definition pq2.hh:52