From 4762cb4ca138b71257e151cd781dcc2b7045f539 Mon Sep 17 00:00:00 2001 From: Benjamin Faigle <benjamin.faigle@posteo.de> Date: Fri, 28 Sep 2012 14:53:08 +0000 Subject: [PATCH] add missing properties file for adaptive compositional model git-svn-id: svn://svn.iws.uni-stuttgart.de/DUMUX/dumux/trunk@9146 2fb0f335-1f38-0410-981e-8018bf24f1b0 --- .../decoupled/2p2c/2p2cadaptiveproperties.hh | 105 ++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 dumux/decoupled/2p2c/2p2cadaptiveproperties.hh diff --git a/dumux/decoupled/2p2c/2p2cadaptiveproperties.hh b/dumux/decoupled/2p2c/2p2cadaptiveproperties.hh new file mode 100644 index 0000000000..f280920501 --- /dev/null +++ b/dumux/decoupled/2p2c/2p2cadaptiveproperties.hh @@ -0,0 +1,105 @@ +// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +// vi: set et ts=4 sw=4 sts=4: +/***************************************************************************** + * See the file COPYING for full copying permissions. * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see <http://www.gnu.org/licenses/>. * + *****************************************************************************/ + +/*! + * \ingroup IMPEC + * \ingroup IMPETProperties + * + * \file + * + * \brief Defines the properties required for the decoupled 2p2c models. + */ +#ifndef DUMUX_2P2CADAPTIVE_PROPERTIES_HH +#define DUMUX_2P2CADAPTIVE_PROPERTIES_HH + +#include <dumux/decoupled/2p2c/2p2cproperties.hh> + +namespace Dumux +{ + +//****** forward declarations ******// +template<class TypeTag> +class DecoupledTwoPTwoCIndicesAdaptive; + +//////////////////////////////// +// properties +//////////////////////////////// +namespace Properties +{ + +////////////////////////////////////////////////////////////////// +// Type tags +////////////////////////////////////////////////////////////////// +//! The type tag for the compositional two-phase problems +NEW_TYPE_TAG(DecoupledTwoPTwoCAdaptive, INHERITS_FROM(DecoupledTwoPTwoC)); + +////////////////////////////////////////////////////////////////// +// Property tags +////////////////////////////////////////////////////////////////// + +NEW_PROP_TAG( GridAdaptEnableMultiPointFluxApproximation); //!< HangingNode: Two-point flux approximation (false) or mpfa (true) +NEW_PROP_TAG( GridAdaptEnableSecondHalfEdge ); //!< Uses second interaction volume for second half-edge in 2D +}} + +//Dumux includes +#include <dumux/decoupled/2p2c/fvpressure2p2cadaptive.hh> +#include <dumux/decoupled/2p2c/fvtransport2p2cadaptive.hh> +#include <dumux/decoupled/2p2c/variableclass2p2cadaptive.hh> +#include <dumux/decoupled/2p2c/cellData2p2cadaptive.hh> + +namespace Dumux { +namespace Properties { +////////////////////////////////////////////////////////////////// +// Properties +////////////////////////////////////////////////////////////////// +SET_BOOL_PROP(DecoupledTwoPTwoCAdaptive, AdaptiveGrid, true); +SET_TYPE_PROP(DecoupledTwoPTwoCAdaptive, GridTypeIndices, GridTypes); //! Property not used but default necessary for mpfa2p +SET_BOOL_PROP(DecoupledTwoPTwoCAdaptive, GridAdaptEnableSecondHalfEdge, true); //!< Uses second interaction volume for second half-edge in 2D +SET_BOOL_PROP(DecoupledTwoPTwoCAdaptive, GridAdaptEnableMultiPointFluxApproximation, true); //!< applies an mpfa method around hanging nodes +SET_TYPE_PROP(DecoupledTwoPTwoCAdaptive, CellData, CellData2P2CAdaptive<TypeTag>); +SET_TYPE_PROP(DecoupledTwoPTwoCAdaptive, Variables, VariableClass2P2CAdaptive<TypeTag>); +SET_TYPE_PROP(DecoupledTwoPTwoCAdaptive, Indices, DecoupledTwoPTwoCIndicesAdaptive<TypeTag>); +// Set the model properties +SET_TYPE_PROP(DecoupledTwoPTwoCAdaptive, TransportModel, FVTransport2P2CAdaptive<TypeTag>); +SET_TYPE_PROP(DecoupledTwoPTwoCAdaptive, PressureModel, FVPressure2P2CAdaptive<TypeTag>); +}; + + +/*! + * \brief Missing indices to the mpfa2p model. + * + * Compositional adaptive models use the 2p implementation with mpfa to + * calculate the transmissibility (and nothing else). To couple both modules, + * several Indice have to be present. Here, we apply dummy values to avoid + * errors in case those Indice are really applied somewhere. + */ +template <class TypeTag> +struct DecoupledTwoPTwoCIndicesAdaptive : DecoupledTwoPTwoCIndices<TypeTag> +{ + static const int pressureIdx = 0; + static const int saturationIdx = 0; + static const int pressEqIdx = 0; + static const int satEqIdx = 0; +}; + +// \} + +} + +#endif -- GitLab