3.2-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Loading...
Searching...
No Matches
porousmediumflow/boxdfm/model.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 *****************************************************************************/
25
26#ifndef DUMUX_POROUSMEDIUMFLOW_BOXDFM_MODEL_HH
27#define DUMUX_POROUSMEDIUMFLOW_BOXDFM_MODEL_HH
28
29#include <dune/common/deprecated.hh>
30
32
33#include "fvgridgeometry.hh"
34#include "fluxvariablescache.hh"
35
36namespace Dumux {
37namespace Properties {
38
40// Create new type tags
41namespace TTag {
42struct BoxDfmModel { using InheritsFrom = std::tuple<BoxModel>; };
43} // end namespace TTag
44
46template<class TypeTag>
47struct GridGeometry<TypeTag, TTag::BoxDfmModel>
48{
49private:
50 static constexpr bool enableCache = getPropValue<TypeTag, Properties::EnableGridGeometryCache>();
51 DUNE_NO_DEPRECATED_BEGIN
53 DUNE_NO_DEPRECATED_END
55public:
57};
58
60template<class TypeTag>
61struct FluxVariablesCache<TypeTag, TTag::BoxDfmModel> { using type = BoxDfmFluxVariablesCache<TypeTag>; };
62
63} // namespace Properties
64} // namespace Dumux
65
66#endif
Defines a type tag and some properties for models using the box scheme.
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:48
Type tag for numeric models.
Definition grid.hh:36
Definition common/properties.hh:113
Stores data associated with flux vars.
Definition common/properties.hh:126
We only store discretization-related quantities for the box method. However, we cannot reuse the cach...
Definition porousmediumflow/boxdfm/fluxvariablescache.hh:45
Base class for the finite volume geometry vector for box schemes.
Definition porousmediumflow/boxdfm/fvgridgeometry.hh:85
Definition porousmediumflow/boxdfm/model.hh:42
std::tuple< BoxModel > InheritsFrom
Definition porousmediumflow/boxdfm/model.hh:42
BoxDfmFVGridGeometry< Scalar, GridView, enableCache > type
Definition porousmediumflow/boxdfm/model.hh:56
BoxDfmFluxVariablesCache< TypeTag > type
Definition porousmediumflow/boxdfm/model.hh:61
Cache class for the flux variables to be used in conjunction with the box discrete fracture scheme.
Base class for the finite volume geometry vector for box schemes that consider extra connectivity bet...