3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Loading...
Searching...
No Matches
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 * See the file COPYING for full copying permissions. *
5 * *
6 * This program is free software: you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License as published by *
8 * the Free Software Foundation, either version 3 of the License, or *
9 * (at your option) any later version. *
10 * *
11 * This program is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU General Public License *
17 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
18 *****************************************************************************/
28
29#ifndef DUMUX_FACETCOUPLING_BOX_PROPERTIES_HH
30#define DUMUX_FACETCOUPLING_BOX_PROPERTIES_HH
31
34
40
42
43namespace Dumux {
44
45namespace Properties {
46
49// Create new type tags
50namespace TTag {
51struct BoxFacetCouplingModel { using InheritsFrom = std::tuple<BoxModel>; };
52} // end namespace TTag
53
55template<class TypeTag>
56struct BaseLocalResidual<TypeTag, TTag::BoxFacetCouplingModel> { using type = BoxFacetCouplingLocalResidual<TypeTag>; };
57
59template<class TypeTag>
65
67template<class TypeTag>
73
75template<class TypeTag>
78
79// Dumux 3.1 changes the property `FVGridGeometry` to `GridGeometry`.
80// For ensuring backward compatibility on the user side, it is necessary to
81// stick to the old name for the specializations, see the discussion in MR 1647.
82// Use diagnostic pragmas to prevent the emission of a warning message.
83// TODO after 3.1: Rename to GridGeometry, remove the pragmas and this comment.
84#pragma GCC diagnostic push
85#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
87template<class TypeTag>
88struct FVGridGeometry<TypeTag, TTag::BoxFacetCouplingModel>
89{
90private:
91 static constexpr bool enableCache = getPropValue<TypeTag, Properties::EnableGridGeometryCache>();
94public:
96};
97#pragma GCC diagnostic pop
98
99} // namespace Properties
100} // namespace Dumux
101
102#endif
Defines a type tag and some properties for models using the box scheme.
make the local view function available whenever we use the grid geometry
Definition adapt.hh:29
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:153
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property (equivalent to old macro GET_PROP_TYPE(....
Definition propertysystem.hh:149
Definition common/properties.hh:47
Type tag for numeric models.
Definition grid.hh:35
The type of the base class of the local residual (specific to a discretization scheme).
Definition common/properties.hh:80
Stores the boundary types on an element.
Definition common/properties.hh:112
The type of the global finite volume geometry.
Definition common/properties.hh:125
Container storing the different types of flux variables.
Definition common/properties.hh:180
The type for the calculation the advective fluxes.
Definition common/properties.hh:208
Darcy's law for the box scheme scheme in the context of coupled models where coupling occurs across t...
Definition multidomain/facet/box/darcyslaw.hh:51
This class stores an array of BoundaryTypes objects on an element for the box scheme with coupling oc...
Definition multidomain/facet/box/elementboundarytypes.hh:43
Base class for the finite volume geometry vector for box schemes in the context of coupled models whe...
Definition multidomain/facet/box/fvgridgeometry.hh:84
The element-wise residual for the box scheme.
Definition multidomain/facet/box/localresidual.hh:43
Definition multidomain/facet/box/properties.hh:51
std::tuple< BoxModel > InheritsFrom
Definition multidomain/facet/box/properties.hh:51
BoxFacetCouplingLocalResidual< TypeTag > type
Definition multidomain/facet/box/properties.hh:56
BoxFacetCouplingDarcysLaw< GetPropType< TypeTag, Properties::Scalar >, GetPropType< TypeTag, Properties::GridGeometry > > type
Definition multidomain/facet/box/properties.hh:62
PorousMediumFluxVariables< TypeTag, BoxFacetCouplingUpwindScheme< GetPropType< TypeTag, Properties::GridGeometry > > > type
Definition multidomain/facet/box/properties.hh:70
BoxFacetCouplingElementBoundaryTypes< GetPropType< TypeTag, Properties::BoundaryTypes > > type
Definition multidomain/facet/box/properties.hh:77
BoxFacetCouplingFVGridGeometry< Scalar, GridView, enableCache > type
Definition multidomain/facet/box/properties.hh:95
The upwind scheme used for the advective fluxes. This is a modified scheme for models involving coupl...
Definition multidomain/facet/box/upwindscheme.hh:41
The porous medium flux variables class that computes advective / convective, molecular diffusive and ...
Definition porousmediumflow/fluxvariables.hh:53
Declares all properties used in Dumux.
Boundary types gathered on an element for the box scheme with coupling occurring across the element f...
Base class for the finite volume grid geometry for box models in the context of models considering co...
Darcy's law for the box scheme scheme in the context of coupled models where coupling occurs across t...
Modified upwind scheme for models using the box scheme with coupling across element facets.
Base class for the flux variables in porous medium models.
Calculates the element-wise residual for the box scheme with coupling to a lower-dimensional domain o...