From 06393a74a8440a5d1fbd609a92d5a716f1d30609 Mon Sep 17 00:00:00 2001 From: Bernd Flemisch <bernd@iws.uni-stuttgart.de> Date: Tue, 28 Aug 2018 10:39:16 +0200 Subject: [PATCH] [test][mpnc] remove typetag from spatial parameters See #555. --- .../tpfa/fourierslawnonequilibrium.hh | 26 ++++++++++--------- .../mpnc/implicit/kinetic/problem.hh | 10 +++++-- .../mpnc/implicit/kinetic/spatialparams.hh | 18 +++++-------- 3 files changed, 28 insertions(+), 26 deletions(-) diff --git a/dumux/discretization/cellcentered/tpfa/fourierslawnonequilibrium.hh b/dumux/discretization/cellcentered/tpfa/fourierslawnonequilibrium.hh index f4ace0d089..1e889b6000 100644 --- a/dumux/discretization/cellcentered/tpfa/fourierslawnonequilibrium.hh +++ b/dumux/discretization/cellcentered/tpfa/fourierslawnonequilibrium.hh @@ -27,7 +27,7 @@ #include <dumux/common/parameters.hh> #include <dumux/common/properties.hh> -#include <dumux/discretization/methods.hh> +#include <dumux/discretization/method.hh> #include <dumux/discretization/cellcentered/tpfa/computetransmissibility.hh> namespace Dumux @@ -43,28 +43,30 @@ class FouriersLawNonEquilibriumImplementation; template <class TypeTag> class FouriersLawNonEquilibriumImplementation<TypeTag, DiscretizationMethod::cctpfa> { - using Implementation = FouriersLawNonEquilibriumImplementation<TypeTag, DiscretizationMethod::cctpfa>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Implementation = FouriersLawImplementation<TypeTag, DiscretizationMethod::cctpfa>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using IndexType = typename GridView::IndexSet::IndexType; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using Element = typename GridView::template Codim<0>::Entity; - using ElementFluxVarsCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using FluxVariablesCache = typename GET_PROP_TYPE(TypeTag, FluxVariablesCache); + using ElementFluxVarsCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using FluxVariablesCache = GetPropType<TypeTag, Properties::FluxVariablesCache>; static const int dim = GridView::dimension; static const int dimWorld = GridView::dimensionworld; using DimWorldMatrix = Dune::FieldMatrix<Scalar, dimWorld, dimWorld>; - using ThermalConductivityModel = typename GET_PROP_TYPE(TypeTag, ThermalConductivityModel); + using ThermalConductivityModel = GetPropType<TypeTag, Properties::ThermalConductivityModel>; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - enum { numEnergyEqFluid = GET_PROP_VALUE(TypeTag, NumEnergyEqFluid) }; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; + + enum { numEnergyEqFluid = ModelTraits::numEnergyEqFluid() }; enum {sPhaseIdx = FluidSystem::numPhases}; public: diff --git a/test/porousmediumflow/mpnc/implicit/kinetic/problem.hh b/test/porousmediumflow/mpnc/implicit/kinetic/problem.hh index 2edd0f3012..fbb9cd18da 100644 --- a/test/porousmediumflow/mpnc/implicit/kinetic/problem.hh +++ b/test/porousmediumflow/mpnc/implicit/kinetic/problem.hh @@ -118,7 +118,14 @@ struct SolidSystem<TypeTag, TTag::EvaporationAtmosphere> // Set the spatial parameters template<class TypeTag> -struct SpatialParams<TypeTag, TTag::EvaporationAtmosphere> { using type = EvaporationAtmosphereSpatialParams<TypeTag>; }; +struct SpatialParams<TypeTag, TTag::EvaporationAtmosphere> +{ + using FVGridGeometry = GetPropType<TypeTag, FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidState = GetPropType<TypeTag, Properties::FluidState>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using type = EvaporationAtmosphereSpatialParams<FVGridGeometry, Scalar, FluidState, FluidSystem>; +}; // Set the interfacial area relation: wetting -- non-wetting template<class TypeTag> @@ -132,7 +139,6 @@ public: using type = EffToAbsLawIA<EffectiveIALaw, MaterialLawParams>; }; - // Set the interfacial area relation: wetting -- solid template<class TypeTag> struct AwsSurface<TypeTag, TTag::EvaporationAtmosphere> diff --git a/test/porousmediumflow/mpnc/implicit/kinetic/spatialparams.hh b/test/porousmediumflow/mpnc/implicit/kinetic/spatialparams.hh index b5088fa2d4..5fcea4a084 100644 --- a/test/porousmediumflow/mpnc/implicit/kinetic/spatialparams.hh +++ b/test/porousmediumflow/mpnc/implicit/kinetic/spatialparams.hh @@ -47,28 +47,22 @@ namespace Dumux { /** * \brief Definition of the spatial parameters for the evaporation atmosphere Problem (using a "poor man's coupling") */ -template<class TypeTag> +template<class FVGridGeometry, class Scalar, class FluidState, class FluidSystem> class EvaporationAtmosphereSpatialParams -: public FVNonEquilibriumSpatialParams<GetPropType<TypeTag, Properties::FVGridGeometry>, - GetPropType<TypeTag, Properties::Scalar>, - EvaporationAtmosphereSpatialParams<TypeTag>> +: public FVNonEquilibriumSpatialParams<FVGridGeometry, Scalar, + EvaporationAtmosphereSpatialParams<FVGridGeometry, Scalar, FluidState, FluidSystem>> { - using Scalar = GetPropType<TypeTag, Properties::Scalar>; - using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using GridView = typename FVGridGeometry::GridView; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using Element = typename GridView::template Codim<0>::Entity; - using ParentType = FVNonEquilibriumSpatialParams<FVGridGeometry, Scalar, EvaporationAtmosphereSpatialParams<TypeTag>>; + using ThisType = EvaporationAtmosphereSpatialParams<FVGridGeometry, Scalar, FluidState, FluidSystem>; + using ParentType = FVNonEquilibriumSpatialParams<FVGridGeometry, Scalar, ThisType>; using GlobalPosition = Dune::FieldVector<Scalar, GridView::dimension>; enum { dimWorld = GridView::dimensionworld }; - enum { numPhases = GetPropType<TypeTag, Properties::ModelTraits>::numPhases() }; - - using FluidState = GetPropType<TypeTag, Properties::FluidState>; - using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; - + enum { numPhases = FluidSystem::numPhases }; enum { liquidPhaseIdx = FluidSystem::liquidPhaseIdx }; public: //! export the type used for the permeability -- GitLab