version 3.11-dev
multidomain/facet/box/properties.hh
Go to the documentation of this file.
1// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2// vi: set et ts=4 sw=4 sts=4:
3//
4// SPDX-FileCopyrightText: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
17#ifndef DUMUX_FACETCOUPLING_BOX_PROPERTIES_HH
18#define DUMUX_FACETCOUPLING_BOX_PROPERTIES_HH
19
20#include <concepts>
21
25
32
34
35namespace Dumux {
36
37namespace Properties {
38
41// Create new type tags
42namespace TTag {
43struct BoxFacetCouplingModel { using InheritsFrom = std::tuple<BoxModel>; };
44} // end namespace TTag
45
47template<class TypeTag>
48struct AdvectionType<TypeTag, TTag::BoxFacetCouplingModel>
49{
52};
53
55template<class TypeTag>
56struct MolecularDiffusionType<TypeTag, TTag::BoxFacetCouplingModel>
57{
59};
60
62template<class TypeTag>
63struct HeatConductionType<TypeTag, TTag::BoxFacetCouplingModel>
64{
66};
67
69template<class TypeTag>
70struct FluxVariables<TypeTag, TTag::BoxFacetCouplingModel>
71{
74};
75
77template<class TypeTag>
78struct GridGeometry<TypeTag, TTag::BoxFacetCouplingModel>
79{
80private:
81 static constexpr bool enableCache = getPropValue<TypeTag, Properties::EnableGridGeometryCache>();
84public:
86};
87
88} // namespace Properties
89
90namespace Detail {
91
92template<class T>
93concept BoxFacetCouplingModel = BoxModel<T> && Dumux::Properties::inheritsFrom<Properties::TTag::BoxFacetCouplingModel, T>();
94
95template<BoxFacetCouplingModel TypeTag>
97{
99};
100
101} // namespace Detail
102
103} // namespace Dumux
104
105#endif
Defines a type tag and some properties for models using the box scheme.
Darcy's law for the box scheme in the context of coupled models where coupling occurs across the face...
Definition: multidomain/facet/box/darcyslaw.hh:39
Base class for the finite volume geometry vector for box schemes in the context of coupled models whe...
Definition: multidomain/facet/box/fvgridgeometry.hh:82
Ficks's law for the box scheme in the context of coupled models where coupling occurs across the face...
Definition: multidomain/facet/box/fickslaw.hh:41
Fourier's law for the box scheme in the context of coupled models where coupling occurs across the fa...
Definition: multidomain/facet/box/fourierslaw.hh:42
The element-wise residual for the box scheme.
Definition: multidomain/facet/box/localresidual.hh:32
The upwind scheme used for the advective fluxes. This is a modified scheme for models involving coupl...
Definition: multidomain/facet/box/upwindscheme.hh:29
The element-wise residual for control-volume finite element schemes.
Definition: cvfelocalresidual.hh:63
The porous medium flux variables class that computes advective / convective, molecular diffusive and ...
Definition: porousmediumflow/fluxvariables.hh:41
Defines all properties used in Dumux.
Definition: multidomain/facet/box/properties.hh:93
Definition: box.hh:130
The default local operator than can be specialized for each discretization scheme.
typename GetProp< TypeTag, Property >::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:296
Base class for the finite volume grid geometry for box models in the context of models considering co...
Calculates the element-wise residual for the box scheme with coupling to a lower-dimensional domain o...
Modified upwind scheme for models using the box scheme with coupling across element facets.
Definition: adapt.hh:17
typename Detail::DiscretizationDefaultLocalOperator< TypeTag >::type DiscretizationDefaultLocalOperator
Definition: defaultlocaloperator.hh:27
Base class for the flux variables in porous medium models.
Definition: multidomain/facet/box/properties.hh:43
std::tuple< BoxModel > InheritsFrom
Definition: multidomain/facet/box/properties.hh:43