Commit fd3797dc authored by Kilian Weishaupt's avatar Kilian Weishaupt
Browse files

[test][sequential][2p2c] Replace property system macros

parent 3fdd6e85
......@@ -55,7 +55,7 @@ void usage(const char *progName, const std::string &errorMsg)
// The main function using the standard start procedure
int main(int argc, char** argv)
{
using TypeTag = TTAG(Adaptive2p2c2d);
using TypeTag = Dumux::Properties::TTag::Adaptive2p2c2d;
return Dumux::start<TypeTag>(argc, argv, usage);
}
......
......@@ -29,6 +29,7 @@
#endif
#include <dune/grid/yaspgrid.hh>
#include <dumux/common/properties.hh>
#include <dumux/common/math.hh>
#include <dumux/porousmediumflow/2p2c/sequential/adaptiveproperties.hh>
#include <dumux/porousmediumflow/2p2c/sequential/problem.hh>
......@@ -50,35 +51,46 @@ class Adaptive2p2c2d;
namespace Properties
{
NEW_TYPE_TAG(Adaptive2p2c2d, INHERITS_FROM(SequentialTwoPTwoCAdaptive,Test2P2CSpatialParams));
// Create new type tags
namespace TTag {
struct Adaptive2p2c2d { using InheritsFrom = std::tuple<Test2P2CSpatialParams, SequentialTwoPTwoCAdaptive>; };
} // end namespace TTag
// Set the grid type
#if HAVE_UG
SET_TYPE_PROP(Adaptive2p2c2d, Grid, Dune::UGGrid<2>);
template<class TypeTag>
struct Grid<TypeTag, TTag::Adaptive2p2c2d> { using type = Dune::UGGrid<2>; };
#else
SET_TYPE_PROP(Adaptive2p2c2d, Grid, Dune::YaspGrid<3>);
template<class TypeTag>
struct Grid<TypeTag, TTag::Adaptive2p2c2d> { using type = Dune::YaspGrid<3>; };
#endif
// Set the problem property
SET_TYPE_PROP(Adaptive2p2c2d, Problem, Adaptive2p2c2d<TTAG(Adaptive2p2c2d)>);
template<class TypeTag>
struct Problem<TypeTag, TTag::Adaptive2p2c2d> { using type = Adaptive2p2c2d<Properties::TTag::Adaptive2p2c2d>; };
// Select fluid system
template<class TypeTag>
struct FluidSystem<TypeTag, TTag::Adaptive2p2c2d>
{
using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
using Scalar = GetPropType<TypeTag, Properties::Scalar>;
using type = FluidSystems::H2OAir<Scalar, Components::H2O<Scalar>>;
};
// Set the 2d Transport and Pressure model (already set as default in properties file)
SET_TYPE_PROP(Adaptive2p2c2d, TransportModel, FV2dTransport2P2CAdaptive<TypeTag>);
SET_TYPE_PROP(Adaptive2p2c2d, PressureModel, FV2dPressure2P2CAdaptive<TypeTag>);
template<class TypeTag>
struct TransportModel<TypeTag, TTag::Adaptive2p2c2d> { using type = FV2dTransport2P2CAdaptive<TypeTag>; };
template<class TypeTag>
struct PressureModel<TypeTag, TTag::Adaptive2p2c2d> { using type = FV2dPressure2P2CAdaptive<TypeTag>; };
// Specify indicator
SET_TYPE_PROP(Adaptive2p2c2d, AdaptionIndicator, GridAdaptionIndicator2P<TypeTag>);
template<class TypeTag>
struct AdaptionIndicator<TypeTag, TTag::Adaptive2p2c2d> { using type = GridAdaptionIndicator2P<TypeTag>; };
SET_BOOL_PROP(Adaptive2p2c2d, EnableCapillarity, true);
SET_INT_PROP(Adaptive2p2c2d, PressureFormulation, GET_PROP_TYPE(TypeTag, Indices)::pressureN);
template<class TypeTag>
struct EnableCapillarity<TypeTag, TTag::Adaptive2p2c2d> { static constexpr bool value = true; };
template<class TypeTag>
struct PressureFormulation<TypeTag, TTag::Adaptive2p2c2d> { static constexpr int value = GetPropType<TypeTag, Properties::Indices>::pressureN; };
}
......@@ -102,19 +114,19 @@ SET_INT_PROP(Adaptive2p2c2d, PressureFormulation, GET_PROP_TYPE(TypeTag, Indices
* To run the simulation execute the following line in shell:
* <tt>./test_adaptive2p2c -parameterFile ./test_adaptive2p2c.input</tt>
*/
template<class TypeTag = TTAG(Adaptive2p2c2d)>
template<class TypeTag = Properties::TTag::Adaptive2p2c2d>
class Adaptive2p2c2d: public IMPETProblem2P2C<TypeTag>
{
using ParentType = IMPETProblem2P2C<TypeTag>;
using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
using Grid = typename GET_PROP_TYPE(TypeTag, Grid);
using TimeManager = typename GET_PROP_TYPE(TypeTag, TimeManager);
using GridView = GetPropType<TypeTag, Properties::GridView>;
using Grid = GetPropType<TypeTag, Properties::Grid>;
using TimeManager = GetPropType<TypeTag, Properties::TimeManager>;
using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices;
using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem);
using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices;
using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes);
using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables);
using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>;
using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
enum
{
......@@ -126,7 +138,7 @@ enum
wPhaseIdx = Indices::wPhaseIdx, nPhaseIdx = Indices::nPhaseIdx
};
using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
using Scalar = GetPropType<TypeTag, Properties::Scalar>;
using Element = typename GridView::Traits::template Codim<0>::Entity;
using Intersection = typename GridView::Intersection;
......
......@@ -25,6 +25,7 @@
#if HAVE_UG
#include <dumux/common/properties.hh>
#include "test_adaptive2p2c3dproblem.hh"
#include <dumux/common/start.hh>
......@@ -55,7 +56,7 @@ void usage(const char *progName, const std::string &errorMsg)
// The main function using the standard start procedure
int main(int argc, char** argv)
{
using ProblemTypeTag = TTAG(Adaptive2p2c3d);
using ProblemTypeTag = Dumux::Properties::TTag::Adaptive2p2c3d;
return Dumux::start<ProblemTypeTag>(argc, argv, usage);
}
......
......@@ -49,36 +49,47 @@ class Adaptive2p2c3d;
namespace Properties
{
NEW_TYPE_TAG(Adaptive2p2c3d, INHERITS_FROM(SequentialTwoPTwoCAdaptive,Test2P2CSpatialParams, MPFAProperties));
// Create new type tags
namespace TTag {
struct Adaptive2p2c3d { using InheritsFrom = std::tuple<Test2P2CSpatialParams, MPFAProperties, SequentialTwoPTwoCAdaptive>; };
} // end namespace TTag
// Set the grid type
#if HAVE_UG
SET_TYPE_PROP(Adaptive2p2c3d, Grid, Dune::UGGrid<3>);
template<class TypeTag>
struct Grid<TypeTag, TTag::Adaptive2p2c3d> { using type = Dune::UGGrid<3>; };
#else
SET_TYPE_PROP(Adaptive2p2c3d, Grid, Dune::YaspGrid<3>);
template<class TypeTag>
struct Grid<TypeTag, TTag::Adaptive2p2c3d> { using type = Dune::YaspGrid<3>; };
#endif
// Set the problem property
SET_TYPE_PROP(Adaptive2p2c3d, Problem, Adaptive2p2c3d<TTAG(Adaptive2p2c3d)>);
template<class TypeTag>
struct Problem<TypeTag, TTag::Adaptive2p2c3d> { using type = Adaptive2p2c3d<Properties::TTag::Adaptive2p2c3d>; };
// Set the model properties
SET_TYPE_PROP(Adaptive2p2c3d, TransportModel, FV3dTransport2P2CAdaptive<TTAG(Adaptive2p2c3d)>);
template<class TypeTag>
struct TransportModel<TypeTag, TTag::Adaptive2p2c3d> { using type = FV3dTransport2P2CAdaptive<Properties::TTag::Adaptive2p2c3d>; };
SET_TYPE_PROP(Adaptive2p2c3d, PressureModel, FV3dPressure2P2CAdaptive<TTAG(Adaptive2p2c3d)>);
template<class TypeTag>
struct PressureModel<TypeTag, TTag::Adaptive2p2c3d> { using type = FV3dPressure2P2CAdaptive<Properties::TTag::Adaptive2p2c3d>; };
// Select fluid system
template<class TypeTag>
struct FluidSystem<TypeTag, TTag::Adaptive2p2c3d>
{
using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
using Scalar = GetPropType<TypeTag, Properties::Scalar>;
using type = FluidSystems::H2OAir<Scalar, Components::H2O<Scalar>, FluidSystems::H2OAirDefaultPolicy</*fastButSimplifiedRelations=*/true>>;
};
// Specify indicator
SET_TYPE_PROP(Adaptive2p2c3d, AdaptionIndicator, GridAdaptionIndicator2P<TypeTag>);
template<class TypeTag>
struct AdaptionIndicator<TypeTag, TTag::Adaptive2p2c3d> { using type = GridAdaptionIndicator2P<TypeTag>; };
SET_BOOL_PROP(Adaptive2p2c3d, EnableCapillarity, true);
SET_INT_PROP(Adaptive2p2c3d, PressureFormulation, GET_PROP_TYPE(TypeTag, Indices)::pressureN);
template<class TypeTag>
struct EnableCapillarity<TypeTag, TTag::Adaptive2p2c3d> { static constexpr bool value = true; };
template<class TypeTag>
struct PressureFormulation<TypeTag, TTag::Adaptive2p2c3d> { static constexpr int value = GetPropType<TypeTag, Properties::Indices>::pressureN; };
}
......@@ -102,20 +113,20 @@ SET_INT_PROP(Adaptive2p2c3d, PressureFormulation, GET_PROP_TYPE(TypeTag, Indices
* To run the simulation execute the following line in shell:
* <tt>./test_adaptive2p2c -parameterFile ./test_adaptive2p2c.input</tt>
*/
template<class TypeTag = TTAG(Adaptive2p2c3d)>
template<class TypeTag = Properties::TTag::Adaptive2p2c3d>
class Adaptive2p2c3d: public IMPETProblem2P2C<TypeTag>
{
using ParentType = IMPETProblem2P2C<TypeTag>;
using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
using Grid = typename GET_PROP_TYPE(TypeTag, Grid);
using TimeManager = typename GET_PROP_TYPE(TypeTag, TimeManager);
using GridView = GetPropType<TypeTag, Properties::GridView>;
using Grid = GetPropType<TypeTag, Properties::Grid>;
using TimeManager = GetPropType<TypeTag, Properties::TimeManager>;
using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices;
using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem);
using SpatialParams = typename GET_PROP_TYPE(TypeTag, SpatialParams);
using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices;
using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
using SpatialParams = GetPropType<TypeTag, Properties::SpatialParams>;
using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes);
using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables);
using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>;
using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
enum
{
dim = GridView::dimension, dimWorld = GridView::dimensionworld
......@@ -126,7 +137,7 @@ enum
wPhaseIdx = Indices::wPhaseIdx, nPhaseIdx = Indices::nPhaseIdx
};
using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
using Scalar = GetPropType<TypeTag, Properties::Scalar>;
using Element = typename GridView::Traits::template Codim<0>::Entity;
using Intersection = typename GridView::Intersection;
......
......@@ -24,6 +24,7 @@
*/
#include <config.h>
#include <dumux/common/properties.hh>
#include "test_dec2p2cproblem.hh"
#include <dumux/common/start.hh>
......@@ -59,6 +60,6 @@ void usage(const char *progName, const std::string &errorMsg)
////////////////////////
int main(int argc, char** argv)
{
using ProblemTypeTag = TTAG(TestDecTwoPTwoC);
using ProblemTypeTag = Dumux::Properties::TTag::TestDecTwoPTwoC;
return Dumux::start<ProblemTypeTag>(argc, argv, usage);
}
......@@ -24,6 +24,7 @@
#ifndef TEST_2P2C_SPATIALPARAMS_HH
#define TEST_2P2C_SPATIALPARAMS_HH
#include <dumux/common/properties.hh>
#include <dumux/porousmediumflow/2p2c/sequential/properties.hh>
#include <dumux/material/spatialparams/sequentialfv.hh>
#include <dumux/material/fluidmatrixinteractions/2p/linearmaterial.hh>
......@@ -38,17 +39,20 @@ class Test2P2CSpatialParams;
namespace Properties
{
// The spatial parameters TypeTag
NEW_TYPE_TAG(Test2P2CSpatialParams);
namespace TTag {
struct Test2P2CSpatialParams {};
}
// Set the spatial parameters
SET_TYPE_PROP(Test2P2CSpatialParams, SpatialParams, Test2P2CSpatialParams<TypeTag>);
template<class TypeTag>
struct SpatialParams<TypeTag, TTag::Test2P2CSpatialParams> { using type = Test2P2CSpatialParams<TypeTag>; };
// Set the material law
template<class TypeTag>
struct MaterialLaw<TypeTag, TTag::Test2P2CSpatialParams>
{
private:
using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
using Scalar = GetPropType<TypeTag, Properties::Scalar>;
using RawMaterialLaw = LinearMaterial<Scalar>;
public:
using type = EffToAbsLaw<RawMaterialLaw>;
......@@ -62,9 +66,9 @@ public:
template<class TypeTag>
class Test2P2CSpatialParams : public SequentialFVSpatialParams<TypeTag>
{
using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
using Problem = GetPropType<TypeTag, Properties::Problem>;
using GridView = GetPropType<TypeTag, Properties::GridView>;
using Scalar = GetPropType<TypeTag, Properties::Scalar>;
enum { dim = GridView::dimension };
using Element = typename GridView::Traits::template Codim<0>::Entity;
......@@ -72,7 +76,7 @@ class Test2P2CSpatialParams : public SequentialFVSpatialParams<TypeTag>
using FieldMatrix = Dune::FieldMatrix<Scalar, dim, dim>;
public:
using MaterialLaw = typename GET_PROP_TYPE(TypeTag, MaterialLaw);
using MaterialLaw = GetPropType<TypeTag, Properties::MaterialLaw>;
using MaterialLawParams = typename MaterialLaw::Params;
const FieldMatrix& intrinsicPermeability (const Element& element) const
......
......@@ -47,32 +47,42 @@ class TestDecTwoPTwoCProblem;
// Specify the properties
namespace Properties
{
NEW_TYPE_TAG(TestDecTwoPTwoC, INHERITS_FROM(SequentialTwoPTwoC, Test2P2CSpatialParams));
// Create new type tags
namespace TTag {
struct TestDecTwoPTwoC { using InheritsFrom = std::tuple<Test2P2CSpatialParams, SequentialTwoPTwoC>; };
} // end namespace TTag
// Set the grid type
SET_TYPE_PROP(TestDecTwoPTwoC, Grid, Dune::YaspGrid<3>);
template<class TypeTag>
struct Grid<TypeTag, TTag::TestDecTwoPTwoC> { using type = Dune::YaspGrid<3>; };
// Set the problem property
SET_TYPE_PROP(TestDecTwoPTwoC, Problem, TestDecTwoPTwoCProblem<TypeTag>);
template<class TypeTag>
struct Problem<TypeTag, TTag::TestDecTwoPTwoC> { using type = TestDecTwoPTwoCProblem<TypeTag>; };
// Set the model properties
SET_TYPE_PROP(TestDecTwoPTwoC, TransportModel, FVTransport2P2C<TypeTag>);
template<class TypeTag>
struct TransportModel<TypeTag, TTag::TestDecTwoPTwoC> { using type = FVTransport2P2C<TypeTag>; };
SET_TYPE_PROP(TestDecTwoPTwoC, PressureModel,FVPressure2P2C<TypeTag>);
template<class TypeTag>
struct PressureModel<TypeTag, TTag::TestDecTwoPTwoC> { using type = FVPressure2P2C<TypeTag>; };
SET_INT_PROP(TestDecTwoPTwoC, PressureFormulation, GET_PROP_TYPE(TypeTag, Indices)::pressureN);
template<class TypeTag>
struct PressureFormulation<TypeTag, TTag::TestDecTwoPTwoC> { static constexpr int value = GetPropType<TypeTag, Properties::Indices>::pressureN; };
// Select fluid system
template<class TypeTag>
struct FluidSystem<TypeTag, TTag::TestDecTwoPTwoC>
{
using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
using Scalar = GetPropType<TypeTag, Properties::Scalar>;
using type = FluidSystems::H2OAir<Scalar, Components::H2O<Scalar>>;
};
SET_BOOL_PROP(TestDecTwoPTwoC, EnableCapillarity, true);
SET_INT_PROP(TestDecTwoPTwoC, BoundaryMobility, GET_PROP_TYPE(TypeTag, Indices)::satDependent);
template<class TypeTag>
struct EnableCapillarity<TypeTag, TTag::TestDecTwoPTwoC> { static constexpr bool value = true; };
template<class TypeTag>
struct BoundaryMobility<TypeTag, TTag::TestDecTwoPTwoC> { static constexpr int value = GetPropType<TypeTag, Properties::Indices>::satDependent; };
}
/*!
......@@ -91,22 +101,22 @@ template<class TypeTag>
class TestDecTwoPTwoCProblem: public IMPETProblem2P2C<TypeTag>
{
using ParentType = IMPETProblem2P2C<TypeTag>;
using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
using GridView = GetPropType<TypeTag, Properties::GridView>;
using Grid = typename GridView::Grid;
using TimeManager = typename GET_PROP_TYPE(TypeTag, TimeManager);
using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices;
using TimeManager = GetPropType<TypeTag, Properties::TimeManager>;
using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices;
using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem);
using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes);
using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables);
using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>;
using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
enum
{
dim = GridView::dimension, dimWorld = GridView::dimensionworld
};
using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
using Scalar = GetPropType<TypeTag, Properties::Scalar>;
using Element = typename GridView::Traits::template Codim<0>::Entity;
using Intersection = typename GridView::Intersection;
......
......@@ -27,6 +27,7 @@
#include <array>
#include <iostream>
#include <dumux/common/properties.hh>
#include <dune/common/exceptions.hh>
#include <dune/common/parallel/mpihelper.hh>
#include <dune/grid/common/gridinfo.hh>
......@@ -44,18 +45,20 @@ void usage(const char *progname, const std::string &errorMsg = "")
int main(int argc, char** argv)
{
using namespace Dumux;
try {
using TypeTag = TTAG(TestMultTwoPTwoC);
using Grid = GET_PROP_TYPE(TypeTag, Grid);
using Problem = GET_PROP_TYPE(TypeTag, Problem);
using TimeManager = GET_PROP_TYPE(TypeTag, TimeManager);
using TypeTag = Properties::TTag::TestMultTwoPTwoC;
using Grid = GetPropType<TypeTag, Properties::Grid>;
using Problem = GetPropType<TypeTag, Properties::Problem>;
using TimeManager = GetPropType<TypeTag, Properties::TimeManager>;
static const int dim = Grid::dimension;
// initialize MPI, finalize is done automatically on exit
Dune::MPIHelper::instance(argc, argv);
auto defaultParams = [] (Dune::ParameterTree& p) {GET_PROP(TypeTag, ModelDefaultParameters)::defaultParams(p);};
auto defaultParams = [] (Dune::ParameterTree& p) {GetProp<TypeTag, Properties::ModelDefaultParameters>::defaultParams(p);};
Dumux::Parameters::init(argc, argv, defaultParams, usage);
////////////////////////////////////////////////////////////
......
......@@ -48,33 +48,44 @@ class TestMultTwoPTwoCProblem;
// Specify the properties
namespace Properties
{
NEW_TYPE_TAG(TestMultTwoPTwoC, INHERITS_FROM(SequentialTwoPTwoC, Test2P2CSpatialParams));
// Create new type tags
namespace TTag {
struct TestMultTwoPTwoC { using InheritsFrom = std::tuple<Test2P2CSpatialParams, SequentialTwoPTwoC>; };
} // end namespace TTag
SET_TYPE_PROP(TestMultTwoPTwoC, CellData, CellData2P2CMultiPhysics<TypeTag>);
template<class TypeTag>
struct CellData<TypeTag, TTag::TestMultTwoPTwoC> { using type = CellData2P2CMultiPhysics<TypeTag>; };
// Set the grid type
SET_TYPE_PROP(TestMultTwoPTwoC, Grid, Dune::YaspGrid<3>);
template<class TypeTag>
struct Grid<TypeTag, TTag::TestMultTwoPTwoC> { using type = Dune::YaspGrid<3>; };
// Set the problem property
SET_TYPE_PROP(TestMultTwoPTwoC, Problem, TestMultTwoPTwoCProblem<TypeTag>);
template<class TypeTag>
struct Problem<TypeTag, TTag::TestMultTwoPTwoC> { using type = TestMultTwoPTwoCProblem<TypeTag>; };
// Set the model properties
SET_TYPE_PROP(TestMultTwoPTwoC, TransportModel,FVTransport2P2CMultiPhysics<TypeTag>);
template<class TypeTag>
struct TransportModel<TypeTag, TTag::TestMultTwoPTwoC> { using type = FVTransport2P2CMultiPhysics<TypeTag>; };
SET_TYPE_PROP(TestMultTwoPTwoC, PressureModel, FVPressure2P2CMultiPhysics<TypeTag>);
template<class TypeTag>
struct PressureModel<TypeTag, TTag::TestMultTwoPTwoC> { using type = FVPressure2P2CMultiPhysics<TypeTag>; };
SET_INT_PROP(TestMultTwoPTwoC, PressureFormulation, GET_PROP_TYPE(TypeTag, Indices)::pressureNw);
template<class TypeTag>
struct PressureFormulation<TypeTag, TTag::TestMultTwoPTwoC> { static constexpr int value = GetPropType<TypeTag, Properties::Indices>::pressureNw; };
// Select fluid system
template<class TypeTag>
struct FluidSystem<TypeTag, TTag::TestMultTwoPTwoC>
{
using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
using Scalar = GetPropType<TypeTag, Properties::Scalar>;
using type = FluidSystems::H2OAir<Scalar, Components::H2O<Scalar>>;
};
SET_BOOL_PROP(TestMultTwoPTwoC, EnableCapillarity, true);
SET_INT_PROP(TestMultTwoPTwoC, BoundaryMobility, GET_PROP_TYPE(TypeTag, Indices)::satDependent);
template<class TypeTag>
struct EnableCapillarity<TypeTag, TTag::TestMultTwoPTwoC> { static constexpr bool value = true; };
template<class TypeTag>
struct BoundaryMobility<TypeTag, TTag::TestMultTwoPTwoC> { static constexpr int value = GetPropType<TypeTag, Properties::Indices>::satDependent; };
}
/*!
......@@ -98,22 +109,22 @@ template<class TypeTag>
class TestMultTwoPTwoCProblem: public IMPETProblem2P2C<TypeTag>
{
using ParentType = IMPETProblem2P2C<TypeTag>;
using GridView = typename GET_PROP_TYPE(TypeTag, GridView);
using GridView = GetPropType<TypeTag, Properties::GridView>;
using Grid = typename GridView::Grid;
using TimeManager = typename GET_PROP_TYPE(TypeTag, TimeManager);
using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices;
using TimeManager = GetPropType<TypeTag, Properties::TimeManager>;
using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices;
using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem);
using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>;
using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes);
using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables);
using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>;
using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>;
enum
{
dim = GridView::dimension, dimWorld = GridView::dimensionworld
};
using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar);
using Scalar = GetPropType<TypeTag, Properties::Scalar>;
using Element = typename GridView::Traits::template Codim<0>::Entity;
using Intersection = typename GridView::Intersection;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment