From e0381ebe4fa323e553d7249278a0f9c78a3775c2 Mon Sep 17 00:00:00 2001 From: Bernd Flemisch <bernd@iws.uni-stuttgart.de> Date: Thu, 15 Nov 2018 20:57:13 +0100 Subject: [PATCH] [propertysystem] replace macro GET_PROP_TYPE --- dumux/adaptive/initializationindicator.hh | 14 ++--- dumux/assembly/boxlocalassembler.hh | 50 +++++++-------- dumux/assembly/boxlocalresidual.hh | 16 ++--- dumux/assembly/cclocalassembler.hh | 52 ++++++++-------- dumux/assembly/cclocalresidual.hh | 14 ++--- dumux/assembly/fvassembler.hh | 20 +++--- dumux/assembly/fvlocalassemblerbase.hh | 24 +++---- dumux/assembly/fvlocalresidual.hh | 30 ++++----- dumux/assembly/staggeredfvassembler.hh | 8 +-- dumux/assembly/staggeredlocalresidual.hh | 30 ++++----- dumux/common/fvproblem.hh | 30 ++++----- dumux/common/pointsource.hh | 16 ++--- dumux/common/staggeredfvproblem.hh | 14 ++--- dumux/common/start.hh | 8 +-- dumux/common/timemanager.hh | 4 +- dumux/discretization/box/darcyslaw.hh | 2 +- dumux/discretization/box/fickslaw.hh | 28 ++++----- dumux/discretization/box/fourierslaw.hh | 24 +++---- .../box/fourierslawnonequilibrium.hh | 24 +++---- dumux/discretization/box/maxwellstefanslaw.hh | 30 ++++----- dumux/discretization/box/properties.hh | 14 ++--- .../cellcentered/mpfa/darcyslaw.hh | 22 +++---- .../cellcentered/mpfa/fickslaw.hh | 30 ++++----- .../mpfa/fluxvariablescachefiller.hh | 42 ++++++------- .../cellcentered/mpfa/fourierslaw.hh | 22 +++---- .../cellcentered/mpfa/properties.hh | 30 ++++----- .../cellcentered/tpfa/darcyslaw.hh | 6 +- .../cellcentered/tpfa/fickslaw.hh | 24 +++---- .../tpfa/fluxvariablescachefiller.hh | 20 +++--- .../cellcentered/tpfa/forchheimerslaw.hh | 6 +- .../cellcentered/tpfa/fourierslaw.hh | 16 ++--- .../cellcentered/tpfa/maxwellstefanslaw.hh | 30 ++++----- .../cellcentered/tpfa/properties.hh | 10 +-- dumux/discretization/darcyslaw.hh | 2 +- dumux/discretization/fickslaw.hh | 2 +- dumux/discretization/forchheimerslaw.hh | 2 +- dumux/discretization/fourierslaw.hh | 2 +- .../fourierslawnonequilibrium.hh | 2 +- dumux/discretization/fvproperties.hh | 14 ++--- dumux/discretization/maxwellstefanslaw.hh | 2 +- .../staggered/freeflow/fickslaw.hh | 10 +-- .../staggered/freeflow/fourierslaw.hh | 8 +-- .../staggered/freeflow/maxwellstefanslaw.hh | 18 +++--- .../staggered/freeflow/properties.hh | 20 +++--- dumux/discretization/staggered/properties.hh | 34 +++++----- dumux/freeflow/compositional/fluxvariables.hh | 2 +- .../freeflow/compositional/kepsilonncmodel.hh | 24 +++---- dumux/freeflow/compositional/komegancmodel.hh | 24 +++---- dumux/freeflow/compositional/localresidual.hh | 2 +- .../compositional/lowrekepsilonncmodel.hh | 24 +++---- .../compositional/navierstokesncmodel.hh | 20 +++--- dumux/freeflow/compositional/oneeqncmodel.hh | 24 +++---- .../compositional/staggered/fluxvariables.hh | 12 ++-- .../compositional/staggered/localresidual.hh | 12 ++-- dumux/freeflow/compositional/zeroeqncmodel.hh | 24 +++---- dumux/freeflow/navierstokes/fluxvariables.hh | 2 +- .../navierstokes/fluxvariablescache.hh | 10 +-- dumux/freeflow/navierstokes/localresidual.hh | 2 +- dumux/freeflow/navierstokes/model.hh | 16 ++--- dumux/freeflow/navierstokes/problem.hh | 16 ++--- .../navierstokes/staggered/fluxoversurface.hh | 24 +++---- .../navierstokes/staggered/fluxvariables.hh | 26 ++++---- .../navierstokes/staggered/localresidual.hh | 20 +++--- dumux/freeflow/rans/model.hh | 4 +- dumux/freeflow/rans/oneeq/fluxvariables.hh | 2 +- dumux/freeflow/rans/oneeq/localresidual.hh | 2 +- dumux/freeflow/rans/oneeq/model.hh | 20 +++--- dumux/freeflow/rans/oneeq/problem.hh | 20 +++--- .../rans/oneeq/staggered/fluxvariables.hh | 16 ++--- .../rans/oneeq/staggered/localresidual.hh | 20 +++--- dumux/freeflow/rans/problem.hh | 16 ++--- .../rans/twoeq/kepsilon/fluxvariables.hh | 2 +- .../rans/twoeq/kepsilon/localresidual.hh | 2 +- dumux/freeflow/rans/twoeq/kepsilon/model.hh | 20 +++--- dumux/freeflow/rans/twoeq/kepsilon/problem.hh | 24 +++---- .../twoeq/kepsilon/staggered/fluxvariables.hh | 18 +++--- .../twoeq/kepsilon/staggered/localresidual.hh | 20 +++--- .../rans/twoeq/komega/fluxvariables.hh | 2 +- .../rans/twoeq/komega/localresidual.hh | 2 +- dumux/freeflow/rans/twoeq/komega/model.hh | 20 +++--- dumux/freeflow/rans/twoeq/komega/problem.hh | 18 +++--- .../twoeq/komega/staggered/fluxvariables.hh | 18 +++--- .../twoeq/komega/staggered/localresidual.hh | 20 +++--- .../rans/twoeq/lowrekepsilon/fluxvariables.hh | 2 +- .../rans/twoeq/lowrekepsilon/localresidual.hh | 2 +- .../rans/twoeq/lowrekepsilon/model.hh | 20 +++--- .../rans/twoeq/lowrekepsilon/problem.hh | 18 +++--- .../lowrekepsilon/staggered/fluxvariables.hh | 18 +++--- .../lowrekepsilon/staggered/localresidual.hh | 20 +++--- dumux/freeflow/rans/zeroeq/model.hh | 16 ++--- dumux/freeflow/rans/zeroeq/problem.hh | 20 +++--- dumux/geomechanics/elastic/localresidual.hh | 20 +++--- dumux/geomechanics/elastic/model.hh | 18 +++--- dumux/geomechanics/fvproblem.hh | 8 +-- .../poroelastic/couplingmanager.hh | 8 +-- .../geomechanics/poroelastic/localresidual.hh | 16 ++--- dumux/geomechanics/poroelastic/model.hh | 22 +++---- dumux/geomechanics/properties.hh | 12 ++-- dumux/linear/amgbackend.hh | 6 +- .../mineralization/effectivesoliddensity.hh | 14 ++--- .../effectivesolidheatcapacity.hh | 14 ++--- dumux/material/spatialparams/sequentialfv.hh | 10 +-- .../material/spatialparams/sequentialfv1p.hh | 8 +-- .../boundary/darcydarcy/couplingmanager.hh | 10 +-- .../boundary/stokesdarcy/couplingdata.hh | 60 +++++++++--------- .../boundary/stokesdarcy/couplingmanager.hh | 26 ++++---- .../boundary/stokesdarcy/couplingmapper.hh | 6 +- dumux/multidomain/couplingmanager.hh | 6 +- .../embedded/couplingmanager1d3d.hh | 20 +++--- .../embedded/couplingmanagerbase.hh | 10 +-- .../embedded/extendedsourcestencil.hh | 2 +- dumux/multidomain/embedded/pointsourcedata.hh | 24 +++---- .../multidomain/facet/box/couplingmanager.hh | 14 ++--- dumux/multidomain/facet/box/localresidual.hh | 16 ++--- dumux/multidomain/facet/box/properties.hh | 12 ++-- .../facet/cellcentered/localresidual.hh | 4 +- .../cellcentered/tpfa/couplingmanager.hh | 12 ++-- .../facet/cellcentered/tpfa/properties.hh | 6 +- dumux/multidomain/facet/couplingmanager.hh | 12 ++-- dumux/multidomain/fvassembler.hh | 2 +- dumux/multidomain/staggeredcouplingmanager.hh | 2 +- dumux/multidomain/staggeredtraits.hh | 34 +++++----- .../multidomain/subdomainboxlocalassembler.hh | 30 ++++----- .../multidomain/subdomaincclocalassembler.hh | 32 +++++----- .../subdomainstaggeredlocalassembler.hh | 36 +++++------ dumux/multidomain/traits.hh | 14 ++--- .../1p/incompressiblelocalresidual.hh | 32 +++++----- dumux/porousmediumflow/1p/model.hh | 22 +++---- dumux/porousmediumflow/1pnc/model.hh | 32 +++++----- dumux/porousmediumflow/1pncmin/model.hh | 28 ++++----- .../porousmediumflow/2p/gridadaptindicator.hh | 10 +-- dumux/porousmediumflow/2p/griddatatransfer.hh | 22 +++---- .../2p/incompressiblelocalresidual.hh | 34 +++++----- dumux/porousmediumflow/2p/model.hh | 28 ++++----- dumux/porousmediumflow/2p1c/darcyslaw.hh | 20 +++--- dumux/porousmediumflow/2p1c/localresidual.hh | 22 +++---- dumux/porousmediumflow/2p1c/model.hh | 24 +++---- dumux/porousmediumflow/2p2c/model.hh | 22 +++---- dumux/porousmediumflow/2pnc/model.hh | 34 +++++----- dumux/porousmediumflow/2pncmin/model.hh | 26 ++++---- dumux/porousmediumflow/3p/model.hh | 24 +++---- dumux/porousmediumflow/3p3c/localresidual.hh | 32 +++++----- dumux/porousmediumflow/3p3c/model.hh | 34 +++++----- .../3pwateroil/localresidual.hh | 32 +++++----- dumux/porousmediumflow/3pwateroil/model.hh | 30 ++++----- .../3pwateroil/primaryvariableswitch.hh | 12 ++-- .../boxdfm/fluxvariablescache.hh | 12 ++-- dumux/porousmediumflow/boxdfm/model.hh | 4 +- dumux/porousmediumflow/co2/model.hh | 28 ++++----- .../compositional/localresidual.hh | 30 ++++----- dumux/porousmediumflow/fluxvariables.hh | 28 ++++----- dumux/porousmediumflow/fluxvariablescache.hh | 26 ++++---- .../immiscible/localresidual.hh | 26 ++++---- .../mineralization/localresidual.hh | 12 ++-- dumux/porousmediumflow/mpnc/localresidual.hh | 12 ++-- dumux/porousmediumflow/mpnc/model.hh | 46 +++++++------- .../nonequilibrium/gridvariables.hh | 20 +++--- .../nonequilibrium/localresidual.hh | 62 +++++++++---------- .../porousmediumflow/nonequilibrium/model.hh | 12 ++-- .../nonequilibrium/thermal/localresidual.hh | 38 ++++++------ .../nonisothermal/localresidual.hh | 24 +++---- dumux/porousmediumflow/problem.hh | 8 +-- dumux/porousmediumflow/properties.hh | 10 +-- .../richards/localresidual.hh | 32 +++++----- dumux/porousmediumflow/richards/model.hh | 28 ++++----- .../porousmediumflow/richards/newtonsolver.hh | 2 +- .../richards/privarswitchnewtonsolver.hh | 4 +- dumux/porousmediumflow/richardsnc/model.hh | 30 ++++----- .../porousmediumflow/tracer/localresidual.hh | 32 +++++----- dumux/porousmediumflow/tracer/model.hh | 16 ++--- test/freeflow/navierstokes/angeli/main.cc | 14 ++--- test/freeflow/navierstokes/angeli/problem.hh | 22 +++---- test/freeflow/navierstokes/channel/1d/main.cc | 12 ++-- .../navierstokes/channel/1d/problem.hh | 20 +++--- test/freeflow/navierstokes/channel/2d/main.cc | 18 +++--- .../navierstokes/channel/2d/problem.hh | 16 ++--- test/freeflow/navierstokes/channel/3d/main.cc | 18 +++--- .../navierstokes/channel/3d/problem.hh | 20 +++--- .../navierstokes/closedsystem/main.cc | 14 ++--- .../navierstokes/closedsystem/problem.hh | 16 ++--- test/freeflow/navierstokes/donea/main.cc | 12 ++-- test/freeflow/navierstokes/donea/problem.hh | 20 +++--- test/freeflow/navierstokes/kovasznay/main.cc | 12 ++-- .../navierstokes/kovasznay/problem.hh | 22 +++---- test/freeflow/navierstokesnc/channel/main.cc | 14 ++--- .../navierstokesnc/channel/problem.hh | 18 +++--- .../navierstokesnc/densitydrivenflow/main.cc | 14 ++--- .../densitydrivenflow/problem.hh | 18 +++--- .../navierstokesnc/maxwellstefan/main.cc | 14 ++--- .../navierstokesnc/maxwellstefan/problem.hh | 18 +++--- test/freeflow/rans/main.cc | 14 ++--- test/freeflow/rans/problem.hh | 22 +++---- test/freeflow/ransnc/main.cc | 14 ++--- test/freeflow/ransnc/problem.hh | 24 +++---- test/geomechanics/elastic/main.cc | 10 +-- test/geomechanics/elastic/problem.hh | 20 +++--- test/geomechanics/poroelastic/main.cc | 16 ++--- test/geomechanics/poroelastic/problem.hh | 26 ++++---- test/io/gridmanager/test_gridmanager_cake.cc | 2 +- .../vtk/test_vtk_staggeredfreeflowpvnames.cc | 44 ++++++------- .../boundary/darcydarcy/1p_1p/main.cc | 24 +++---- .../boundary/darcydarcy/1p_1p/problem.hh | 14 ++--- .../boundary/darcydarcy/1p_2p/main.cc | 24 +++---- .../boundary/darcydarcy/1p_2p/problem.hh | 16 ++--- .../1p2c_1p2c/horizontalflow/main.cc | 32 +++++----- .../1p2c_1p2c/horizontalflow/problem_darcy.hh | 28 ++++----- .../horizontalflow/problem_stokes.hh | 22 +++---- .../1p2c_1p2c/verticalflow/main.cc | 32 +++++----- .../1p2c_1p2c/verticalflow/problem_darcy.hh | 32 +++++----- .../1p2c_1p2c/verticalflow/problem_stokes.hh | 26 ++++---- .../boundary/stokesdarcy/1p2c_2p2c/main.cc | 34 +++++----- .../stokesdarcy/1p2c_2p2c/problem_darcy.hh | 32 +++++----- .../stokesdarcy/1p2c_2p2c/problem_stokes.hh | 30 ++++----- .../stokesdarcy/1p_1p/horizontalflow/main.cc | 28 ++++----- .../1p_1p/horizontalflow/problem_darcy.hh | 26 ++++---- .../1p_1p/horizontalflow/problem_stokes.hh | 20 +++--- .../stokesdarcy/1p_1p/verticalflow/main.cc | 28 ++++----- .../1p_1p/verticalflow/problem_darcy.hh | 28 ++++----- .../1p_1p/verticalflow/problem_stokes.hh | 24 +++---- .../boundary/stokesdarcy/1p_2p/main.cc | 34 +++++----- .../stokesdarcy/1p_2p/problem_darcy.hh | 28 ++++----- .../stokesdarcy/1p_2p/problem_stokes.hh | 24 +++---- .../embedded/1d3d/1p2c_richards2c/main.cc | 36 +++++------ .../1d3d/1p2c_richards2c/problem_root.hh | 28 ++++----- .../1d3d/1p2c_richards2c/problem_soil.hh | 28 ++++----- test/multidomain/embedded/1d3d/1p_1p/main.cc | 30 ++++----- .../embedded/1d3d/1p_1p/problem_bloodflow.hh | 24 +++---- .../embedded/1d3d/1p_1p/problem_tissue.hh | 28 ++++----- .../embedded/1d3d/1p_richards/main.cc | 32 +++++----- .../embedded/1d3d/1p_richards/problem_root.hh | 26 ++++---- .../embedded/1d3d/1p_richards/problem_soil.hh | 24 +++---- test/multidomain/embedded/2d3d/1p_1p/main.cc | 30 ++++----- .../embedded/2d3d/1p_1p/problem_fracture.hh | 26 ++++---- .../embedded/2d3d/1p_1p/problem_matrix.hh | 28 ++++----- .../facet/1p_1p/analytical/main.cc | 28 ++++----- .../facet/1p_1p/analytical/problem_bulk.hh | 14 ++--- .../facet/1p_1p/analytical/problem_lowdim.hh | 14 ++--- .../facet/1p_1p/threedomain/main.cc | 36 +++++------ .../facet/1p_1p/threedomain/problem_bulk.hh | 14 ++--- .../facet/1p_1p/threedomain/problem_edge.hh | 14 ++--- .../facet/1p_1p/threedomain/problem_facet.hh | 14 ++--- test/multidomain/poromechanics/el1p/main.cc | 32 +++++----- .../poromechanics/el1p/problem_1p.hh | 26 ++++---- .../poromechanics/el1p/problem_poroelastic.hh | 24 +++---- test/multidomain/poromechanics/el2p/main.cc | 26 ++++---- .../poromechanics/el2p/problem_2p.hh | 28 ++++----- .../poromechanics/el2p/problem_poroelastic.hh | 24 +++---- .../compressible/instationary/main.cc | 16 ++--- .../compressible/instationary/problem.hh | 16 ++--- .../implicit/compressible/stationary/main.cc | 14 ++--- .../compressible/stationary/problem.hh | 16 ++--- .../1p/implicit/fracture2d3d/main.cc | 16 ++--- .../1p/implicit/fracture2d3d/problem.hh | 18 +++--- .../1p/implicit/incompressible/main.cc | 16 ++--- .../1p/implicit/incompressible/problem.hh | 16 ++--- .../1p/implicit/isothermal/main.cc | 16 ++--- .../1p/implicit/network1d3d/main.cc | 16 ++--- .../1p/implicit/network1d3d/problem.hh | 34 +++++----- .../1p/implicit/nonisothermal/main.cc | 22 +++---- .../nonisothermal/problem_conduction.hh | 28 ++++----- .../nonisothermal/problem_convection.hh | 32 +++++----- .../1p/implicit/periodicbc/main.cc | 14 ++--- .../1p/implicit/periodicbc/problem.hh | 14 ++--- .../1p/implicit/periodicbc/spatialparams.hh | 8 +-- .../pointsources/timedependent/main.cc | 16 ++--- .../pointsources/timedependent/problem.hh | 16 ++--- .../pointsources/timeindependent/main.cc | 16 ++--- .../pointsources/timeindependent/problem.hh | 22 +++---- .../1pnc/implicit/1p2c/isothermal/main.cc | 16 ++--- .../1pnc/implicit/1p2c/isothermal/problem.hh | 28 ++++----- .../isothermal/saltwaterintrusion/main.cc | 16 ++--- .../isothermal/saltwaterintrusion/problem.hh | 20 +++--- .../1p2c/nonisothermal/conduction/main.cc | 16 ++--- .../1p2c/nonisothermal/conduction/problem.hh | 28 ++++----- .../1p2c/nonisothermal/convection/main.cc | 16 ++--- .../1p2c/nonisothermal/convection/problem.hh | 30 ++++----- .../1pncmin/implicit/nonisothermal/main.cc | 14 ++--- .../1pncmin/implicit/nonisothermal/problem.hh | 36 +++++------ .../2p/implicit/adaptive/main.cc | 18 +++--- .../implicit/adaptive/pointsourceproblem.hh | 2 +- .../2p/implicit/adaptive/problem.hh | 8 +-- .../2p/implicit/boxdfm/main.cc | 14 ++--- .../2p/implicit/boxdfm/problem.hh | 22 +++---- .../2p/implicit/cornerpoint/main.cc | 14 ++--- .../2p/implicit/cornerpoint/problem.hh | 22 +++---- .../2p/implicit/fracture/main.cc | 16 ++--- .../2p/implicit/fracture/problem.hh | 22 +++---- .../2p/implicit/incompressible/main.cc | 24 +++---- .../2p/implicit/incompressible/problem.hh | 26 ++++---- .../2p/implicit/nonisothermal/main.cc | 18 +++--- .../2p/implicit/nonisothermal/problem.hh | 28 ++++----- test/porousmediumflow/2p1c/implicit/main.cc | 16 ++--- .../porousmediumflow/2p1c/implicit/problem.hh | 26 ++++---- .../2p2c/implicit/injection/main.cc | 26 ++++---- .../2p2c/implicit/injection/problem.hh | 26 ++++---- .../2p2c/implicit/mpnccomparison/main.cc | 18 +++--- .../2p2c/implicit/mpnccomparison/problem.hh | 26 ++++---- .../2p2c/implicit/waterair/main.cc | 26 ++++---- .../2p2c/implicit/waterair/problem.hh | 26 ++++---- .../2pnc/implicit/diffusion/main.cc | 18 +++--- .../2pnc/implicit/diffusion/problem.hh | 22 +++---- .../2pnc/implicit/fuelcell/main.cc | 18 +++--- .../2pnc/implicit/fuelcell/problem.hh | 30 ++++----- .../porousmediumflow/2pncmin/implicit/main.cc | 28 ++++----- .../2pncmin/implicit/problem.hh | 36 +++++------ .../3p/implicit/conduction/main.cc | 16 ++--- .../3p/implicit/conduction/problem.hh | 28 ++++----- .../3p/implicit/convection/main.cc | 16 ++--- .../3p/implicit/convection/problem.hh | 30 ++++----- .../3p/implicit/infiltration/main.cc | 16 ++--- .../3p/implicit/infiltration/problem.hh | 22 +++---- .../3p3c/implicit/columnxylol/main.cc | 18 +++--- .../3p3c/implicit/columnxylol/problem.hh | 32 +++++----- .../3p3c/implicit/infiltration/main.cc | 18 +++--- .../3p3c/implicit/infiltration/problem.hh | 22 +++---- .../3p3c/implicit/kuevette/main.cc | 18 +++--- .../3p3c/implicit/kuevette/problem.hh | 26 ++++---- .../3pwateroil/implicit/main.cc | 18 +++--- .../3pwateroil/implicit/problem.hh | 28 ++++----- test/porousmediumflow/co2/implicit/main.cc | 20 +++--- test/porousmediumflow/co2/implicit/problem.hh | 38 ++++++------ .../mpnc/implicit/2p2ccomparison/main.cc | 16 ++--- .../mpnc/implicit/2p2ccomparison/problem.hh | 36 +++++------ .../mpnc/implicit/kinetic/main.cc | 18 +++--- .../mpnc/implicit/kinetic/plotoverline2d.hh | 14 ++--- .../mpnc/implicit/kinetic/problem.hh | 44 ++++++------- .../mpnc/implicit/kinetic/spatialparams.hh | 20 +++--- .../mpnc/implicit/obstacle/main.cc | 16 ++--- .../mpnc/implicit/obstacle/problem.hh | 30 ++++----- .../implicit/thermalnonequilibrium/main.cc | 16 ++--- .../implicit/thermalnonequilibrium/problem.hh | 38 ++++++------ .../thermalnonequilibrium/spatialparams.hh | 10 +-- .../richards/implicit/analytical/main.cc | 16 ++--- .../richards/implicit/analytical/problem.hh | 20 +++--- .../richards/implicit/lens/main.cc | 24 +++---- .../richards/implicit/lens/problem.hh | 18 +++--- .../implicit/nonisothermal/conduction/main.cc | 16 ++--- .../nonisothermal/conduction/problem.hh | 28 ++++----- .../implicit/nonisothermal/convection/main.cc | 16 ++--- .../nonisothermal/convection/problem.hh | 32 +++++----- .../nonisothermal/evaporation/main.cc | 16 ++--- .../nonisothermal/evaporation/problem.hh | 28 ++++----- .../richardsnc/implicit/main.cc | 16 ++--- .../richardsnc/implicit/problem.hh | 32 +++++----- test/porousmediumflow/tracer/1ptracer/main.cc | 26 ++++---- .../tracer/1ptracer/problem_1p.hh | 18 +++--- .../tracer/1ptracer/problem_tracer.hh | 30 ++++----- test/porousmediumflow/tracer/constvel/main.cc | 18 +++--- .../tracer/constvel/problem.hh | 30 ++++----- .../porousmediumflow/tracer/multicomp/main.cc | 16 ++--- .../tracer/multicomp/problem.hh | 36 +++++------ 351 files changed, 3542 insertions(+), 3540 deletions(-) diff --git a/dumux/adaptive/initializationindicator.hh b/dumux/adaptive/initializationindicator.hh index 27efe5348e..26959d08a5 100644 --- a/dumux/adaptive/initializationindicator.hh +++ b/dumux/adaptive/initializationindicator.hh @@ -42,16 +42,16 @@ namespace Dumux { template<class TypeTag> class GridAdaptInitializationIndicator { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::Traits::template Codim<0>::Entity; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; - static constexpr bool isBox = GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod == DiscretizationMethod::box; + static constexpr bool isBox = GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::box; public: diff --git a/dumux/assembly/boxlocalassembler.hh b/dumux/assembly/boxlocalassembler.hh index f44d65f29c..10dc5ae9fc 100644 --- a/dumux/assembly/boxlocalassembler.hh +++ b/dumux/assembly/boxlocalassembler.hh @@ -53,12 +53,12 @@ template<class TypeTag, class Assembler, class Implementation, bool implicit> class BoxLocalAssemblerBase : public FVLocalAssemblerBase<TypeTag, Assembler, Implementation, implicit> { using ParentType = FVLocalAssemblerBase<TypeTag, Assembler, Implementation, implicit>; - using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; - enum { numEq = GET_PROP_TYPE(TypeTag, ModelTraits)::numEq() }; + enum { numEq = GetPropType<TypeTag, Properties::ModelTraits>::numEq() }; public: @@ -256,15 +256,15 @@ class BoxLocalAssembler<TypeTag, Assembler, DiffMethod::numeric, /*implicit=*/tr { using ThisType = BoxLocalAssembler<TypeTag, Assembler, DiffMethod::numeric, true>; using ParentType = BoxLocalAssemblerBase<TypeTag, Assembler, ThisType, true>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); - using LocalResidual = typename GET_PROP_TYPE(TypeTag, LocalResidual); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix>; + using LocalResidual = GetPropType<TypeTag, Properties::LocalResidual>; using ElementResidualVector = typename LocalResidual::ElementResidualVector; - enum { numEq = GET_PROP_TYPE(TypeTag, ModelTraits)::numEq() }; - enum { dim = GET_PROP_TYPE(TypeTag, GridView)::dimension }; + enum { numEq = GetPropType<TypeTag, Properties::ModelTraits>::numEq() }; + enum { dim = GetPropType<TypeTag, Properties::GridView>::dimension }; static constexpr bool enableGridFluxVarsCache = GET_PROP_VALUE(TypeTag, EnableGridFluxVariablesCache); @@ -375,15 +375,15 @@ class BoxLocalAssembler<TypeTag, Assembler, DiffMethod::numeric, /*implicit=*/fa { using ThisType = BoxLocalAssembler<TypeTag, Assembler, DiffMethod::numeric, false>; using ParentType = BoxLocalAssemblerBase<TypeTag, Assembler, ThisType, false>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); - using LocalResidual = typename GET_PROP_TYPE(TypeTag, LocalResidual); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix>; + using LocalResidual = GetPropType<TypeTag, Properties::LocalResidual>; using ElementResidualVector = typename LocalResidual::ElementResidualVector; - enum { numEq = GET_PROP_TYPE(TypeTag, ModelTraits)::numEq() }; - enum { dim = GET_PROP_TYPE(TypeTag, GridView)::dimension }; + enum { numEq = GetPropType<TypeTag, Properties::ModelTraits>::numEq() }; + enum { dim = GetPropType<TypeTag, Properties::GridView>::dimension }; public: @@ -486,9 +486,9 @@ class BoxLocalAssembler<TypeTag, Assembler, DiffMethod::analytic, /*implicit=*/t { using ThisType = BoxLocalAssembler<TypeTag, Assembler, DiffMethod::analytic, true>; using ParentType = BoxLocalAssemblerBase<TypeTag, Assembler, ThisType, true>; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); - using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); - using LocalResidual = typename GET_PROP_TYPE(TypeTag, LocalResidual); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + using JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix>; + using LocalResidual = GetPropType<TypeTag, Properties::LocalResidual>; using ElementResidualVector = typename LocalResidual::ElementResidualVector; public: @@ -605,9 +605,9 @@ class BoxLocalAssembler<TypeTag, Assembler, DiffMethod::analytic, /*implicit=*/f { using ThisType = BoxLocalAssembler<TypeTag, Assembler, DiffMethod::analytic, false>; using ParentType = BoxLocalAssemblerBase<TypeTag, Assembler, ThisType, false>; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); - using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); - using LocalResidual = typename GET_PROP_TYPE(TypeTag, LocalResidual); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + using JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix>; + using LocalResidual = GetPropType<TypeTag, Properties::LocalResidual>; using ElementResidualVector = typename LocalResidual::ElementResidualVector; public: diff --git a/dumux/assembly/boxlocalresidual.hh b/dumux/assembly/boxlocalresidual.hh index 9f105cabc4..20c0091ae1 100644 --- a/dumux/assembly/boxlocalresidual.hh +++ b/dumux/assembly/boxlocalresidual.hh @@ -43,16 +43,16 @@ template<class TypeTag> class BoxLocalResidual : public FVLocalResidual<TypeTag> { using ParentType = FVLocalResidual<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using ElementBoundaryTypes = typename GET_PROP_TYPE(TypeTag, ElementBoundaryTypes); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using ElementBoundaryTypes = GetPropType<TypeTag, Properties::ElementBoundaryTypes>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; public: using ElementResidualVector = typename ParentType::ElementResidualVector; diff --git a/dumux/assembly/cclocalassembler.hh b/dumux/assembly/cclocalassembler.hh index e2fe7fa307..e5c068ff9f 100644 --- a/dumux/assembly/cclocalassembler.hh +++ b/dumux/assembly/cclocalassembler.hh @@ -56,12 +56,12 @@ template<class TypeTag, class Assembler, class Implementation, bool implicit> class CCLocalAssemblerBase : public FVLocalAssemblerBase<TypeTag, Assembler, Implementation, implicit> { using ParentType = FVLocalAssemblerBase<TypeTag, Assembler, Implementation, implicit>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; public: @@ -132,16 +132,16 @@ class CCLocalAssembler<TypeTag, Assembler, DiffMethod::numeric, /*implicit=*/tru { using ThisType = CCLocalAssembler<TypeTag, Assembler, DiffMethod::numeric, true>; using ParentType = CCLocalAssemblerBase<TypeTag, Assembler, ThisType, true>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using Element = typename GET_PROP_TYPE(TypeTag, GridView)::template Codim<0>::Entity; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using Element = typename GetPropType<TypeTag, Properties::GridView>::template Codim<0>::Entity; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); - using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + using JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix>; - enum { numEq = GET_PROP_TYPE(TypeTag, ModelTraits)::numEq() }; - enum { dim = GET_PROP_TYPE(TypeTag, GridView)::dimension }; + enum { numEq = GetPropType<TypeTag, Properties::ModelTraits>::numEq() }; + enum { dim = GetPropType<TypeTag, Properties::GridView>::dimension }; using FluxStencil = Dumux::FluxStencil<FVElementGeometry>; static constexpr int maxElementStencilSize = FVGridGeometry::maxElementStencilSize; @@ -313,13 +313,13 @@ class CCLocalAssembler<TypeTag, Assembler, DiffMethod::numeric, /*implicit=*/fal { using ThisType = CCLocalAssembler<TypeTag, Assembler, DiffMethod::numeric, false>; using ParentType = CCLocalAssemblerBase<TypeTag, Assembler, ThisType, false>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using Element = typename GET_PROP_TYPE(TypeTag, GridView)::template Codim<0>::Entity; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); - using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using Element = typename GetPropType<TypeTag, Properties::GridView>::template Codim<0>::Entity; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + using JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix>; - enum { numEq = GET_PROP_TYPE(TypeTag, ModelTraits)::numEq() }; + enum { numEq = GetPropType<TypeTag, Properties::ModelTraits>::numEq() }; public: using ParentType::ParentType; @@ -424,9 +424,9 @@ class CCLocalAssembler<TypeTag, Assembler, DiffMethod::analytic, /*implicit=*/tr { using ThisType = CCLocalAssembler<TypeTag, Assembler, DiffMethod::analytic, true>; using ParentType = CCLocalAssemblerBase<TypeTag, Assembler, ThisType, true>; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; public: using ParentType::ParentType; @@ -503,9 +503,9 @@ class CCLocalAssembler<TypeTag, Assembler, DiffMethod::analytic, /*implicit=*/fa { using ThisType = CCLocalAssembler<TypeTag, Assembler, DiffMethod::analytic, false>; using ParentType = CCLocalAssemblerBase<TypeTag, Assembler, ThisType, false>; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; public: using ParentType::ParentType; diff --git a/dumux/assembly/cclocalresidual.hh b/dumux/assembly/cclocalresidual.hh index f78a759d21..a32a46fcc5 100644 --- a/dumux/assembly/cclocalresidual.hh +++ b/dumux/assembly/cclocalresidual.hh @@ -40,13 +40,13 @@ template<class TypeTag> class CCLocalResidual : public FVLocalResidual<TypeTag> { using ParentType = FVLocalResidual<TypeTag>; - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using Element = typename GET_PROP_TYPE(TypeTag, GridView)::template Codim<0>::Entity; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ElementBoundaryTypes = typename GET_PROP_TYPE(TypeTag, ElementBoundaryTypes); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using Element = typename GetPropType<TypeTag, Properties::GridView>::template Codim<0>::Entity; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using ElementBoundaryTypes = GetPropType<TypeTag, Properties::ElementBoundaryTypes>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; public: diff --git a/dumux/assembly/fvassembler.hh b/dumux/assembly/fvassembler.hh index 8c89508250..d26121d52c 100644 --- a/dumux/assembly/fvassembler.hh +++ b/dumux/assembly/fvassembler.hh @@ -50,14 +50,14 @@ namespace Dumux { template<class TypeTag, DiffMethod diffMethod, bool isImplicit = true> class FVAssembler { - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); - using LocalResidual = typename GET_PROP_TYPE(TypeTag, LocalResidual); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + using LocalResidual = GetPropType<TypeTag, Properties::LocalResidual>; using Element = typename GridView::template Codim<0>::Entity; - using TimeLoop = TimeLoopBase<typename GET_PROP_TYPE(TypeTag, Scalar)>; - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using TimeLoop = TimeLoopBase<GetPropType<TypeTag, Properties::Scalar>>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; - static constexpr DiscretizationMethod discMethod = GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod; + static constexpr DiscretizationMethod discMethod = GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod; static constexpr bool isBox = discMethod == DiscretizationMethod::box; using ThisType = FVAssembler<TypeTag, diffMethod, isImplicit>; @@ -65,10 +65,10 @@ class FVAssembler CCLocalAssembler<TypeTag, ThisType, diffMethod, isImplicit>>; public: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Problem = GetPropType<TypeTag, Properties::Problem>; using ResidualType = SolutionVector; diff --git a/dumux/assembly/fvlocalassemblerbase.hh b/dumux/assembly/fvlocalassemblerbase.hh index 974678036b..1050042d26 100644 --- a/dumux/assembly/fvlocalassemblerbase.hh +++ b/dumux/assembly/fvlocalassemblerbase.hh @@ -46,24 +46,24 @@ namespace Dumux { template<class TypeTag, class Assembler, class Implementation, bool useImplicitAssembly> class FVLocalAssemblerBase { - 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 JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using SolutionVector = typename Assembler::ResidualType; - using ElementBoundaryTypes = typename GET_PROP_TYPE(TypeTag, ElementBoundaryTypes); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using ElementBoundaryTypes = GetPropType<TypeTag, Properties::ElementBoundaryTypes>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using GridVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; + using GridVolumeVariables = GetPropType<TypeTag, Properties::GridVolumeVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; using Element = typename GridView::template Codim<0>::Entity; public: - using LocalResidual = typename GET_PROP_TYPE(TypeTag, LocalResidual); + using LocalResidual = GetPropType<TypeTag, Properties::LocalResidual>; using ElementResidualVector = typename LocalResidual::ElementResidualVector; /*! diff --git a/dumux/assembly/fvlocalresidual.hh b/dumux/assembly/fvlocalresidual.hh index aa23d93a5b..6f82a83d4e 100644 --- a/dumux/assembly/fvlocalresidual.hh +++ b/dumux/assembly/fvlocalresidual.hh @@ -44,22 +44,22 @@ namespace Dumux { template<class TypeTag> class FVLocalResidual { - using Implementation = typename GET_PROP_TYPE(TypeTag, LocalResidual); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Implementation = GetPropType<TypeTag, Properties::LocalResidual>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ElementBoundaryTypes = typename GET_PROP_TYPE(TypeTag, ElementBoundaryTypes); - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using ElementBoundaryTypes = GetPropType<TypeTag, Properties::ElementBoundaryTypes>; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; using TimeLoop = TimeLoopBase<Scalar>; public: @@ -495,7 +495,7 @@ public: //! Compute the derivative of the flux residual template<class PartialDerivativeMatrices, class T = TypeTag> - std::enable_if_t<GET_PROP_TYPE(T, FVGridGeometry)::discMethod != DiscretizationMethod::box, void> + std::enable_if_t<GetPropType<T, Properties::FVGridGeometry>::discMethod != DiscretizationMethod::box, void> addFluxDerivatives(PartialDerivativeMatrices& derivativeMatrices, const Problem& problem, const Element& element, @@ -509,7 +509,7 @@ public: //! Compute the derivative of the flux residual for the box method template<class JacobianMatrix, class T = TypeTag> - std::enable_if_t<GET_PROP_TYPE(T, FVGridGeometry)::discMethod == DiscretizationMethod::box, void> + std::enable_if_t<GetPropType<T, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::box, void> addFluxDerivatives(JacobianMatrix& A, const Problem& problem, const Element& element, diff --git a/dumux/assembly/staggeredfvassembler.hh b/dumux/assembly/staggeredfvassembler.hh index 12d0aa9b2e..9e8948ac09 100644 --- a/dumux/assembly/staggeredfvassembler.hh +++ b/dumux/assembly/staggeredfvassembler.hh @@ -60,12 +60,12 @@ class StaggeredFVAssembler: public MultiDomainFVAssembler<StaggeredMultiDomainTr StaggeredCouplingManager<StaggeredMultiDomainTraits<TypeTag, TypeTag>>, diffMethod>; - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); - using TimeLoop = TimeLoopBase<typename GET_PROP_TYPE(TypeTag, Scalar)>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + using TimeLoop = TimeLoopBase<GetPropType<TypeTag, Properties::Scalar>>; public: - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using CouplingManager = typename ParentType::CouplingManager; //! The constructor for stationary problems diff --git a/dumux/assembly/staggeredlocalresidual.hh b/dumux/assembly/staggeredlocalresidual.hh index 421fc6955b..ac810a0859 100644 --- a/dumux/assembly/staggeredlocalresidual.hh +++ b/dumux/assembly/staggeredlocalresidual.hh @@ -38,30 +38,30 @@ namespace Dumux { template<class TypeTag> class StaggeredLocalResidual { - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Implementation = typename GET_PROP_TYPE(TypeTag, LocalResidual); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Implementation = GetPropType<TypeTag, Properties::LocalResidual>; + using Problem = GetPropType<TypeTag, Properties::Problem>; using Element = typename GridView::template Codim<0>::Entity; - using ElementBoundaryTypes = typename GET_PROP_TYPE(TypeTag, ElementBoundaryTypes); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using ElementBoundaryTypes = GetPropType<TypeTag, Properties::ElementBoundaryTypes>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; - using CellCenterResidual = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using FaceResidual = typename GET_PROP_TYPE(TypeTag, FacePrimaryVariables); - using ElementFaceVariables = typename GET_PROP_TYPE(TypeTag, GridFaceVariables)::LocalView; + using CellCenterResidual = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using FaceResidual = GetPropType<TypeTag, Properties::FacePrimaryVariables>; + using ElementFaceVariables = typename GetPropType<TypeTag, Properties::GridFaceVariables>::LocalView; using TimeLoop = TimeLoopBase<Scalar>; public: - using CellCenterResidualValue = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using FaceResidualValue = typename GET_PROP_TYPE(TypeTag, FacePrimaryVariables); + using CellCenterResidualValue = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using FaceResidualValue = GetPropType<TypeTag, Properties::FacePrimaryVariables>; using ElementResidualVector = CellCenterResidualValue; //! the constructor diff --git a/dumux/common/fvproblem.hh b/dumux/common/fvproblem.hh index dd7ad79922..bf6113b7c0 100644 --- a/dumux/common/fvproblem.hh +++ b/dumux/common/fvproblem.hh @@ -48,21 +48,21 @@ namespace Dumux { template<class TypeTag> class FVProblem { - using Implementation = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Implementation = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PointSource = typename GET_PROP_TYPE(TypeTag, PointSource); - using PointSourceHelper = typename GET_PROP_TYPE(TypeTag, PointSourceHelper); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PointSource = GetPropType<TypeTag, Properties::PointSource>; + using PointSourceHelper = GetPropType<TypeTag, Properties::PointSourceHelper>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; enum { dim = GridView::dimension @@ -71,8 +71,8 @@ class FVProblem using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - static constexpr bool isBox = GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod == DiscretizationMethod::box; - static constexpr bool isStaggered = GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod == DiscretizationMethod::staggered; + static constexpr bool isBox = GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::box; + static constexpr bool isStaggered = GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::staggered; using PointSourceMap = std::map<std::pair<std::size_t, std::size_t>, std::vector<PointSource> >; diff --git a/dumux/common/pointsource.hh b/dumux/common/pointsource.hh index 265b5ec65f..6040143bc3 100644 --- a/dumux/common/pointsource.hh +++ b/dumux/common/pointsource.hh @@ -203,15 +203,15 @@ private: * \brief A point source class for time dependent point sources */ template<class TypeTag> -class SolDependentPointSource : public PointSource<Dune::FieldVector<typename GET_PROP_TYPE(TypeTag, GridView)::ctype, - GET_PROP_TYPE(TypeTag, GridView)::dimensionworld>, - typename GET_PROP_TYPE(TypeTag, NumEqVector)> +class SolDependentPointSource : public PointSource<Dune::FieldVector<typename GetPropType<TypeTag, Properties::GridView>::ctype, + GetPropType<TypeTag, Properties::GridView>::dimensionworld>, + GetPropType<TypeTag, Properties::NumEqVector>> { - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using SourceValues = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using SourceValues = GetPropType<TypeTag, Properties::NumEqVector>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using Element = typename GridView::template Codim<0>::Entity; diff --git a/dumux/common/staggeredfvproblem.hh b/dumux/common/staggeredfvproblem.hh index 53ca83709b..6f2534910f 100644 --- a/dumux/common/staggeredfvproblem.hh +++ b/dumux/common/staggeredfvproblem.hh @@ -45,23 +45,23 @@ template<class TypeTag> class StaggeredFVProblem : public FVProblem<TypeTag> { using ParentType = FVProblem<TypeTag>; - using Implementation = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Implementation = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using GridVolumeVariables = typename GridVariables::GridVolumeVariables; using ElementVolumeVariables = typename GridVolumeVariables::LocalView; using GridFaceVariables = typename GridVariables::GridFaceVariables; using ElementFaceVariables = typename GridFaceVariables::LocalView; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; using CoordScalar = typename GridView::ctype; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; diff --git a/dumux/common/start.hh b/dumux/common/start.hh index 50a2986422..48204c8704 100644 --- a/dumux/common/start.hh +++ b/dumux/common/start.hh @@ -58,9 +58,9 @@ int start_(int argc, void (*usage)(const char *, const std::string &)) { // some aliases for better readability - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using TimeManager = typename GET_PROP_TYPE(TypeTag, TimeManager); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using TimeManager = GetPropType<TypeTag, Properties::TimeManager>; // initialize MPI, finalize is done automatically on exit const auto& mpiHelper = Dune::MPIHelper::instance(argc, argv); @@ -80,7 +80,7 @@ int start_(int argc, // try to create a grid (from the given grid file or the input file) ///////////////////////////////////////////////////////////////////// - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); ////////////////////////////////////////////////////////////////////// diff --git a/dumux/common/timemanager.hh b/dumux/common/timemanager.hh index df85af76f9..35cf3ae10f 100644 --- a/dumux/common/timemanager.hh +++ b/dumux/common/timemanager.hh @@ -61,8 +61,8 @@ namespace Dumux { template <class TypeTag> class TimeManager { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; TimeManager(const TimeManager&) {} diff --git a/dumux/discretization/box/darcyslaw.hh b/dumux/discretization/box/darcyslaw.hh index 6dc0b1a274..deaff1df78 100644 --- a/dumux/discretization/box/darcyslaw.hh +++ b/dumux/discretization/box/darcyslaw.hh @@ -46,7 +46,7 @@ class BoxDarcysLaw; */ template<class TypeTag> class DarcysLawImplementation<TypeTag, DiscretizationMethod::box> -: public BoxDarcysLaw<typename GET_PROP_TYPE(TypeTag, Scalar), typename GET_PROP_TYPE(TypeTag, FVGridGeometry)> +: public BoxDarcysLaw<GetPropType<TypeTag, Properties::Scalar>, GetPropType<TypeTag, Properties::FVGridGeometry>> { }; /*! diff --git a/dumux/discretization/box/fickslaw.hh b/dumux/discretization/box/fickslaw.hh index a0b169c5dc..8acf0826b6 100644 --- a/dumux/discretization/box/fickslaw.hh +++ b/dumux/discretization/box/fickslaw.hh @@ -41,22 +41,22 @@ class FicksLawImplementation; template <class TypeTag> class FicksLawImplementation<TypeTag, DiscretizationMethod::box> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using FluxVarCache = typename GET_PROP_TYPE(TypeTag, FluxVariablesCache); - using BalanceEqOpts = typename GET_PROP_TYPE(TypeTag, BalanceEqOpts); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using FluxVarCache = GetPropType<TypeTag, Properties::FluxVariablesCache>; + using BalanceEqOpts = GetPropType<TypeTag, Properties::BalanceEqOpts>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; using IndexType = typename GridView::IndexSet::IndexType; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; enum { dim = GridView::dimension} ; @@ -100,7 +100,7 @@ public: continue; // effective diffusion tensors - using EffDiffModel = typename GET_PROP_TYPE(TypeTag, EffectiveDiffusivityModel); + using EffDiffModel = GetPropType<TypeTag, Properties::EffectiveDiffusivityModel>; auto insideD = EffDiffModel::effectiveDiffusivity(insideVolVars.porosity(), insideVolVars.saturation(phaseIdx), insideVolVars.diffusionCoefficient(phaseIdx, compIdx)); @@ -153,7 +153,7 @@ public: continue; // effective diffusion tensors - using EffDiffModel = typename GET_PROP_TYPE(TypeTag, EffectiveDiffusivityModel); + using EffDiffModel = GetPropType<TypeTag, Properties::EffectiveDiffusivityModel>; auto insideD = EffDiffModel::effectiveDiffusivity(insideVolVars.porosity(), insideVolVars.saturation(phaseIdx), insideVolVars.diffusionCoefficient(phaseIdx, compIdx)); diff --git a/dumux/discretization/box/fourierslaw.hh b/dumux/discretization/box/fourierslaw.hh index 61a6055556..3378e20680 100644 --- a/dumux/discretization/box/fourierslaw.hh +++ b/dumux/discretization/box/fourierslaw.hh @@ -41,26 +41,26 @@ class FouriersLawImplementation; template <class TypeTag> class FouriersLawImplementation<TypeTag, DiscretizationMethod::box> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FluidState = typename GET_PROP_TYPE(TypeTag, FluidState); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using FluidState = GetPropType<TypeTag, Properties::FluidState>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using ThermalConductivityModel = typename GET_PROP_TYPE(TypeTag, ThermalConductivityModel); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using ThermalConductivityModel = GetPropType<TypeTag, Properties::ThermalConductivityModel>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using GridView = GetPropType<TypeTag, Properties::GridView>; using IndexType = typename GridView::IndexSet::IndexType; using Element = typename GridView::template Codim<0>::Entity; enum { dim = GridView::dimension} ; enum { dimWorld = GridView::dimensionworld} ; - enum { numPhases = GET_PROP_TYPE(TypeTag, ModelTraits)::numPhases()} ; + enum { numPhases = GetPropType<TypeTag, Properties::ModelTraits>::numPhases()} ; using DimWorldMatrix = Dune::FieldMatrix<Scalar, dimWorld, dimWorld>; diff --git a/dumux/discretization/box/fourierslawnonequilibrium.hh b/dumux/discretization/box/fourierslawnonequilibrium.hh index 4b6cff87aa..c519e1f84a 100644 --- a/dumux/discretization/box/fourierslawnonequilibrium.hh +++ b/dumux/discretization/box/fourierslawnonequilibrium.hh @@ -44,26 +44,26 @@ class FouriersLawNonEquilibriumImplementation; template <class TypeTag> class FouriersLawNonEquilibriumImplementation<TypeTag, DiscretizationMethod::box> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FluidState = typename GET_PROP_TYPE(TypeTag, FluidState); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using FluidState = GetPropType<TypeTag, Properties::FluidState>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using GridView = GetPropType<TypeTag, Properties::GridView>; using IndexType = typename GridView::IndexSet::IndexType; - using ThermalConductivityModel = typename GET_PROP_TYPE(TypeTag, ThermalConductivityModel); + using ThermalConductivityModel = GetPropType<TypeTag, Properties::ThermalConductivityModel>; using Element = typename GridView::template Codim<0>::Entity; enum { dim = GridView::dimension} ; enum { dimWorld = GridView::dimensionworld} ; - enum { numPhases = GET_PROP_TYPE(TypeTag, ModelTraits)::numPhases()} ; + enum { numPhases = GetPropType<TypeTag, Properties::ModelTraits>::numPhases()} ; enum { numEnergyEqFluid = GET_PROP_VALUE(TypeTag, NumEnergyEqFluid) }; enum {sPhaseIdx = FluidSystem::numPhases}; diff --git a/dumux/discretization/box/maxwellstefanslaw.hh b/dumux/discretization/box/maxwellstefanslaw.hh index 31ad92455e..3b1287a62d 100644 --- a/dumux/discretization/box/maxwellstefanslaw.hh +++ b/dumux/discretization/box/maxwellstefanslaw.hh @@ -45,19 +45,19 @@ class MaxwellStefansLawImplementation; template <class TypeTag> class MaxwellStefansLawImplementation<TypeTag, DiscretizationMethod::box > { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using GridView = GetPropType<TypeTag, Properties::GridView>; using IndexType = typename GridView::IndexSet::IndexType; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; @@ -65,8 +65,8 @@ class MaxwellStefansLawImplementation<TypeTag, DiscretizationMethod::box > enum { dimWorld = GridView::dimensionworld} ; enum { - numPhases = GET_PROP_TYPE(TypeTag, ModelTraits)::numPhases(), - numComponents = GET_PROP_TYPE(TypeTag, ModelTraits)::numComponents() + numPhases = GetPropType<TypeTag, Properties::ModelTraits>::numPhases(), + numComponents = GetPropType<TypeTag, Properties::ModelTraits>::numComponents() }; using DimWorldMatrix = Dune::FieldMatrix<Scalar, dimWorld, dimWorld>; using ComponentFluxVector = Dune::FieldVector<Scalar, numComponents>; @@ -159,7 +159,7 @@ private: for (int compIIdx = 0; compIIdx < numComponents-1; compIIdx++) { // effective diffusion tensors - using EffDiffModel = typename GET_PROP_TYPE(TypeTag, EffectiveDiffusivityModel); + using EffDiffModel = GetPropType<TypeTag, Properties::EffectiveDiffusivityModel>; const auto xi = moleFrac[compIIdx]; @@ -209,7 +209,7 @@ private: } private: - template <class T = TypeTag, typename std::enable_if_t<GET_PROP_TYPE(T, FluidSystem)::isTracerFluidSystem(), int> =0 > + template <class T = TypeTag, typename std::enable_if_t<GetPropType<T, Properties::FluidSystem>::isTracerFluidSystem(), int> =0 > static Scalar getDiffusionCoefficient(const int phaseIdx, const int compIIdx, const int compJIdx, @@ -225,7 +225,7 @@ private: scv); } - template <class T = TypeTag, typename std::enable_if_t<!GET_PROP_TYPE(T, FluidSystem)::isTracerFluidSystem(), int> =0 > + template <class T = TypeTag, typename std::enable_if_t<!GetPropType<T, Properties::FluidSystem>::isTracerFluidSystem(), int> =0 > static Scalar getDiffusionCoefficient(const int phaseIdx, const int compIIdx, const int compJIdx, diff --git a/dumux/discretization/box/properties.hh b/dumux/discretization/box/properties.hh index 3011bb1bc4..2fda67e843 100644 --- a/dumux/discretization/box/properties.hh +++ b/dumux/discretization/box/properties.hh @@ -57,8 +57,8 @@ SET_PROP(BoxModel, FVGridGeometry) { private: static constexpr bool enableCache = GET_PROP_VALUE(TypeTag, EnableFVGridGeometryCache); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = BoxFVGridGeometry<Scalar, GridView, enableCache>; }; @@ -68,8 +68,8 @@ SET_PROP(BoxModel, GridVolumeVariables) { private: static constexpr bool enableCache = GET_PROP_VALUE(TypeTag, EnableGridVolumeVariablesCache); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); + using Problem = GetPropType<TypeTag, Properties::Problem>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; public: using type = BoxGridVolumeVariables<Problem, VolumeVariables, enableCache>; }; @@ -79,14 +79,14 @@ SET_PROP(BoxModel, GridFluxVariablesCache) { private: static constexpr bool enableCache = GET_PROP_VALUE(TypeTag, EnableGridFluxVariablesCache); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FluxVariablesCache = typename GET_PROP_TYPE(TypeTag, FluxVariablesCache); + using Problem = GetPropType<TypeTag, Properties::Problem>; + using FluxVariablesCache = GetPropType<TypeTag, Properties::FluxVariablesCache>; public: using type = BoxGridFluxVariablesCache<Problem, FluxVariablesCache, enableCache>; }; //! Set the default for the ElementBoundaryTypes -SET_TYPE_PROP(BoxModel, ElementBoundaryTypes, BoxElementBoundaryTypes<typename GET_PROP_TYPE(TypeTag, BoundaryTypes)>); +SET_TYPE_PROP(BoxModel, ElementBoundaryTypes, BoxElementBoundaryTypes<GetPropType<TypeTag, Properties::BoundaryTypes>>); //! Set the BaseLocalResidual to BoxLocalResidual SET_TYPE_PROP(BoxModel, BaseLocalResidual, BoxLocalResidual<TypeTag>); diff --git a/dumux/discretization/cellcentered/mpfa/darcyslaw.hh b/dumux/discretization/cellcentered/mpfa/darcyslaw.hh index b821ce3cfe..fd18b34195 100644 --- a/dumux/discretization/cellcentered/mpfa/darcyslaw.hh +++ b/dumux/discretization/cellcentered/mpfa/darcyslaw.hh @@ -45,17 +45,17 @@ class DarcysLawImplementation; template<class TypeTag> class DarcysLawImplementation<TypeTag, DiscretizationMethod::ccmpfa> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using FluxVariablesCache = typename GET_PROP_TYPE(TypeTag, FluxVariablesCache); + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using FluxVariablesCache = GetPropType<TypeTag, Properties::FluxVariablesCache>; //! Class that fills the cache corresponding to mpfa Darcy's Law class MpfaDarcysLawCacheFiller @@ -93,21 +93,21 @@ class DarcysLawImplementation<TypeTag, DiscretizationMethod::ccmpfa> { static constexpr int dim = GridView::dimension; static constexpr int dimWorld = GridView::dimensionworld; - static constexpr int numPhases = GET_PROP_TYPE(TypeTag, ModelTraits)::numPhases(); + static constexpr int numPhases = GetPropType<TypeTag, Properties::ModelTraits>::numPhases(); - using DualGridNodalIndexSet = typename GET_PROP_TYPE(TypeTag, DualGridNodalIndexSet); + using DualGridNodalIndexSet = GetPropType<TypeTag, Properties::DualGridNodalIndexSet>; using Stencil = typename DualGridNodalIndexSet::NodalGridStencilType; using MpfaHelper = typename FVGridGeometry::MpfaHelper; static constexpr bool considerSecondaryIVs = MpfaHelper::considerSecondaryIVs(); - using PrimaryInteractionVolume = typename GET_PROP_TYPE(TypeTag, PrimaryInteractionVolume); + using PrimaryInteractionVolume = GetPropType<TypeTag, Properties::PrimaryInteractionVolume>; using PrimaryIvLocalFaceData = typename PrimaryInteractionVolume::Traits::LocalFaceData; using PrimaryIvDataHandle = typename ElementFluxVariablesCache::PrimaryIvDataHandle; using PrimaryIvCellVector = typename PrimaryInteractionVolume::Traits::MatVecTraits::CellVector; using PrimaryIvTij = typename PrimaryInteractionVolume::Traits::MatVecTraits::TMatrix::row_type; - using SecondaryInteractionVolume = typename GET_PROP_TYPE(TypeTag, SecondaryInteractionVolume); + using SecondaryInteractionVolume = GetPropType<TypeTag, Properties::SecondaryInteractionVolume>; using SecondaryIvLocalFaceData = typename SecondaryInteractionVolume::Traits::LocalFaceData; using SecondaryIvDataHandle = typename ElementFluxVariablesCache::SecondaryIvDataHandle; using SecondaryIvCellVector = typename SecondaryInteractionVolume::Traits::MatVecTraits::CellVector; diff --git a/dumux/discretization/cellcentered/mpfa/fickslaw.hh b/dumux/discretization/cellcentered/mpfa/fickslaw.hh index 6918cdbf32..d9afded35c 100644 --- a/dumux/discretization/cellcentered/mpfa/fickslaw.hh +++ b/dumux/discretization/cellcentered/mpfa/fickslaw.hh @@ -41,21 +41,21 @@ class FicksLawImplementation; template <class TypeTag> class FicksLawImplementation<TypeTag, DiscretizationMethod::ccmpfa> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using FluxVariablesCache = typename GET_PROP_TYPE(TypeTag, FluxVariablesCache); - using BalanceEqOpts = typename GET_PROP_TYPE(TypeTag, BalanceEqOpts); + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using FluxVariablesCache = GetPropType<TypeTag, Properties::FluxVariablesCache>; + using BalanceEqOpts = GetPropType<TypeTag, Properties::BalanceEqOpts>; - static constexpr int numComponents = GET_PROP_TYPE(TypeTag, ModelTraits)::numComponents(); + static constexpr int numComponents = GetPropType<TypeTag, Properties::ModelTraits>::numComponents(); using ComponentFluxVector = Dune::FieldVector<Scalar, numComponents>; //! Class that fills the cache corresponding to mpfa Fick's Law @@ -91,19 +91,19 @@ class FicksLawImplementation<TypeTag, DiscretizationMethod::ccmpfa> //! The cache used in conjunction with the mpfa Fick's Law class MpfaFicksLawCache { - using DualGridNodalIndexSet = typename GET_PROP_TYPE(TypeTag, DualGridNodalIndexSet); + using DualGridNodalIndexSet = GetPropType<TypeTag, Properties::DualGridNodalIndexSet>; using Stencil = typename DualGridNodalIndexSet::NodalGridStencilType; using MpfaHelper = typename FVGridGeometry::MpfaHelper; static constexpr bool considerSecondaryIVs = MpfaHelper::considerSecondaryIVs(); - using PrimaryInteractionVolume = typename GET_PROP_TYPE(TypeTag, PrimaryInteractionVolume); + using PrimaryInteractionVolume = GetPropType<TypeTag, Properties::PrimaryInteractionVolume>; using PrimaryIvLocalFaceData = typename PrimaryInteractionVolume::Traits::LocalFaceData; using PrimaryIvDataHandle = typename ElementFluxVariablesCache::PrimaryIvDataHandle; using PrimaryIvCellVector = typename PrimaryInteractionVolume::Traits::MatVecTraits::CellVector; using PrimaryIvTij = typename PrimaryInteractionVolume::Traits::MatVecTraits::TMatrix::row_type; - using SecondaryInteractionVolume = typename GET_PROP_TYPE(TypeTag, SecondaryInteractionVolume); + using SecondaryInteractionVolume = GetPropType<TypeTag, Properties::SecondaryInteractionVolume>; using SecondaryIvLocalFaceData = typename SecondaryInteractionVolume::Traits::LocalFaceData; using SecondaryIvDataHandle = typename ElementFluxVariablesCache::SecondaryIvDataHandle; using SecondaryIvCellVector = typename SecondaryInteractionVolume::Traits::MatVecTraits::CellVector; @@ -111,7 +111,7 @@ class FicksLawImplementation<TypeTag, DiscretizationMethod::ccmpfa> static constexpr int dim = GridView::dimension; static constexpr int dimWorld = GridView::dimensionworld; - static constexpr int numPhases = GET_PROP_TYPE(TypeTag, ModelTraits)::numPhases(); + static constexpr int numPhases = GetPropType<TypeTag, Properties::ModelTraits>::numPhases(); public: // export filler type @@ -308,7 +308,7 @@ private: const SubControlVolumeFace& scvf, const unsigned int phaseIdx) { - using EffDiffModel = typename GET_PROP_TYPE(TypeTag, EffectiveDiffusivityModel); + using EffDiffModel = GetPropType<TypeTag, Properties::EffectiveDiffusivityModel>; // use the harmonic mean between inside and outside const auto& insideVolVars = elemVolVars[scvf.insideScvIdx()]; diff --git a/dumux/discretization/cellcentered/mpfa/fluxvariablescachefiller.hh b/dumux/discretization/cellcentered/mpfa/fluxvariablescachefiller.hh index b0fdbd3f90..78240f3ad9 100644 --- a/dumux/discretization/cellcentered/mpfa/fluxvariablescachefiller.hh +++ b/dumux/discretization/cellcentered/mpfa/fluxvariablescachefiller.hh @@ -42,23 +42,23 @@ namespace Dumux template<class TypeTag> class CCMpfaFluxVariablesCacheFiller { - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using MpfaHelper = typename FVGridGeometry::MpfaHelper; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using FluxVariablesCache = typename GET_PROP_TYPE(TypeTag, FluxVariablesCache); + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using FluxVariablesCache = GetPropType<TypeTag, Properties::FluxVariablesCache>; - using PrimaryInteractionVolume = typename GET_PROP_TYPE(TypeTag, PrimaryInteractionVolume); + using PrimaryInteractionVolume = GetPropType<TypeTag, Properties::PrimaryInteractionVolume>; using PrimaryDataHandle = typename ElementFluxVariablesCache::PrimaryIvDataHandle; using PrimaryLocalFaceData = typename PrimaryInteractionVolume::Traits::LocalFaceData; - using SecondaryInteractionVolume = typename GET_PROP_TYPE(TypeTag, SecondaryInteractionVolume); + using SecondaryInteractionVolume = GetPropType<TypeTag, Properties::SecondaryInteractionVolume>; using SecondaryDataHandle = typename ElementFluxVariablesCache::SecondaryIvDataHandle; using SecondaryLocalFaceData = typename SecondaryInteractionVolume::Traits::LocalFaceData; @@ -252,7 +252,7 @@ private: const std::vector<FluxVariablesCache*>& ivFluxVarCaches, bool forceUpdateAll = false) { - using AdvectionType = typename GET_PROP_TYPE(TypeTag, AdvectionType); + using AdvectionType = GetPropType<TypeTag, Properties::AdvectionType>; using AdvectionFiller = typename AdvectionType::Cache::Filler; // fill data in the handle @@ -308,7 +308,7 @@ private: const std::vector<FluxVariablesCache*>& ivFluxVarCaches, bool forceUpdateAll = false) { - using DiffusionType = typename GET_PROP_TYPE(TypeTag, MolecularDiffusionType); + using DiffusionType = GetPropType<TypeTag, Properties::MolecularDiffusionType>; using DiffusionFiller = typename DiffusionType::Cache::Filler; static constexpr int numPhases = ModelTraits::numPhases(); @@ -318,7 +318,7 @@ private: { for (unsigned int compIdx = 0; compIdx < numComponents; ++compIdx) { - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; if (compIdx == FluidSystem::getMainComponent(phaseIdx)) continue; @@ -379,7 +379,7 @@ private: const std::vector<FluxVariablesCache*>& ivFluxVarCaches, bool forceUpdateAll = false) { - using HeatConductionType = typename GET_PROP_TYPE(TypeTag, HeatConductionType); + using HeatConductionType = GetPropType<TypeTag, Properties::HeatConductionType>; using HeatConductionFiller = typename HeatConductionType::Cache::Filler; // prepare data in handle @@ -427,7 +427,7 @@ private: //! prepares the quantities necessary for advective fluxes in the handle template< class InteractionVolume, class DataHandle, - class AdvectionType = typename GET_PROP_TYPE(TypeTag, AdvectionType), + class AdvectionType = GetPropType<TypeTag, Properties::AdvectionType>, typename std::enable_if_t<AdvectionType::discMethod == DiscretizationMethod::ccmpfa, int> = 0 > void fillAdvectionHandle(InteractionVolume& iv, DataHandle& handle, bool forceUpdateAll) { @@ -509,7 +509,7 @@ private: //! prepares the quantities necessary for diffusive fluxes in the handle template< class InteractionVolume, class DataHandle, - class DiffusionType = typename GET_PROP_TYPE(TypeTag, MolecularDiffusionType), + class DiffusionType = GetPropType<TypeTag, Properties::MolecularDiffusionType>, typename std::enable_if_t<DiffusionType::discMethod == DiscretizationMethod::ccmpfa, int> = 0 > void fillDiffusionHandle(InteractionVolume& iv, DataHandle& handle, @@ -551,7 +551,7 @@ private: //! prepares the quantities necessary for conductive fluxes in the handle template< class InteractionVolume, class DataHandle, - class HeatConductionType = typename GET_PROP_TYPE(TypeTag, HeatConductionType), + class HeatConductionType = GetPropType<TypeTag, Properties::HeatConductionType>, typename std::enable_if_t<HeatConductionType::discMethod == DiscretizationMethod::ccmpfa, int> = 0 > void fillHeatConductionHandle(InteractionVolume& iv, DataHandle& handle, bool forceUpdateAll) { @@ -568,11 +568,11 @@ private: localAssembler.assemble( handle.heatConductionTout(), handle.heatConductionT(), iv, - LambdaFactory::template getHeatConductionLambda<typename GET_PROP_TYPE(TypeTag, ThermalConductivityModel)>() ); + LambdaFactory::template getHeatConductionLambda<GetPropType<TypeTag, Properties::ThermalConductivityModel>>() ); else localAssembler.assemble( handle.heatConductionT(), iv, - LambdaFactory::template getHeatConductionLambda<typename GET_PROP_TYPE(TypeTag, ThermalConductivityModel)>() ); + LambdaFactory::template getHeatConductionLambda<GetPropType<TypeTag, Properties::ThermalConductivityModel>>() ); } // assemble vector of temperatures @@ -584,21 +584,21 @@ private: //! fill handle only when advection uses mpfa template< class InteractionVolume, class DataHandle, - class AdvectionType = typename GET_PROP_TYPE(TypeTag, AdvectionType), + class AdvectionType = GetPropType<TypeTag, Properties::AdvectionType>, typename std::enable_if_t<AdvectionType::discMethod != DiscretizationMethod::ccmpfa, int> = 0 > void fillAdvectionHandle(InteractionVolume& iv, DataHandle& handle, bool forceUpdateAll) {} //! fill handle only when diffusion uses mpfa template< class InteractionVolume, class DataHandle, - class DiffusionType = typename GET_PROP_TYPE(TypeTag, MolecularDiffusionType), + class DiffusionType = GetPropType<TypeTag, Properties::MolecularDiffusionType>, typename std::enable_if_t<DiffusionType::discMethod != DiscretizationMethod::ccmpfa, int> = 0 > void fillDiffusionHandle(InteractionVolume& iv, DataHandle& handle, bool forceUpdateAll, int phaseIdx, int compIdx) {} //! fill handle only when heat conduction uses mpfa template< class InteractionVolume, class DataHandle, - class HeatConductionType = typename GET_PROP_TYPE(TypeTag, HeatConductionType), + class HeatConductionType = GetPropType<TypeTag, Properties::HeatConductionType>, typename std::enable_if_t<HeatConductionType::discMethod != DiscretizationMethod::ccmpfa, int> = 0 > void fillHeatConductionHandle(InteractionVolume& iv, DataHandle& handle, bool forceUpdateAll) {} diff --git a/dumux/discretization/cellcentered/mpfa/fourierslaw.hh b/dumux/discretization/cellcentered/mpfa/fourierslaw.hh index 5172118bf0..db27fa6202 100644 --- a/dumux/discretization/cellcentered/mpfa/fourierslaw.hh +++ b/dumux/discretization/cellcentered/mpfa/fourierslaw.hh @@ -43,18 +43,18 @@ class FouriersLawImplementation; template <class TypeTag> class FouriersLawImplementation<TypeTag, DiscretizationMethod::ccmpfa> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using ElementFluxVarsCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using FluxVariablesCache = typename GET_PROP_TYPE(TypeTag, FluxVariablesCache); - using ThermalConductivityModel = typename GET_PROP_TYPE(TypeTag, ThermalConductivityModel); + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using ElementFluxVarsCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using FluxVariablesCache = GetPropType<TypeTag, Properties::FluxVariablesCache>; + using ThermalConductivityModel = GetPropType<TypeTag, Properties::ThermalConductivityModel>; //! Class that fills the cache corresponding to mpfa Darcy's Law class MpfaFouriersLawCacheFiller @@ -88,19 +88,19 @@ class FouriersLawImplementation<TypeTag, DiscretizationMethod::ccmpfa> //! The cache used in conjunction with the mpfa Fourier's Law class MpfaFouriersLawCache { - using DualGridNodalIndexSet = typename GET_PROP_TYPE(TypeTag, DualGridNodalIndexSet); + using DualGridNodalIndexSet = GetPropType<TypeTag, Properties::DualGridNodalIndexSet>; using Stencil = typename DualGridNodalIndexSet::NodalGridStencilType; using MpfaHelper = typename FVGridGeometry::MpfaHelper; static constexpr bool considerSecondaryIVs = MpfaHelper::considerSecondaryIVs(); - using PrimaryInteractionVolume = typename GET_PROP_TYPE(TypeTag, PrimaryInteractionVolume); + using PrimaryInteractionVolume = GetPropType<TypeTag, Properties::PrimaryInteractionVolume>; using PrimaryIvLocalFaceData = typename PrimaryInteractionVolume::Traits::LocalFaceData; using PrimaryIvDataHandle = typename ElementFluxVarsCache::PrimaryIvDataHandle; using PrimaryIvCellVector = typename PrimaryInteractionVolume::Traits::MatVecTraits::CellVector; using PrimaryIvTij = typename PrimaryInteractionVolume::Traits::MatVecTraits::TMatrix::row_type; - using SecondaryInteractionVolume = typename GET_PROP_TYPE(TypeTag, SecondaryInteractionVolume); + using SecondaryInteractionVolume = GetPropType<TypeTag, Properties::SecondaryInteractionVolume>; using SecondaryIvLocalFaceData = typename SecondaryInteractionVolume::Traits::LocalFaceData; using SecondaryIvDataHandle = typename ElementFluxVarsCache::SecondaryIvDataHandle; using SecondaryIvCellVector = typename SecondaryInteractionVolume::Traits::MatVecTraits::CellVector; diff --git a/dumux/discretization/cellcentered/mpfa/properties.hh b/dumux/discretization/cellcentered/mpfa/properties.hh index 461f8dca1f..27a116961c 100644 --- a/dumux/discretization/cellcentered/mpfa/properties.hh +++ b/dumux/discretization/cellcentered/mpfa/properties.hh @@ -61,7 +61,7 @@ struct CCMpfaModel { using InheritsFrom = std::tuple<FiniteVolumeModel>; }; SET_PROP(CCMpfaModel, DualGridNodalIndexSet) { private: - using GV = typename GET_PROP_TYPE(TypeTag, GridView); + using GV = GetPropType<TypeTag, Properties::GridView>; using Traits = NodalIndexSetDefaultTraits< GV >; public: @@ -72,15 +72,15 @@ public: SET_PROP(CCMpfaModel, PrimaryInteractionVolume) { public: - using type = typename GET_PROP_TYPE(TypeTag, SecondaryInteractionVolume); + using type = GetPropType<TypeTag, Properties::SecondaryInteractionVolume>; }; //! Per default, we use the dynamic mpfa-o interaction volume on boundaries SET_PROP(CCMpfaModel, SecondaryInteractionVolume) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using NodalIndexSet = typename GET_PROP_TYPE(TypeTag, DualGridNodalIndexSet); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using NodalIndexSet = GetPropType<TypeTag, Properties::DualGridNodalIndexSet>; // use the default traits using Traits = CCMpfaODefaultInteractionVolumeTraits< NodalIndexSet, Scalar >; @@ -92,10 +92,10 @@ public: SET_PROP(CCMpfaModel, FVGridGeometry) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using PrimaryIV = typename GET_PROP_TYPE(TypeTag, PrimaryInteractionVolume); - using SecondaryIV = typename GET_PROP_TYPE(TypeTag, SecondaryInteractionVolume); - using NodalIndexSet = typename GET_PROP_TYPE(TypeTag, DualGridNodalIndexSet); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using PrimaryIV = GetPropType<TypeTag, Properties::PrimaryInteractionVolume>; + using SecondaryIV = GetPropType<TypeTag, Properties::SecondaryInteractionVolume>; + using NodalIndexSet = GetPropType<TypeTag, Properties::DualGridNodalIndexSet>; using Traits = CCMpfaFVGridGeometryTraits<GridView, NodalIndexSet, PrimaryIV, SecondaryIV>; public: using type = CCMpfaFVGridGeometry<GridView, Traits, GET_PROP_VALUE(TypeTag, EnableFVGridGeometryCache)>; @@ -106,8 +106,8 @@ SET_PROP(CCMpfaModel, GridVolumeVariables) { private: static constexpr bool enableCache = GET_PROP_VALUE(TypeTag, EnableGridVolumeVariablesCache); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); + using Problem = GetPropType<TypeTag, Properties::Problem>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; public: using type = CCMpfaGridVolumeVariables<Problem, VolumeVariables, enableCache>; }; @@ -117,14 +117,14 @@ SET_PROP(CCMpfaModel, GridFluxVariablesCache) { private: static constexpr bool enableCache = GET_PROP_VALUE(TypeTag, EnableGridFluxVariablesCache); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FluxVariablesCache = typename GET_PROP_TYPE(TypeTag, FluxVariablesCache); + using Problem = GetPropType<TypeTag, Properties::Problem>; + using FluxVariablesCache = GetPropType<TypeTag, Properties::FluxVariablesCache>; using FluxVariablesCacheFiller = CCMpfaFluxVariablesCacheFiller<TypeTag>; - using PrimaryInteractionVolume = typename GET_PROP_TYPE(TypeTag, PrimaryInteractionVolume); - using SecondaryInteractionVolume = typename GET_PROP_TYPE(TypeTag, SecondaryInteractionVolume); + using PrimaryInteractionVolume = GetPropType<TypeTag, Properties::PrimaryInteractionVolume>; + using SecondaryInteractionVolume = GetPropType<TypeTag, Properties::SecondaryInteractionVolume>; - using PhysicsTraits = IvDataHandlePhysicsTraits<typename GET_PROP_TYPE(TypeTag, ModelTraits)>; + using PhysicsTraits = IvDataHandlePhysicsTraits<GetPropType<TypeTag, Properties::ModelTraits>>; using PrimaryMatVecTraits = typename PrimaryInteractionVolume::Traits::MatVecTraits; using SecondaryMatVecTraits = typename SecondaryInteractionVolume::Traits::MatVecTraits; diff --git a/dumux/discretization/cellcentered/tpfa/darcyslaw.hh b/dumux/discretization/cellcentered/tpfa/darcyslaw.hh index 34b6da1e60..0632af88df 100644 --- a/dumux/discretization/cellcentered/tpfa/darcyslaw.hh +++ b/dumux/discretization/cellcentered/tpfa/darcyslaw.hh @@ -55,9 +55,9 @@ class CCTpfaDarcysLaw; */ template <class TypeTag> class DarcysLawImplementation<TypeTag, DiscretizationMethod::cctpfa> -: public CCTpfaDarcysLaw<typename GET_PROP_TYPE(TypeTag, Scalar), - typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - (GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView::dimension < GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView::dimensionworld)> +: public CCTpfaDarcysLaw<GetPropType<TypeTag, Properties::Scalar>, + GetPropType<TypeTag, Properties::FVGridGeometry>, + (GetPropType<TypeTag, Properties::FVGridGeometry>::GridView::dimension < GetPropType<TypeTag, Properties::FVGridGeometry>::GridView::dimensionworld)> {}; /*! diff --git a/dumux/discretization/cellcentered/tpfa/fickslaw.hh b/dumux/discretization/cellcentered/tpfa/fickslaw.hh index 40f02dfb69..c0f47995a9 100644 --- a/dumux/discretization/cellcentered/tpfa/fickslaw.hh +++ b/dumux/discretization/cellcentered/tpfa/fickslaw.hh @@ -44,22 +44,22 @@ template <class TypeTag> class FicksLawImplementation<TypeTag, DiscretizationMethod::cctpfa> { using Implementation = FicksLawImplementation<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 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 VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using Element = typename GridView::template Codim<0>::Entity; - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using FluxVariablesCache = typename GET_PROP_TYPE(TypeTag, FluxVariablesCache); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BalanceEqOpts = typename GET_PROP_TYPE(TypeTag, BalanceEqOpts); + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using FluxVariablesCache = GetPropType<TypeTag, Properties::FluxVariablesCache>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BalanceEqOpts = GetPropType<TypeTag, Properties::BalanceEqOpts>; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; static const int dim = GridView::dimension; @@ -175,7 +175,7 @@ public: const auto& insideScv = fvGeometry.scv(insideScvIdx); const auto& insideVolVars = elemVolVars[insideScvIdx]; - using EffDiffModel = typename GET_PROP_TYPE(TypeTag, EffectiveDiffusivityModel); + using EffDiffModel = GetPropType<TypeTag, Properties::EffectiveDiffusivityModel>; const auto insideD = EffDiffModel::effectiveDiffusivity(insideVolVars.porosity(), insideVolVars.saturation(phaseIdx), insideVolVars.diffusionCoefficient(phaseIdx, compIdx)); diff --git a/dumux/discretization/cellcentered/tpfa/fluxvariablescachefiller.hh b/dumux/discretization/cellcentered/tpfa/fluxvariablescachefiller.hh index 1e20f6d34c..8b7641b987 100644 --- a/dumux/discretization/cellcentered/tpfa/fluxvariablescachefiller.hh +++ b/dumux/discretization/cellcentered/tpfa/fluxvariablescachefiller.hh @@ -36,14 +36,14 @@ namespace Dumux { template<class TypeTag> class CCTpfaFluxVariablesCacheFiller { - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using FluxVariablesCache = typename GET_PROP_TYPE(TypeTag, FluxVariablesCache); + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using FluxVariablesCache = GetPropType<TypeTag, Properties::FluxVariablesCache>; using Element = typename GridView::template Codim<0>::Entity; @@ -115,7 +115,7 @@ private: const ElementVolumeVariables& elemVolVars, const SubControlVolumeFace& scvf) { - using AdvectionType = typename GET_PROP_TYPE(TypeTag, AdvectionType); + using AdvectionType = GetPropType<TypeTag, Properties::AdvectionType>; using AdvectionFiller = typename AdvectionType::Cache::Filler; // forward to the filler for the advective quantities @@ -141,9 +141,9 @@ private: const ElementVolumeVariables& elemVolVars, const SubControlVolumeFace& scvf) { - using DiffusionType = typename GET_PROP_TYPE(TypeTag, MolecularDiffusionType); + using DiffusionType = GetPropType<TypeTag, Properties::MolecularDiffusionType>; using DiffusionFiller = typename DiffusionType::Cache::Filler; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static constexpr int numPhases = ModelTraits::numPhases(); static constexpr int numComponents = ModelTraits::numComponents(); @@ -174,7 +174,7 @@ private: const ElementVolumeVariables& elemVolVars, const SubControlVolumeFace& scvf) { - using HeatConductionType = typename GET_PROP_TYPE(TypeTag, HeatConductionType); + using HeatConductionType = GetPropType<TypeTag, Properties::HeatConductionType>; using HeatConductionFiller = typename HeatConductionType::Cache::Filler; // forward to the filler of the diffusive quantities diff --git a/dumux/discretization/cellcentered/tpfa/forchheimerslaw.hh b/dumux/discretization/cellcentered/tpfa/forchheimerslaw.hh index 422a96cd8d..214dc17aaa 100644 --- a/dumux/discretization/cellcentered/tpfa/forchheimerslaw.hh +++ b/dumux/discretization/cellcentered/tpfa/forchheimerslaw.hh @@ -59,9 +59,9 @@ class CCTpfaForchheimersLaw; */ template <class TypeTag> class ForchheimersLawImplementation<TypeTag, DiscretizationMethod::cctpfa> -: public CCTpfaForchheimersLaw<typename GET_PROP_TYPE(TypeTag, Scalar), - typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - (GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView::dimension < GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView::dimensionworld)> +: public CCTpfaForchheimersLaw<GetPropType<TypeTag, Properties::Scalar>, + GetPropType<TypeTag, Properties::FVGridGeometry>, + (GetPropType<TypeTag, Properties::FVGridGeometry>::GridView::dimension < GetPropType<TypeTag, Properties::FVGridGeometry>::GridView::dimensionworld)> {}; /*! diff --git a/dumux/discretization/cellcentered/tpfa/fourierslaw.hh b/dumux/discretization/cellcentered/tpfa/fourierslaw.hh index cc7aae09b8..3e7d9d708e 100644 --- a/dumux/discretization/cellcentered/tpfa/fourierslaw.hh +++ b/dumux/discretization/cellcentered/tpfa/fourierslaw.hh @@ -44,24 +44,24 @@ template <class TypeTag> class FouriersLawImplementation<TypeTag, DiscretizationMethod::cctpfa> { using Implementation = FouriersLawImplementation<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 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>; //! Class that fills the cache corresponding to tpfa Fick's Law class TpfaFouriersLawCacheFiller diff --git a/dumux/discretization/cellcentered/tpfa/maxwellstefanslaw.hh b/dumux/discretization/cellcentered/tpfa/maxwellstefanslaw.hh index cd3aa7160e..2da51ac99d 100644 --- a/dumux/discretization/cellcentered/tpfa/maxwellstefanslaw.hh +++ b/dumux/discretization/cellcentered/tpfa/maxwellstefanslaw.hh @@ -45,26 +45,26 @@ class MaxwellStefansLawImplementation; template <class TypeTag> class MaxwellStefansLawImplementation<TypeTag, DiscretizationMethod::cctpfa > { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using EffDiffModel = typename GET_PROP_TYPE(TypeTag, EffectiveDiffusivityModel); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using EffDiffModel = GetPropType<TypeTag, Properties::EffectiveDiffusivityModel>; + 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 VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using Element = typename GridView::template Codim<0>::Entity; - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using FluxVariablesCache = typename GET_PROP_TYPE(TypeTag, FluxVariablesCache); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using FluxVariablesCache = GetPropType<TypeTag, Properties::FluxVariablesCache>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static const int dim = GridView::dimension; static const int dimWorld = GridView::dimensionworld; - static const int numPhases = GET_PROP_TYPE(TypeTag, ModelTraits)::numPhases(); - static const int numComponents = GET_PROP_TYPE(TypeTag, ModelTraits)::numComponents(); + static const int numPhases = GetPropType<TypeTag, Properties::ModelTraits>::numPhases(); + static const int numComponents = GetPropType<TypeTag, Properties::ModelTraits>::numComponents(); using DimWorldMatrix = Dune::FieldMatrix<Scalar, dimWorld, dimWorld>; using ComponentFluxVector = Dune::FieldVector<Scalar, numComponents>; @@ -241,7 +241,7 @@ private: return reducedDiffusionMatrix; } - template <class T = TypeTag, typename std::enable_if_t<GET_PROP_TYPE(T, FluidSystem)::isTracerFluidSystem(), int> =0 > + template <class T = TypeTag, typename std::enable_if_t<GetPropType<T, Properties::FluidSystem>::isTracerFluidSystem(), int> =0 > static Scalar getDiffusionCoefficient(const int phaseIdx, const int compIIdx, const int compJIdx, @@ -257,7 +257,7 @@ private: scv); } - template <class T = TypeTag, typename std::enable_if_t<!GET_PROP_TYPE(T, FluidSystem)::isTracerFluidSystem(), int> =0 > + template <class T = TypeTag, typename std::enable_if_t<!GetPropType<T, Properties::FluidSystem>::isTracerFluidSystem(), int> =0 > static Scalar getDiffusionCoefficient(const int phaseIdx, const int compIIdx, const int compJIdx, diff --git a/dumux/discretization/cellcentered/tpfa/properties.hh b/dumux/discretization/cellcentered/tpfa/properties.hh index d8a30b1aad..c22555aae0 100644 --- a/dumux/discretization/cellcentered/tpfa/properties.hh +++ b/dumux/discretization/cellcentered/tpfa/properties.hh @@ -56,7 +56,7 @@ SET_PROP(CCTpfaModel, FVGridGeometry) { private: static constexpr bool enableCache = GET_PROP_VALUE(TypeTag, EnableFVGridGeometryCache); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; public: using type = CCTpfaFVGridGeometry<GridView, enableCache>; }; @@ -66,8 +66,8 @@ SET_PROP(CCTpfaModel, GridVolumeVariables) { private: static constexpr bool enableCache = GET_PROP_VALUE(TypeTag, EnableGridVolumeVariablesCache); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); + using Problem = GetPropType<TypeTag, Properties::Problem>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; public: using type = CCTpfaGridVolumeVariables<Problem, VolumeVariables, enableCache>; }; @@ -77,8 +77,8 @@ SET_PROP(CCTpfaModel, GridFluxVariablesCache) { private: static constexpr bool enableCache = GET_PROP_VALUE(TypeTag, EnableGridFluxVariablesCache); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FluxVariablesCache = typename GET_PROP_TYPE(TypeTag, FluxVariablesCache); + using Problem = GetPropType<TypeTag, Properties::Problem>; + using FluxVariablesCache = GetPropType<TypeTag, Properties::FluxVariablesCache>; using FluxVariablesCacheFiller = CCTpfaFluxVariablesCacheFiller<TypeTag>; public: using type = CCTpfaGridFluxVariablesCache<Problem, FluxVariablesCache, FluxVariablesCacheFiller, enableCache>; diff --git a/dumux/discretization/darcyslaw.hh b/dumux/discretization/darcyslaw.hh index a424ef9034..939686a6ce 100644 --- a/dumux/discretization/darcyslaw.hh +++ b/dumux/discretization/darcyslaw.hh @@ -44,7 +44,7 @@ class DarcysLawImplementation * These specializations are found in the headers included below. */ template <class TypeTag> -using DarcysLaw = DarcysLawImplementation<TypeTag, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using DarcysLaw = DarcysLawImplementation<TypeTag, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; } // end namespace Dumux diff --git a/dumux/discretization/fickslaw.hh b/dumux/discretization/fickslaw.hh index 66f370f134..3a40c70a4c 100644 --- a/dumux/discretization/fickslaw.hh +++ b/dumux/discretization/fickslaw.hh @@ -40,7 +40,7 @@ class FicksLawImplementation; * \brief Evaluates the diffusive mass flux according to Fick's law */ template <class TypeTag> -using FicksLaw = FicksLawImplementation<TypeTag, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using FicksLaw = FicksLawImplementation<TypeTag, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; } // end namespace Dumux diff --git a/dumux/discretization/forchheimerslaw.hh b/dumux/discretization/forchheimerslaw.hh index a4053fae2b..ea82cd9bf4 100644 --- a/dumux/discretization/forchheimerslaw.hh +++ b/dumux/discretization/forchheimerslaw.hh @@ -46,7 +46,7 @@ class ForchheimersLawImplementation * These specializations are found in the headers included below. */ template <class TypeTag> -using ForchheimersLaw = ForchheimersLawImplementation<TypeTag, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using ForchheimersLaw = ForchheimersLawImplementation<TypeTag, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; } // end namespace Dumux diff --git a/dumux/discretization/fourierslaw.hh b/dumux/discretization/fourierslaw.hh index 05e85a7fcc..4c6858f737 100644 --- a/dumux/discretization/fourierslaw.hh +++ b/dumux/discretization/fourierslaw.hh @@ -41,7 +41,7 @@ class FouriersLawImplementation * \brief Evaluates the heat conduction flux according to Fouriers's law */ template <class TypeTag> -using FouriersLaw = FouriersLawImplementation<TypeTag, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using FouriersLaw = FouriersLawImplementation<TypeTag, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; } // end namespace Dumux diff --git a/dumux/discretization/fourierslawnonequilibrium.hh b/dumux/discretization/fourierslawnonequilibrium.hh index 02a9228f45..cbd9c38946 100644 --- a/dumux/discretization/fourierslawnonequilibrium.hh +++ b/dumux/discretization/fourierslawnonequilibrium.hh @@ -39,7 +39,7 @@ class FouriersLawNonEquilibriumImplementation * \brief Evaluates the heat conduction flux according to Fouriers's law */ template <class TypeTag> -using FouriersLawNonEquilibrium = FouriersLawNonEquilibriumImplementation<TypeTag, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using FouriersLawNonEquilibrium = FouriersLawNonEquilibriumImplementation<TypeTag, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; } // end namespace Dumux diff --git a/dumux/discretization/fvproperties.hh b/dumux/discretization/fvproperties.hh index c40922ae09..467ee2fa55 100644 --- a/dumux/discretization/fvproperties.hh +++ b/dumux/discretization/fvproperties.hh @@ -47,9 +47,9 @@ struct FiniteVolumeModel { using InheritsFrom = std::tuple<GridProperties>; }; SET_PROP(FiniteVolumeModel, GridVariables) { private: - using GG = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using GVV = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables); - using GFVC = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache); + using GG = GetPropType<TypeTag, Properties::FVGridGeometry>; + using GVV = GetPropType<TypeTag, Properties::GridVolumeVariables>; + using GFVC = GetPropType<TypeTag, Properties::GridFluxVariablesCache>; public: using type = FVGridVariables<GG, GVV, GFVC>; }; @@ -64,20 +64,20 @@ SET_BOOL_PROP(FiniteVolumeModel, EnableGridVolumeVariablesCache, false); SET_BOOL_PROP(FiniteVolumeModel, EnableGridFluxVariablesCache, false); //! Boundary types at a single degree of freedom -SET_TYPE_PROP(FiniteVolumeModel, BoundaryTypes, Dumux::BoundaryTypes<GET_PROP_TYPE(TypeTag, ModelTraits)::numEq()>); +SET_TYPE_PROP(FiniteVolumeModel, BoundaryTypes, Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>); // TODO: bundle SolutionVector, JacobianMatrix // in LinearAlgebra traits //! The type of a solution for the whole grid at a fixed time TODO: move to LinearAlgebra traits -SET_TYPE_PROP(FiniteVolumeModel, SolutionVector, Dune::BlockVector<typename GET_PROP_TYPE(TypeTag, PrimaryVariables)>); +SET_TYPE_PROP(FiniteVolumeModel, SolutionVector, Dune::BlockVector<GetPropType<TypeTag, Properties::PrimaryVariables>>); //! Set the type of a global jacobian matrix from the solution types TODO: move to LinearAlgebra traits SET_PROP(FiniteVolumeModel, JacobianMatrix) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - enum { numEq = GET_PROP_TYPE(TypeTag, ModelTraits)::numEq() }; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + enum { numEq = GetPropType<TypeTag, Properties::ModelTraits>::numEq() }; using MatrixBlock = typename Dune::FieldMatrix<Scalar, numEq, numEq>; public: using type = typename Dune::BCRSMatrix<MatrixBlock>; diff --git a/dumux/discretization/maxwellstefanslaw.hh b/dumux/discretization/maxwellstefanslaw.hh index 1d1a96315c..3c79e39884 100644 --- a/dumux/discretization/maxwellstefanslaw.hh +++ b/dumux/discretization/maxwellstefanslaw.hh @@ -39,7 +39,7 @@ class MaxwellStefansLawImplementation * \brief Evaluates the diffusive mass flux according to Maxwell Stafan's law */ template <class TypeTag> -using MaxwellStefansLaw = MaxwellStefansLawImplementation<TypeTag, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using MaxwellStefansLaw = MaxwellStefansLawImplementation<TypeTag, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; } // end namespace diff --git a/dumux/discretization/staggered/freeflow/fickslaw.hh b/dumux/discretization/staggered/freeflow/fickslaw.hh index a9ecaeafd1..b60a7941f0 100644 --- a/dumux/discretization/staggered/freeflow/fickslaw.hh +++ b/dumux/discretization/staggered/freeflow/fickslaw.hh @@ -47,16 +47,16 @@ class FicksLawImplementation; template <class TypeTag> class FicksLawImplementation<TypeTag, DiscretizationMethod::staggered > { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using GridView = typename FVGridGeometry::GridView; using Element = typename GridView::template Codim<0>::Entity; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static constexpr int numComponents = ModelTraits::numComponents(); using NumEqVector = Dune::FieldVector<Scalar, numComponents>; diff --git a/dumux/discretization/staggered/freeflow/fourierslaw.hh b/dumux/discretization/staggered/freeflow/fourierslaw.hh index 8a7cad1394..87190ee824 100644 --- a/dumux/discretization/staggered/freeflow/fourierslaw.hh +++ b/dumux/discretization/staggered/freeflow/fourierslaw.hh @@ -43,13 +43,13 @@ class FouriersLawImplementation; template <class TypeTag> class FouriersLawImplementation<TypeTag, DiscretizationMethod::staggered> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using Element = typename FVGridGeometry::GridView::template Codim<0>::Entity; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; public: // state the discretization method this implementation belongs to diff --git a/dumux/discretization/staggered/freeflow/maxwellstefanslaw.hh b/dumux/discretization/staggered/freeflow/maxwellstefanslaw.hh index 8c30ed5525..5e72a497fd 100644 --- a/dumux/discretization/staggered/freeflow/maxwellstefanslaw.hh +++ b/dumux/discretization/staggered/freeflow/maxwellstefanslaw.hh @@ -45,24 +45,24 @@ class MaxwellStefansLawImplementation; template <class TypeTag> class MaxwellStefansLawImplementation<TypeTag, DiscretizationMethod::staggered > { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using GridView = typename FVGridGeometry::GridView; using Element = typename GridView::template Codim<0>::Entity; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static const int dim = GridView::dimension; static const int dimWorld = GridView::dimensionworld; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; static const int numComponents = ModelTraits::numComponents(); static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); diff --git a/dumux/discretization/staggered/freeflow/properties.hh b/dumux/discretization/staggered/freeflow/properties.hh index 0f6cf6612b..2c5919bcf4 100644 --- a/dumux/discretization/staggered/freeflow/properties.hh +++ b/dumux/discretization/staggered/freeflow/properties.hh @@ -69,8 +69,8 @@ SET_INT_PROP(StaggeredFreeFlowModel, NumEqFace, 1); SET_PROP(StaggeredFreeFlowModel, NumEqCellCenter) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; static constexpr auto dim = GridView::dimension; static constexpr auto numEq = ModelTraits::numEq(); public: @@ -81,7 +81,7 @@ public: SET_PROP(StaggeredFreeFlowModel, FVGridGeometry) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Traits = StaggeredFreeFlowDefaultFVGridGeometryTraits<GridView>; static constexpr bool enableCache = GET_PROP_VALUE(TypeTag, EnableFVGridGeometryCache); public: @@ -92,8 +92,8 @@ public: SET_PROP(StaggeredFreeFlowModel, FaceVariables) { private: - using FacePrimaryVariables = typename GET_PROP_TYPE(TypeTag, FacePrimaryVariables); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using FacePrimaryVariables = GetPropType<TypeTag, Properties::FacePrimaryVariables>; + using GridView = GetPropType<TypeTag, Properties::GridView>; public: using type = StaggeredFaceVariables<FacePrimaryVariables, GridView::dimension>; }; @@ -102,8 +102,8 @@ public: SET_PROP(StaggeredFreeFlowModel, GridVolumeVariables) { private: - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); + using Problem = GetPropType<TypeTag, Properties::Problem>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; static constexpr auto enableCache = GET_PROP_VALUE(TypeTag, EnableGridVolumeVariablesCache); using Traits = StaggeredGridDefaultGridVolumeVariablesTraits<Problem, VolumeVariables>; public: @@ -114,13 +114,13 @@ public: //! Boundary types at a single degree of freedom SET_PROP(StaggeredFreeFlowModel, BoundaryTypes) { - using type = StaggeredFreeFlowBoundaryTypes<GET_PROP_TYPE(TypeTag, ModelTraits)::numEq()>; + using type = StaggeredFreeFlowBoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; }; //! The velocity output SET_TYPE_PROP(StaggeredFreeFlowModel, VelocityOutput, - StaggeredFreeFlowVelocityOutput<typename GET_PROP_TYPE(TypeTag, GridVariables), - typename GET_PROP_TYPE(TypeTag, SolutionVector)>); + StaggeredFreeFlowVelocityOutput<GetPropType<TypeTag, Properties::GridVariables>, + GetPropType<TypeTag, Properties::SolutionVector>>); } // namespace Properties } // namespace Dumux diff --git a/dumux/discretization/staggered/properties.hh b/dumux/discretization/staggered/properties.hh index 3b21837fcb..7105673387 100644 --- a/dumux/discretization/staggered/properties.hh +++ b/dumux/discretization/staggered/properties.hh @@ -65,8 +65,8 @@ struct StaggeredModel { using InheritsFrom = std::tuple<FiniteVolumeModel>; }; SET_PROP(StaggeredModel, GridFaceVariables) { private: - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FaceVariables = typename GET_PROP_TYPE(TypeTag, FaceVariables); + using Problem = GetPropType<TypeTag, Properties::Problem>; + using FaceVariables = GetPropType<TypeTag, Properties::FaceVariables>; static constexpr auto enableCache = GET_PROP_VALUE(TypeTag, EnableGridFaceVariablesCache); public: using type = StaggeredGridFaceVariables<Problem, FaceVariables, enableCache>; @@ -80,8 +80,8 @@ SET_PROP(StaggeredModel, GridFluxVariablesCache) { private: static constexpr auto enableCache = GET_PROP_VALUE(TypeTag, EnableGridFluxVariablesCache); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FluxVariablesCache = typename GET_PROP_TYPE(TypeTag, FluxVariablesCache); + using Problem = GetPropType<TypeTag, Properties::Problem>; + using FluxVariablesCache = GetPropType<TypeTag, Properties::FluxVariablesCache>; using FluxVariablesCacheFiller = FluxVariablesCaching::EmptyCacheFiller; public: using type = StaggeredGridFluxVariablesCache<Problem, FluxVariablesCache, FluxVariablesCacheFiller, enableCache>; @@ -91,7 +91,7 @@ public: SET_PROP(StaggeredModel, StaggeredFaceSolution) { private: - using FaceSolutionVector = typename GET_PROP_TYPE(TypeTag, FaceSolutionVector); + using FaceSolutionVector = GetPropType<TypeTag, Properties::FaceSolutionVector>; public: using type = Dumux::StaggeredFaceSolution<FaceSolutionVector>; }; @@ -100,10 +100,10 @@ public: SET_PROP(StaggeredModel, GridVariables) { private: - using GG = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using GVV = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables); - using GFVC = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache); - using GFV = typename GET_PROP_TYPE(TypeTag, GridFaceVariables); + using GG = GetPropType<TypeTag, Properties::FVGridGeometry>; + using GVV = GetPropType<TypeTag, Properties::GridVolumeVariables>; + using GFVC = GetPropType<TypeTag, Properties::GridFluxVariablesCache>; + using GFV = GetPropType<TypeTag, Properties::GridFaceVariables>; public: using type = StaggeredGridVariables<GG, GVV, GFVC, GFV>; }; @@ -117,17 +117,17 @@ SET_TYPE_PROP(StaggeredModel, BaseLocalResidual, StaggeredLocalResidual<TypeTag> //! The cell center primary variables SET_TYPE_PROP(StaggeredModel, CellCenterPrimaryVariables, - Dune::FieldVector<typename GET_PROP_TYPE(TypeTag, Scalar), + Dune::FieldVector<GetPropType<TypeTag, Properties::Scalar>, GET_PROP_VALUE(TypeTag, NumEqCellCenter)>); //! The face primary variables SET_TYPE_PROP(StaggeredModel, FacePrimaryVariables, - Dune::FieldVector<typename GET_PROP_TYPE(TypeTag, Scalar), + Dune::FieldVector<GetPropType<TypeTag, Properties::Scalar>, GET_PROP_VALUE(TypeTag, NumEqFace)>); //! Boundary types at a single degree of freedom -SET_TYPE_PROP(StaggeredModel, BoundaryTypes, Dumux::BoundaryTypes<GET_PROP_TYPE(TypeTag, ModelTraits)::numEq()>); +SET_TYPE_PROP(StaggeredModel, BoundaryTypes, Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>); // TODO: bundle SolutionVector, JacobianMatrix // in LinearAlgebra traits @@ -135,19 +135,19 @@ SET_TYPE_PROP(StaggeredModel, BoundaryTypes, Dumux::BoundaryTypes<GET_PROP_TYPE( //! The type of a solution for the whole grid at a fixed time TODO: move to LinearAlgebra traits SET_TYPE_PROP(StaggeredModel, CellCenterSolutionVector, - Dune::BlockVector<typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables)>); + Dune::BlockVector<GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>>); //! The type of a solution for the whole grid at a fixed time TODO: move to LinearAlgebra traits SET_TYPE_PROP(StaggeredModel, FaceSolutionVector, - Dune::BlockVector<typename GET_PROP_TYPE(TypeTag, FacePrimaryVariables)>); + Dune::BlockVector<GetPropType<TypeTag, Properties::FacePrimaryVariables>>); //! default property value for the solution vector only used for monolithic solver TODO: move to LinearAlgebra traits SET_PROP(StaggeredModel, SolutionVector) { private: - using CellCenterSolutionVector = typename GET_PROP_TYPE(TypeTag, CellCenterSolutionVector); - using FaceSolutionVector = typename GET_PROP_TYPE(TypeTag, FaceSolutionVector); + using CellCenterSolutionVector = GetPropType<TypeTag, Properties::CellCenterSolutionVector>; + using FaceSolutionVector = GetPropType<TypeTag, Properties::FaceSolutionVector>; public: using type = Dune::MultiTypeBlockVector<CellCenterSolutionVector, FaceSolutionVector>; }; @@ -156,7 +156,7 @@ public: SET_PROP(StaggeredModel, JacobianMatrix) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; static constexpr auto numEqCellCenter = GET_PROP_VALUE(TypeTag, NumEqCellCenter); static constexpr auto numEqFace = GET_PROP_VALUE(TypeTag, NumEqFace); diff --git a/dumux/freeflow/compositional/fluxvariables.hh b/dumux/freeflow/compositional/fluxvariables.hh index 89ea6aa830..3a974cdafd 100644 --- a/dumux/freeflow/compositional/fluxvariables.hh +++ b/dumux/freeflow/compositional/fluxvariables.hh @@ -43,7 +43,7 @@ class FreeflowNCFluxVariablesImpl; * \note Not all specializations are currently implemented */ template<class TypeTag> -using FreeflowNCFluxVariables = FreeflowNCFluxVariablesImpl<TypeTag, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using FreeflowNCFluxVariables = FreeflowNCFluxVariablesImpl<TypeTag, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; } // end namespace diff --git a/dumux/freeflow/compositional/kepsilonncmodel.hh b/dumux/freeflow/compositional/kepsilonncmodel.hh index c817bcc7b3..ca97fd4ba1 100644 --- a/dumux/freeflow/compositional/kepsilonncmodel.hh +++ b/dumux/freeflow/compositional/kepsilonncmodel.hh @@ -78,9 +78,9 @@ struct KEpsilonNCModelTraits : NavierStokesNCModelTraits<dimension, nComp, useMo SET_PROP(KEpsilonNC, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dimension = GridView::dimension; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static constexpr int numComponents = FluidSystem::numComponents; static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); static constexpr int replaceCompEqIdx = GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx); @@ -92,10 +92,10 @@ public: SET_PROP(KEpsilonNC, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid system"); static_assert(FST::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid state"); @@ -143,9 +143,9 @@ struct KEpsilonNCNI { using InheritsFrom = std::tuple<NavierStokesNCNI>; }; SET_PROP(KEpsilonNCNI, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dim = GridView::dimension; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static constexpr int numComponents = FluidSystem::numComponents; static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); static constexpr int replaceCompEqIdx = GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx); @@ -158,10 +158,10 @@ public: SET_PROP(KEpsilonNCNI, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid system"); static_assert(FST::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid state"); diff --git a/dumux/freeflow/compositional/komegancmodel.hh b/dumux/freeflow/compositional/komegancmodel.hh index c79338eb5c..36567eae9d 100644 --- a/dumux/freeflow/compositional/komegancmodel.hh +++ b/dumux/freeflow/compositional/komegancmodel.hh @@ -96,9 +96,9 @@ struct KOmegaNCModelTraits : NavierStokesNCModelTraits<dimension, nComp, useMole SET_PROP(KOmegaNC, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dimension = GridView::dimension; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static constexpr int numComponents = FluidSystem::numComponents; static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); static constexpr int replaceCompEqIdx = GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx); @@ -110,10 +110,10 @@ public: SET_PROP(KOmegaNC, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid system"); static_assert(FST::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid state"); @@ -161,9 +161,9 @@ struct KOmegaNCNI { using InheritsFrom = std::tuple<NavierStokesNCNI>; }; SET_PROP(KOmegaNCNI, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dim = GridView::dimension; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static constexpr int numComponents = FluidSystem::numComponents; static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); static constexpr int replaceCompEqIdx = GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx); @@ -176,10 +176,10 @@ public: SET_PROP(KOmegaNCNI, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid system"); static_assert(FST::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid state"); diff --git a/dumux/freeflow/compositional/localresidual.hh b/dumux/freeflow/compositional/localresidual.hh index 9079a3d4b2..6dae9689f0 100644 --- a/dumux/freeflow/compositional/localresidual.hh +++ b/dumux/freeflow/compositional/localresidual.hh @@ -44,7 +44,7 @@ class FreeflowNCResidualImpl; * \note Not all specializations are currently implemented */ template<class TypeTag> -using FreeflowNCResidual = FreeflowNCResidualImpl<TypeTag, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using FreeflowNCResidual = FreeflowNCResidualImpl<TypeTag, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; } diff --git a/dumux/freeflow/compositional/lowrekepsilonncmodel.hh b/dumux/freeflow/compositional/lowrekepsilonncmodel.hh index acf7817191..da182369ea 100644 --- a/dumux/freeflow/compositional/lowrekepsilonncmodel.hh +++ b/dumux/freeflow/compositional/lowrekepsilonncmodel.hh @@ -83,9 +83,9 @@ struct LowReKEpsilonNCModelTraits : NavierStokesNCModelTraits<dimension, nComp, SET_PROP(LowReKEpsilonNC, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dimension = GridView::dimension; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static constexpr int numComponents = FluidSystem::numComponents; static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); static constexpr int replaceCompEqIdx = GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx); @@ -97,10 +97,10 @@ public: SET_PROP(LowReKEpsilonNC, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid system"); static_assert(FST::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid state"); @@ -148,9 +148,9 @@ struct LowReKEpsilonNCNI { using InheritsFrom = std::tuple<NavierStokesNCNI>; }; SET_PROP(LowReKEpsilonNCNI, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dim = GridView::dimension; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static constexpr int numComponents = FluidSystem::numComponents; static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); static constexpr int replaceCompEqIdx = GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx); @@ -163,10 +163,10 @@ public: SET_PROP(LowReKEpsilonNCNI, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid system"); static_assert(FST::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid state"); diff --git a/dumux/freeflow/compositional/navierstokesncmodel.hh b/dumux/freeflow/compositional/navierstokesncmodel.hh index 119a31be75..ffa94a0ed2 100644 --- a/dumux/freeflow/compositional/navierstokesncmodel.hh +++ b/dumux/freeflow/compositional/navierstokesncmodel.hh @@ -130,9 +130,9 @@ struct NavierStokesNCNI { using InheritsFrom = std::tuple<NavierStokesNC>; }; SET_PROP(NavierStokesNC, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dim = GridView::dimension; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static constexpr int numComponents = FluidSystem::numComponents; static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); static constexpr int replaceCompEqIdx = GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx); @@ -152,10 +152,10 @@ SET_TYPE_PROP(NavierStokesNC, LocalResidual, FreeflowNCResidual<TypeTag>); SET_PROP(NavierStokesNC, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid system"); static_assert(FST::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid state"); @@ -185,8 +185,8 @@ SET_TYPE_PROP(NavierStokesNC, IOFields, FreeflowNCIOFields<NavierStokesIOFields> SET_PROP(NavierStokesNC, FluidState) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = CompositionalFluidState<Scalar, FluidSystem>; }; @@ -202,9 +202,9 @@ SET_TYPE_PROP(NavierStokesNC, MolecularDiffusionType, FicksLaw<TypeTag>); SET_PROP(NavierStokesNCNI, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dim = GridView::dimension; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static constexpr int numComponents = FluidSystem::numComponents; static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); static constexpr int replaceCompEqIdx = GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx); diff --git a/dumux/freeflow/compositional/oneeqncmodel.hh b/dumux/freeflow/compositional/oneeqncmodel.hh index 849ef1283e..3a0dd32a92 100644 --- a/dumux/freeflow/compositional/oneeqncmodel.hh +++ b/dumux/freeflow/compositional/oneeqncmodel.hh @@ -94,9 +94,9 @@ struct OneEqNCModelTraits : NavierStokesNCModelTraits<dimension, nComp, useMoles SET_PROP(OneEqNC, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dimension = GridView::dimension; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static constexpr int numComponents = FluidSystem::numComponents; static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); static constexpr int replaceCompEqIdx = GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx); @@ -108,10 +108,10 @@ public: SET_PROP(OneEqNC, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid system"); static_assert(FST::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid state"); @@ -159,9 +159,9 @@ struct OneEqNCNI { using InheritsFrom = std::tuple<NavierStokesNCNI>; }; SET_PROP(OneEqNCNI, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dim = GridView::dimension; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static constexpr int numComponents = FluidSystem::numComponents; static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); static constexpr int replaceCompEqIdx = GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx); @@ -174,10 +174,10 @@ public: SET_PROP(OneEqNCNI, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid system"); static_assert(FST::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid state"); diff --git a/dumux/freeflow/compositional/staggered/fluxvariables.hh b/dumux/freeflow/compositional/staggered/fluxvariables.hh index 9f88711b1d..62120ac8c0 100644 --- a/dumux/freeflow/compositional/staggered/fluxvariables.hh +++ b/dumux/freeflow/compositional/staggered/fluxvariables.hh @@ -46,19 +46,19 @@ class FreeflowNCFluxVariablesImpl<TypeTag, DiscretizationMethod::staggered> : public NavierStokesFluxVariables<TypeTag> { using ParentType = NavierStokesFluxVariables<TypeTag>; - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Problem = GetPropType<TypeTag, Properties::Problem>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using Element = typename FVGridGeometry::GridView::template Codim<0>::Entity; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; public: static constexpr auto numComponents = ModelTraits::numComponents(); static constexpr bool useMoles = ModelTraits::useMoles(); - using MolecularDiffusionType = typename GET_PROP_TYPE(TypeTag, MolecularDiffusionType); + using MolecularDiffusionType = GetPropType<TypeTag, Properties::MolecularDiffusionType>; /*! * \brief Computes the flux for the cell center residual. diff --git a/dumux/freeflow/compositional/staggered/localresidual.hh b/dumux/freeflow/compositional/staggered/localresidual.hh index e0f3764d2a..6f3dca7e42 100644 --- a/dumux/freeflow/compositional/staggered/localresidual.hh +++ b/dumux/freeflow/compositional/staggered/localresidual.hh @@ -44,15 +44,15 @@ class FreeflowNCResidualImpl<TypeTag, DiscretizationMethod::staggered> { using ParentType = NavierStokesResidual<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using GridView = typename FVGridGeometry::GridView; using Element = typename GridView::template Codim<0>::Entity; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; using CellCenterResidual = CellCenterPrimaryVariables; diff --git a/dumux/freeflow/compositional/zeroeqncmodel.hh b/dumux/freeflow/compositional/zeroeqncmodel.hh index 22f726a86f..632b16b903 100644 --- a/dumux/freeflow/compositional/zeroeqncmodel.hh +++ b/dumux/freeflow/compositional/zeroeqncmodel.hh @@ -71,9 +71,9 @@ struct ZeroEqNCModelTraits : NavierStokesNCModelTraits<dimension, nComp, useM, r SET_PROP(ZeroEqNC, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dim = GridView::dimension; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static constexpr int numComponents = FluidSystem::numComponents; static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); static constexpr int replaceCompEqIdx = GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx); @@ -85,10 +85,10 @@ public: SET_PROP(ZeroEqNC, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid system"); static_assert(FST::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid state"); @@ -118,9 +118,9 @@ struct ZeroEqNCNI { using InheritsFrom = std::tuple<NavierStokesNCNI>; }; SET_PROP(ZeroEqNCNI, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dim = GridView::dimension; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static constexpr int numComponents = FluidSystem::numComponents; static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); static constexpr int replaceCompEqIdx = GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx); @@ -133,10 +133,10 @@ public: SET_PROP(ZeroEqNCNI, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid system"); static_assert(FST::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid state"); diff --git a/dumux/freeflow/navierstokes/fluxvariables.hh b/dumux/freeflow/navierstokes/fluxvariables.hh index a746f5ef37..4b56d6c7da 100644 --- a/dumux/freeflow/navierstokes/fluxvariables.hh +++ b/dumux/freeflow/navierstokes/fluxvariables.hh @@ -43,7 +43,7 @@ class NavierStokesFluxVariablesImpl; * \note Not all specializations are currently implemented */ template<class TypeTag> -using NavierStokesFluxVariables = NavierStokesFluxVariablesImpl<TypeTag, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using NavierStokesFluxVariables = NavierStokesFluxVariablesImpl<TypeTag, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; } // end namespace diff --git a/dumux/freeflow/navierstokes/fluxvariablescache.hh b/dumux/freeflow/navierstokes/fluxvariablescache.hh index 5c0ff80807..cefa335c94 100644 --- a/dumux/freeflow/navierstokes/fluxvariablescache.hh +++ b/dumux/freeflow/navierstokes/fluxvariablescache.hh @@ -40,7 +40,7 @@ class FreeFlowFluxVariablesCacheImplementation * Store flux stencils and data required for flux calculation */ template<class TypeTag> -using FreeFlowFluxVariablesCache = FreeFlowFluxVariablesCacheImplementation<TypeTag, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using FreeFlowFluxVariablesCache = FreeFlowFluxVariablesCacheImplementation<TypeTag, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; /*! * \ingroup NavierStokesModel @@ -51,10 +51,10 @@ using FreeFlowFluxVariablesCache = FreeFlowFluxVariablesCacheImplementation<Type template<class TypeTag> class FreeFlowFluxVariablesCacheImplementation<TypeTag, DiscretizationMethod::staggered> { - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using Element = typename GridView::template Codim<0>::Entity; diff --git a/dumux/freeflow/navierstokes/localresidual.hh b/dumux/freeflow/navierstokes/localresidual.hh index 9a57a52610..78ae3014c6 100644 --- a/dumux/freeflow/navierstokes/localresidual.hh +++ b/dumux/freeflow/navierstokes/localresidual.hh @@ -43,7 +43,7 @@ class NavierStokesResidualImpl; * \note Not all specializations are currently implemented */ template<class TypeTag> -using NavierStokesResidual = NavierStokesResidualImpl<TypeTag, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using NavierStokesResidual = NavierStokesResidualImpl<TypeTag, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; } diff --git a/dumux/freeflow/navierstokes/model.hh b/dumux/freeflow/navierstokes/model.hh index 2585384d7a..84f443e186 100644 --- a/dumux/freeflow/navierstokes/model.hh +++ b/dumux/freeflow/navierstokes/model.hh @@ -154,7 +154,7 @@ SET_BOOL_PROP(NavierStokes, NormalizePressure, true); //!< Normalize the pressur SET_PROP(NavierStokes, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr auto dim = GridView::dimension; public: using type = NavierStokesModelTraits<dim>; @@ -168,8 +168,8 @@ public: */ SET_PROP(NavierStokes, FluidState){ private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = Dumux::ImmiscibleFluidState<Scalar, FluidSystem>; }; @@ -181,10 +181,10 @@ SET_TYPE_PROP(NavierStokes, LocalResidual, NavierStokesResidual<TypeTag>); SET_PROP(NavierStokes, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid system"); static_assert(FST::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid state"); @@ -212,7 +212,7 @@ SET_TYPE_PROP(NavierStokes, IOFields, NavierStokesIOFields); SET_PROP(NavierStokesNI, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr auto dim = GridView::dimension; using IsothermalTraits = NavierStokesModelTraits<dim>; public: diff --git a/dumux/freeflow/navierstokes/problem.hh b/dumux/freeflow/navierstokes/problem.hh index 3b1ae94068..aa3e6013e4 100644 --- a/dumux/freeflow/navierstokes/problem.hh +++ b/dumux/freeflow/navierstokes/problem.hh @@ -45,7 +45,7 @@ struct NavierStokesParentProblemImpl<TypeTag, DiscretizationMethod::staggered> template<class TypeTag> using NavierStokesParentProblem = typename NavierStokesParentProblemImpl<TypeTag, - GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>::type; + GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>::type; /*! * \ingroup NavierStokesModel @@ -59,24 +59,24 @@ template<class TypeTag> class NavierStokesProblem : public NavierStokesParentProblem<TypeTag> { using ParentType = NavierStokesParentProblem<TypeTag>; - using Implementation = typename GET_PROP_TYPE(TypeTag, Problem); + using Implementation = GetPropType<TypeTag, Properties::Problem>; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using GridView = typename FVGridGeometry::GridView; using Element = typename GridView::template Codim<0>::Entity; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using GridFaceVariables = typename GridVariables::GridFaceVariables; using ElementFaceVariables = typename GridFaceVariables::LocalView; using GridVolumeVariables = typename GridVariables::GridVolumeVariables; using ElementVolumeVariables = typename GridVolumeVariables::LocalView; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { dim = GridView::dimension, diff --git a/dumux/freeflow/navierstokes/staggered/fluxoversurface.hh b/dumux/freeflow/navierstokes/staggered/fluxoversurface.hh index bdcb150f67..8e6dd2f752 100644 --- a/dumux/freeflow/navierstokes/staggered/fluxoversurface.hh +++ b/dumux/freeflow/navierstokes/staggered/fluxoversurface.hh @@ -49,17 +49,17 @@ namespace Dumux { template <class TypeTag> class FluxOverSurface { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); - using LocalResidual = typename GET_PROP_TYPE(TypeTag, LocalResidual); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + using LocalResidual = GetPropType<TypeTag, Properties::LocalResidual>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using Element = typename GridView::template Codim<0>::Entity; enum { @@ -248,7 +248,7 @@ public: */ void calculateVolumeFluxes() { - const auto isCompositional = std::integral_constant<bool, (GET_PROP_TYPE(TypeTag, ModelTraits)::numComponents() > 1) >(); + const auto isCompositional = std::integral_constant<bool, (GetPropType<TypeTag, Properties::ModelTraits>::numComponents() > 1) >(); calculateVolumeFluxesImpl_(isCompositional); } @@ -375,7 +375,7 @@ private: const auto avgDensity = 0.5*density(insideVolVars) + 0.5*density(outsideVolVars); constexpr auto replaceCompEqIdx = GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx); - constexpr auto numComponents = GET_PROP_TYPE(TypeTag, ModelTraits)::numComponents(); + constexpr auto numComponents = GetPropType<TypeTag, Properties::ModelTraits>::numComponents(); const Scalar cumulativeFlux = [replaceCompEqIdx, numComponents, &massOrMoleFlux]() { diff --git a/dumux/freeflow/navierstokes/staggered/fluxvariables.hh b/dumux/freeflow/navierstokes/staggered/fluxvariables.hh index ee4fe2f860..96ef65b23c 100644 --- a/dumux/freeflow/navierstokes/staggered/fluxvariables.hh +++ b/dumux/freeflow/navierstokes/staggered/fluxvariables.hh @@ -43,12 +43,12 @@ class NavierStokesFluxVariablesImpl; */ template<class TypeTag> class NavierStokesFluxVariablesImpl<TypeTag, DiscretizationMethod::staggered> -: public FluxVariablesBase<typename GET_PROP_TYPE(TypeTag, Problem), - typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView, - typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView, - typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView> +: public FluxVariablesBase<GetPropType<TypeTag, Properties::Problem>, + typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView, + typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView, + typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView> { - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using GridVolumeVariables = typename GridVariables::GridVolumeVariables; using ElementVolumeVariables = typename GridVolumeVariables::LocalView; @@ -61,18 +61,18 @@ class NavierStokesFluxVariablesImpl<TypeTag, DiscretizationMethod::staggered> using ElementFaceVariables = typename GridFaceVariables::LocalView; using FaceVariables = typename GridFaceVariables::FaceVariables; - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Problem = GetPropType<TypeTag, Properties::Problem>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using GridView = typename FVGridGeometry::GridView; using Element = typename GridView::template Codim<0>::Entity; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using FacePrimaryVariables = typename GET_PROP_TYPE(TypeTag, FacePrimaryVariables); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using FacePrimaryVariables = GetPropType<TypeTag, Properties::FacePrimaryVariables>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; static constexpr bool normalizePressure = GET_PROP_VALUE(TypeTag, NormalizePressure); @@ -83,7 +83,7 @@ class NavierStokesFluxVariablesImpl<TypeTag, DiscretizationMethod::staggered> public: - using HeatConductionType = typename GET_PROP_TYPE(TypeTag, HeatConductionType); + using HeatConductionType = GetPropType<TypeTag, Properties::HeatConductionType>; /*! * \brief Returns the advective flux over a sub control volume face. diff --git a/dumux/freeflow/navierstokes/staggered/localresidual.hh b/dumux/freeflow/navierstokes/staggered/localresidual.hh index 6c85c278c2..fbcdebd518 100644 --- a/dumux/freeflow/navierstokes/staggered/localresidual.hh +++ b/dumux/freeflow/navierstokes/staggered/localresidual.hh @@ -48,7 +48,7 @@ class NavierStokesResidualImpl<TypeTag, DiscretizationMethod::staggered> using ParentType = StaggeredLocalResidual<TypeTag>; friend class StaggeredLocalResidual<TypeTag>; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using GridVolumeVariables = typename GridVariables::GridVolumeVariables; using ElementVolumeVariables = typename GridVolumeVariables::LocalView; @@ -60,24 +60,24 @@ class NavierStokesResidualImpl<TypeTag, DiscretizationMethod::staggered> using GridFaceVariables = typename GridVariables::GridFaceVariables; using ElementFaceVariables = typename GridFaceVariables::LocalView; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Implementation = typename GET_PROP_TYPE(TypeTag, LocalResidual); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Implementation = GetPropType<TypeTag, Properties::LocalResidual>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using GridView = typename FVGridGeometry::GridView; using Element = typename GridView::template Codim<0>::Entity; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using FacePrimaryVariables = typename GET_PROP_TYPE(TypeTag, FacePrimaryVariables); - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using FacePrimaryVariables = GetPropType<TypeTag, Properties::FacePrimaryVariables>; + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using CellCenterResidual = CellCenterPrimaryVariables; using FaceResidual = FacePrimaryVariables; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; static constexpr bool enableEnergyBalance = ModelTraits::enableEnergyBalance(); static constexpr bool isCompositional = ModelTraits::numComponents() > 1; diff --git a/dumux/freeflow/rans/model.hh b/dumux/freeflow/rans/model.hh index d0cacea383..dc01e61092 100644 --- a/dumux/freeflow/rans/model.hh +++ b/dumux/freeflow/rans/model.hh @@ -80,7 +80,7 @@ struct RANSModelTraits : NavierStokesModelTraits<dimension> SET_PROP(RANS, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dim = GridView::dimension; public: using type = RANSModelTraits<dim>; @@ -103,7 +103,7 @@ struct RANSNI { using InheritsFrom = std::tuple<RANS>; }; SET_PROP(RANSNI, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dim = GridView::dimension; using IsothermalTraits = RANSModelTraits<dim>; diff --git a/dumux/freeflow/rans/oneeq/fluxvariables.hh b/dumux/freeflow/rans/oneeq/fluxvariables.hh index 2a4c61232d..3378981317 100644 --- a/dumux/freeflow/rans/oneeq/fluxvariables.hh +++ b/dumux/freeflow/rans/oneeq/fluxvariables.hh @@ -43,7 +43,7 @@ class OneEqFluxVariablesImpl; * \note Not all specializations are currently implemented */ template<class TypeTag, class BaseFluxVariables> -using OneEqFluxVariables = OneEqFluxVariablesImpl<TypeTag, BaseFluxVariables, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using OneEqFluxVariables = OneEqFluxVariablesImpl<TypeTag, BaseFluxVariables, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; } // end namespace diff --git a/dumux/freeflow/rans/oneeq/localresidual.hh b/dumux/freeflow/rans/oneeq/localresidual.hh index 2baa569bf5..5da585ceea 100644 --- a/dumux/freeflow/rans/oneeq/localresidual.hh +++ b/dumux/freeflow/rans/oneeq/localresidual.hh @@ -44,7 +44,7 @@ class OneEqResidualImpl; * \note Not all specializations are currently implemented */ template<class TypeTag, class BaseLocalResidual> -using OneEqResidual = OneEqResidualImpl<TypeTag, BaseLocalResidual, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using OneEqResidual = OneEqResidualImpl<TypeTag, BaseLocalResidual, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; } diff --git a/dumux/freeflow/rans/oneeq/model.hh b/dumux/freeflow/rans/oneeq/model.hh index 81f647a037..0994e5ed58 100644 --- a/dumux/freeflow/rans/oneeq/model.hh +++ b/dumux/freeflow/rans/oneeq/model.hh @@ -129,7 +129,7 @@ struct OneEq { using InheritsFrom = std::tuple<RANS>; }; SET_PROP(OneEq, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dim = GridView::dimension; public: using type = OneEqModelTraits<dim>; @@ -157,10 +157,10 @@ public: SET_PROP(OneEq, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid system"); static_assert(FST::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid state"); @@ -189,7 +189,7 @@ struct OneEqNI { using InheritsFrom = std::tuple<RANSNI>; }; SET_PROP(OneEqNI, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dim = GridView::dimension; using IsothermalTraits = OneEqModelTraits<dim>; public: @@ -200,10 +200,10 @@ public: SET_PROP(OneEqNI, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid system"); static_assert(FST::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid state"); diff --git a/dumux/freeflow/rans/oneeq/problem.hh b/dumux/freeflow/rans/oneeq/problem.hh index a340e4dc71..ddee097d1e 100644 --- a/dumux/freeflow/rans/oneeq/problem.hh +++ b/dumux/freeflow/rans/oneeq/problem.hh @@ -46,22 +46,22 @@ template<class TypeTag> class OneEqProblem : public RANSProblem<TypeTag> { using ParentType = RANSProblem<TypeTag>; - using Implementation = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Implementation = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Grid = typename GridView::Grid; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using DimVector = Dune::FieldVector<Scalar, Grid::dimension>; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; public: //! The constructor sets the gravity, if desired by the user. diff --git a/dumux/freeflow/rans/oneeq/staggered/fluxvariables.hh b/dumux/freeflow/rans/oneeq/staggered/fluxvariables.hh index 4b15cb79ca..38bab2114e 100644 --- a/dumux/freeflow/rans/oneeq/staggered/fluxvariables.hh +++ b/dumux/freeflow/rans/oneeq/staggered/fluxvariables.hh @@ -49,7 +49,7 @@ class OneEqFluxVariablesImpl<TypeTag, BaseFluxVariables, DiscretizationMethod::s { using ParentType = BaseFluxVariables; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using GridVolumeVariables = typename GridVariables::GridVolumeVariables; using ElementVolumeVariables = typename GridVolumeVariables::LocalView; @@ -62,15 +62,15 @@ class OneEqFluxVariablesImpl<TypeTag, BaseFluxVariables, DiscretizationMethod::s using ElementFaceVariables = typename GridFaceVariables::LocalView; using FaceVariables = typename GridFaceVariables::FaceVariables; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Problem = GetPropType<TypeTag, Properties::Problem>; using Element = typename GridView::template Codim<0>::Entity; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; static constexpr int viscosityTildeEqIdx = Indices::viscosityTildeEqIdx - ModelTraits::dim(); diff --git a/dumux/freeflow/rans/oneeq/staggered/localresidual.hh b/dumux/freeflow/rans/oneeq/staggered/localresidual.hh index 68a4f98766..ee640947d4 100644 --- a/dumux/freeflow/rans/oneeq/staggered/localresidual.hh +++ b/dumux/freeflow/rans/oneeq/staggered/localresidual.hh @@ -46,7 +46,7 @@ class OneEqResidualImpl<TypeTag, BaseLocalResidual, DiscretizationMethod::stagge { using ParentType = BaseLocalResidual; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using GridVolumeVariables = typename GridVariables::GridVolumeVariables; using ElementVolumeVariables = typename GridVolumeVariables::LocalView; @@ -54,21 +54,21 @@ class OneEqResidualImpl<TypeTag, BaseLocalResidual, DiscretizationMethod::stagge using GridFluxVariablesCache = typename GridVariables::GridFluxVariablesCache; using ElementFluxVariablesCache = typename GridFluxVariablesCache::LocalView; - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; using GridFaceVariables = typename GridVariables::GridFaceVariables; using ElementFaceVariables = typename GridFaceVariables::LocalView; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; static constexpr int viscosityTildeEqIdx = Indices::viscosityTildeEqIdx - ModelTraits::dim(); diff --git a/dumux/freeflow/rans/problem.hh b/dumux/freeflow/rans/problem.hh index e27d149c5a..0c4fecf38e 100644 --- a/dumux/freeflow/rans/problem.hh +++ b/dumux/freeflow/rans/problem.hh @@ -48,21 +48,21 @@ template<class TypeTag> class RANSProblem : public NavierStokesProblem<TypeTag> { using ParentType = NavierStokesProblem<TypeTag>; - using Implementation = typename GET_PROP_TYPE(TypeTag, Problem); + using Implementation = GetPropType<TypeTag, Properties::Problem>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using GridView = typename FVGridGeometry::GridView; using Element = typename GridView::template Codim<0>::Entity; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; using PrimaryVariables = typename VolumeVariables::PrimaryVariables; - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using FacePrimaryVariables = typename GET_PROP_TYPE(TypeTag, FacePrimaryVariables); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using FacePrimaryVariables = GetPropType<TypeTag, Properties::FacePrimaryVariables>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using GlobalPosition = typename SubControlVolumeFace::GlobalPosition; diff --git a/dumux/freeflow/rans/twoeq/kepsilon/fluxvariables.hh b/dumux/freeflow/rans/twoeq/kepsilon/fluxvariables.hh index ec1000024c..0d18a71258 100644 --- a/dumux/freeflow/rans/twoeq/kepsilon/fluxvariables.hh +++ b/dumux/freeflow/rans/twoeq/kepsilon/fluxvariables.hh @@ -42,7 +42,7 @@ class KEpsilonFluxVariablesImpl; * \note Not all specializations are currently implemented */ template<class TypeTag, class BaseFluxVariables> -using KEpsilonFluxVariables = KEpsilonFluxVariablesImpl<TypeTag, BaseFluxVariables, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using KEpsilonFluxVariables = KEpsilonFluxVariablesImpl<TypeTag, BaseFluxVariables, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; } // end namespace diff --git a/dumux/freeflow/rans/twoeq/kepsilon/localresidual.hh b/dumux/freeflow/rans/twoeq/kepsilon/localresidual.hh index 19242c38ec..61cd665fd3 100644 --- a/dumux/freeflow/rans/twoeq/kepsilon/localresidual.hh +++ b/dumux/freeflow/rans/twoeq/kepsilon/localresidual.hh @@ -44,7 +44,7 @@ class KEpsilonResidualImpl; * \note Not all specializations are currently implemented */ template<class TypeTag, class BaseLocalResidual> -using KEpsilonResidual = KEpsilonResidualImpl<TypeTag, BaseLocalResidual, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using KEpsilonResidual = KEpsilonResidualImpl<TypeTag, BaseLocalResidual, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; } diff --git a/dumux/freeflow/rans/twoeq/kepsilon/model.hh b/dumux/freeflow/rans/twoeq/kepsilon/model.hh index 2a8a8cd72f..249d358869 100644 --- a/dumux/freeflow/rans/twoeq/kepsilon/model.hh +++ b/dumux/freeflow/rans/twoeq/kepsilon/model.hh @@ -115,7 +115,7 @@ struct KEpsilon { using InheritsFrom = std::tuple<RANS>; }; SET_PROP(KEpsilon, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dim = GridView::dimension; public: using type = KEpsilonModelTraits<dim>; @@ -143,10 +143,10 @@ public: SET_PROP(KEpsilon, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid system"); static_assert(FST::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid state"); @@ -175,7 +175,7 @@ struct KEpsilonNI { using InheritsFrom = std::tuple<RANSNI>; }; SET_PROP(KEpsilonNI, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dim = GridView::dimension; using IsothermalTraits = KEpsilonModelTraits<dim>; public: @@ -186,10 +186,10 @@ public: SET_PROP(KEpsilonNI, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid system"); static_assert(FST::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid state"); diff --git a/dumux/freeflow/rans/twoeq/kepsilon/problem.hh b/dumux/freeflow/rans/twoeq/kepsilon/problem.hh index 533d404b86..81490d87d6 100644 --- a/dumux/freeflow/rans/twoeq/kepsilon/problem.hh +++ b/dumux/freeflow/rans/twoeq/kepsilon/problem.hh @@ -46,30 +46,30 @@ template<class TypeTag> class KEpsilonProblem : public RANSProblem<TypeTag> { using ParentType = RANSProblem<TypeTag>; - using Implementation = typename GET_PROP_TYPE(TypeTag, Problem); + using Implementation = GetPropType<TypeTag, Properties::Problem>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using GridView = typename FVGridGeometry::GridView; using Element = typename GridView::template Codim<0>::Entity; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using GridFaceVariables = typename GridVariables::GridFaceVariables; using ElementFaceVariables = typename GridFaceVariables::LocalView; using GridVolumeVariables = typename GridVariables::GridVolumeVariables; using ElementVolumeVariables = typename GridVolumeVariables::LocalView; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using FacePrimaryVariables = typename GET_PROP_TYPE(TypeTag, FacePrimaryVariables); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using FacePrimaryVariables = GetPropType<TypeTag, Properties::FacePrimaryVariables>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; static constexpr bool enableEnergyBalance = ModelTraits::enableEnergyBalance(); diff --git a/dumux/freeflow/rans/twoeq/kepsilon/staggered/fluxvariables.hh b/dumux/freeflow/rans/twoeq/kepsilon/staggered/fluxvariables.hh index d90b75f067..1f1bdb4b34 100644 --- a/dumux/freeflow/rans/twoeq/kepsilon/staggered/fluxvariables.hh +++ b/dumux/freeflow/rans/twoeq/kepsilon/staggered/fluxvariables.hh @@ -48,7 +48,7 @@ class KEpsilonFluxVariablesImpl<TypeTag, BaseFluxVariables, DiscretizationMethod { using ParentType = BaseFluxVariables; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using GridVolumeVariables = typename GridVariables::GridVolumeVariables; using ElementVolumeVariables = typename GridVolumeVariables::LocalView; @@ -61,16 +61,16 @@ class KEpsilonFluxVariablesImpl<TypeTag, BaseFluxVariables, DiscretizationMethod using ElementFaceVariables = typename GridFaceVariables::LocalView; using FaceVariables = typename GridFaceVariables::FaceVariables; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Problem = GetPropType<TypeTag, Properties::Problem>; using Element = typename GridView::template Codim<0>::Entity; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using FacePrimaryVariables = typename GET_PROP_TYPE(TypeTag, FacePrimaryVariables); + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using FacePrimaryVariables = GetPropType<TypeTag, Properties::FacePrimaryVariables>; static constexpr int turbulentKineticEnergyEqIdx = Indices::turbulentKineticEnergyEqIdx - ModelTraits::dim(); static constexpr int dissipationEqIdx = Indices::dissipationEqIdx - ModelTraits::dim(); diff --git a/dumux/freeflow/rans/twoeq/kepsilon/staggered/localresidual.hh b/dumux/freeflow/rans/twoeq/kepsilon/staggered/localresidual.hh index 427d3ac2ff..3a0a4ad3e1 100644 --- a/dumux/freeflow/rans/twoeq/kepsilon/staggered/localresidual.hh +++ b/dumux/freeflow/rans/twoeq/kepsilon/staggered/localresidual.hh @@ -46,7 +46,7 @@ class KEpsilonResidualImpl<TypeTag, BaseLocalResidual, DiscretizationMethod::sta using ParentType = BaseLocalResidual; friend class StaggeredLocalResidual<TypeTag>; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using GridVolumeVariables = typename GridVariables::GridVolumeVariables; using ElementVolumeVariables = typename GridVolumeVariables::LocalView; @@ -54,21 +54,21 @@ class KEpsilonResidualImpl<TypeTag, BaseLocalResidual, DiscretizationMethod::sta using GridFluxVariablesCache = typename GridVariables::GridFluxVariablesCache; using ElementFluxVariablesCache = typename GridFluxVariablesCache::LocalView; - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; using GridFaceVariables = typename GridVariables::GridFaceVariables; using ElementFaceVariables = typename GridFaceVariables::LocalView; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using CellCenterResidual = CellCenterPrimaryVariables; diff --git a/dumux/freeflow/rans/twoeq/komega/fluxvariables.hh b/dumux/freeflow/rans/twoeq/komega/fluxvariables.hh index 1200903307..24cd0e54ff 100644 --- a/dumux/freeflow/rans/twoeq/komega/fluxvariables.hh +++ b/dumux/freeflow/rans/twoeq/komega/fluxvariables.hh @@ -42,7 +42,7 @@ class KOmegaFluxVariablesImpl; * \note Not all specializations are currently implemented */ template<class TypeTag, class BaseFluxVariables> -using KOmegaFluxVariables = KOmegaFluxVariablesImpl<TypeTag, BaseFluxVariables, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using KOmegaFluxVariables = KOmegaFluxVariablesImpl<TypeTag, BaseFluxVariables, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; } // end namespace diff --git a/dumux/freeflow/rans/twoeq/komega/localresidual.hh b/dumux/freeflow/rans/twoeq/komega/localresidual.hh index ea9de50ff0..f1ebc7fa38 100644 --- a/dumux/freeflow/rans/twoeq/komega/localresidual.hh +++ b/dumux/freeflow/rans/twoeq/komega/localresidual.hh @@ -44,7 +44,7 @@ class KOmegaResidualImpl; * \note Not all specializations are currently implemented */ template<class TypeTag, class BaseLocalResidual> -using KOmegaResidual = KOmegaResidualImpl<TypeTag, BaseLocalResidual, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using KOmegaResidual = KOmegaResidualImpl<TypeTag, BaseLocalResidual, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; } diff --git a/dumux/freeflow/rans/twoeq/komega/model.hh b/dumux/freeflow/rans/twoeq/komega/model.hh index 44c78651b6..56606cd597 100644 --- a/dumux/freeflow/rans/twoeq/komega/model.hh +++ b/dumux/freeflow/rans/twoeq/komega/model.hh @@ -122,7 +122,7 @@ struct KOmega { using InheritsFrom = std::tuple<RANS>; }; SET_PROP(KOmega, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dim = GridView::dimension; public: using type = KOmegaModelTraits<dim>; @@ -150,10 +150,10 @@ public: SET_PROP(KOmega, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid system"); static_assert(FST::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid state"); @@ -183,7 +183,7 @@ struct KOmegaNI { using InheritsFrom = std::tuple<RANSNI>; }; SET_PROP(KOmegaNI, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dim = GridView::dimension; using IsothermalTraits = KOmegaModelTraits<dim>; public: @@ -194,10 +194,10 @@ public: SET_PROP(KOmegaNI, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid system"); static_assert(FST::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid state"); diff --git a/dumux/freeflow/rans/twoeq/komega/problem.hh b/dumux/freeflow/rans/twoeq/komega/problem.hh index 77eb243446..5caaa4fb5f 100644 --- a/dumux/freeflow/rans/twoeq/komega/problem.hh +++ b/dumux/freeflow/rans/twoeq/komega/problem.hh @@ -46,18 +46,18 @@ template<class TypeTag> class KOmegaProblem : public RANSProblem<TypeTag> { using ParentType = RANSProblem<TypeTag>; - using Implementation = typename GET_PROP_TYPE(TypeTag, Problem); + using Implementation = GetPropType<TypeTag, Properties::Problem>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using Element = typename FVGridGeometry::GridView::template Codim<0>::Entity; using DimVector = typename Element::Geometry::GlobalCoordinate; diff --git a/dumux/freeflow/rans/twoeq/komega/staggered/fluxvariables.hh b/dumux/freeflow/rans/twoeq/komega/staggered/fluxvariables.hh index cd72b68be4..235d6502b5 100644 --- a/dumux/freeflow/rans/twoeq/komega/staggered/fluxvariables.hh +++ b/dumux/freeflow/rans/twoeq/komega/staggered/fluxvariables.hh @@ -48,7 +48,7 @@ class KOmegaFluxVariablesImpl<TypeTag, BaseFluxVariables, DiscretizationMethod:: { using ParentType = BaseFluxVariables; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using GridVolumeVariables = typename GridVariables::GridVolumeVariables; using ElementVolumeVariables = typename GridVolumeVariables::LocalView; @@ -61,16 +61,16 @@ class KOmegaFluxVariablesImpl<TypeTag, BaseFluxVariables, DiscretizationMethod:: using ElementFaceVariables = typename GridFaceVariables::LocalView; using FaceVariables = typename GridFaceVariables::FaceVariables; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Problem = GetPropType<TypeTag, Properties::Problem>; using Element = typename GridView::template Codim<0>::Entity; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using FacePrimaryVariables = typename GET_PROP_TYPE(TypeTag, FacePrimaryVariables); + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using FacePrimaryVariables = GetPropType<TypeTag, Properties::FacePrimaryVariables>; static constexpr int turbulentKineticEnergyEqIdx = Indices::turbulentKineticEnergyEqIdx - ModelTraits::dim(); static constexpr int dissipationEqIdx = Indices::dissipationEqIdx - ModelTraits::dim(); diff --git a/dumux/freeflow/rans/twoeq/komega/staggered/localresidual.hh b/dumux/freeflow/rans/twoeq/komega/staggered/localresidual.hh index 8bf78bbf81..ad1c81f912 100644 --- a/dumux/freeflow/rans/twoeq/komega/staggered/localresidual.hh +++ b/dumux/freeflow/rans/twoeq/komega/staggered/localresidual.hh @@ -45,7 +45,7 @@ class KOmegaResidualImpl<TypeTag, BaseLocalResidual, DiscretizationMethod::stagg { using ParentType = BaseLocalResidual; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using GridVolumeVariables = typename GridVariables::GridVolumeVariables; using ElementVolumeVariables = typename GridVolumeVariables::LocalView; @@ -53,22 +53,22 @@ class KOmegaResidualImpl<TypeTag, BaseLocalResidual, DiscretizationMethod::stagg using GridFluxVariablesCache = typename GridVariables::GridFluxVariablesCache; using ElementFluxVariablesCache = typename GridFluxVariablesCache::LocalView; - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; using GridFaceVariables = typename GridVariables::GridFaceVariables; using ElementFaceVariables = typename GridFaceVariables::LocalView; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; using CellCenterResidual = CellCenterPrimaryVariables; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; static constexpr int turbulentKineticEnergyEqIdx = Indices::turbulentKineticEnergyEqIdx - ModelTraits::dim(); static constexpr int dissipationEqIdx = Indices::dissipationEqIdx - ModelTraits::dim(); diff --git a/dumux/freeflow/rans/twoeq/lowrekepsilon/fluxvariables.hh b/dumux/freeflow/rans/twoeq/lowrekepsilon/fluxvariables.hh index f70ac71a1d..86a3d9f724 100644 --- a/dumux/freeflow/rans/twoeq/lowrekepsilon/fluxvariables.hh +++ b/dumux/freeflow/rans/twoeq/lowrekepsilon/fluxvariables.hh @@ -42,7 +42,7 @@ class LowReKEpsilonFluxVariablesImpl; * \note Not all specializations are currently implemented */ template<class TypeTag, class BaseFluxVariables> -using LowReKEpsilonFluxVariables = LowReKEpsilonFluxVariablesImpl<TypeTag, BaseFluxVariables, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using LowReKEpsilonFluxVariables = LowReKEpsilonFluxVariablesImpl<TypeTag, BaseFluxVariables, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; } // end namespace diff --git a/dumux/freeflow/rans/twoeq/lowrekepsilon/localresidual.hh b/dumux/freeflow/rans/twoeq/lowrekepsilon/localresidual.hh index 0d2b22cb30..8b56655f17 100644 --- a/dumux/freeflow/rans/twoeq/lowrekepsilon/localresidual.hh +++ b/dumux/freeflow/rans/twoeq/lowrekepsilon/localresidual.hh @@ -44,7 +44,7 @@ class LowReKEpsilonResidualImpl; * \note Not all specializations are currently implemented */ template<class TypeTag, class BaseLocalResidual> -using LowReKEpsilonResidual = LowReKEpsilonResidualImpl<TypeTag, BaseLocalResidual, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using LowReKEpsilonResidual = LowReKEpsilonResidualImpl<TypeTag, BaseLocalResidual, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; } diff --git a/dumux/freeflow/rans/twoeq/lowrekepsilon/model.hh b/dumux/freeflow/rans/twoeq/lowrekepsilon/model.hh index 49cdc46e5e..bdafe04879 100644 --- a/dumux/freeflow/rans/twoeq/lowrekepsilon/model.hh +++ b/dumux/freeflow/rans/twoeq/lowrekepsilon/model.hh @@ -131,7 +131,7 @@ struct LowReKEpsilon { using InheritsFrom = std::tuple<RANS>; }; SET_PROP(LowReKEpsilon, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dim = GridView::dimension; public: using type = LowReKEpsilonModelTraits<dim>; @@ -159,10 +159,10 @@ public: SET_PROP(LowReKEpsilon, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid system"); static_assert(FST::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid state"); @@ -191,7 +191,7 @@ struct LowReKEpsilonNI { using InheritsFrom = std::tuple<RANSNI>; }; SET_PROP(LowReKEpsilonNI, ModelTraits) { private: - using GridView = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::GridView; + using GridView = typename GetPropType<TypeTag, Properties::FVGridGeometry>::GridView; static constexpr int dim = GridView::dimension; using IsothermalTraits = LowReKEpsilonModelTraits<dim>; public: @@ -202,10 +202,10 @@ public: SET_PROP(LowReKEpsilonNI, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid system"); static_assert(FST::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid state"); diff --git a/dumux/freeflow/rans/twoeq/lowrekepsilon/problem.hh b/dumux/freeflow/rans/twoeq/lowrekepsilon/problem.hh index 746d4b8c18..d2065519f3 100644 --- a/dumux/freeflow/rans/twoeq/lowrekepsilon/problem.hh +++ b/dumux/freeflow/rans/twoeq/lowrekepsilon/problem.hh @@ -46,18 +46,18 @@ template<class TypeTag> class LowReKEpsilonProblem : public RANSProblem<TypeTag> { using ParentType = RANSProblem<TypeTag>; - using Implementation = typename GET_PROP_TYPE(TypeTag, Problem); + using Implementation = GetPropType<TypeTag, Properties::Problem>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; public: //! The constructor sets the gravity, if desired by the user. diff --git a/dumux/freeflow/rans/twoeq/lowrekepsilon/staggered/fluxvariables.hh b/dumux/freeflow/rans/twoeq/lowrekepsilon/staggered/fluxvariables.hh index 8c741d8544..6037562952 100644 --- a/dumux/freeflow/rans/twoeq/lowrekepsilon/staggered/fluxvariables.hh +++ b/dumux/freeflow/rans/twoeq/lowrekepsilon/staggered/fluxvariables.hh @@ -48,7 +48,7 @@ class LowReKEpsilonFluxVariablesImpl<TypeTag, BaseFluxVariables, DiscretizationM { using ParentType = BaseFluxVariables; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using GridVolumeVariables = typename GridVariables::GridVolumeVariables; using ElementVolumeVariables = typename GridVolumeVariables::LocalView; @@ -61,16 +61,16 @@ class LowReKEpsilonFluxVariablesImpl<TypeTag, BaseFluxVariables, DiscretizationM using ElementFaceVariables = typename GridFaceVariables::LocalView; using FaceVariables = typename GridFaceVariables::FaceVariables; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Problem = GetPropType<TypeTag, Properties::Problem>; using Element = typename GridView::template Codim<0>::Entity; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using FacePrimaryVariables = typename GET_PROP_TYPE(TypeTag, FacePrimaryVariables); + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using FacePrimaryVariables = GetPropType<TypeTag, Properties::FacePrimaryVariables>; static constexpr int turbulentKineticEnergyEqIdx = Indices::turbulentKineticEnergyEqIdx - ModelTraits::dim(); static constexpr int dissipationEqIdx = Indices::dissipationEqIdx - ModelTraits::dim(); diff --git a/dumux/freeflow/rans/twoeq/lowrekepsilon/staggered/localresidual.hh b/dumux/freeflow/rans/twoeq/lowrekepsilon/staggered/localresidual.hh index 6d1515f816..5f6ecaeff6 100644 --- a/dumux/freeflow/rans/twoeq/lowrekepsilon/staggered/localresidual.hh +++ b/dumux/freeflow/rans/twoeq/lowrekepsilon/staggered/localresidual.hh @@ -45,7 +45,7 @@ class LowReKEpsilonResidualImpl<TypeTag, BaseLocalResidual, DiscretizationMethod { using ParentType = BaseLocalResidual; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using GridVolumeVariables = typename GridVariables::GridVolumeVariables; using ElementVolumeVariables = typename GridVolumeVariables::LocalView; @@ -53,21 +53,21 @@ class LowReKEpsilonResidualImpl<TypeTag, BaseLocalResidual, DiscretizationMethod using GridFluxVariablesCache = typename GridVariables::GridFluxVariablesCache; using ElementFluxVariablesCache = typename GridFluxVariablesCache::LocalView; - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; using GridFaceVariables = typename GridVariables::GridFaceVariables; using ElementFaceVariables = typename GridFaceVariables::LocalView; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; static constexpr int turbulentKineticEnergyEqIdx = Indices::turbulentKineticEnergyEqIdx - ModelTraits::dim(); static constexpr int dissipationEqIdx = Indices::dissipationEqIdx - ModelTraits::dim(); diff --git a/dumux/freeflow/rans/zeroeq/model.hh b/dumux/freeflow/rans/zeroeq/model.hh index 4b59c829b6..f8b131f4a4 100644 --- a/dumux/freeflow/rans/zeroeq/model.hh +++ b/dumux/freeflow/rans/zeroeq/model.hh @@ -60,10 +60,10 @@ struct ZeroEq { using InheritsFrom = std::tuple<RANS>; }; SET_PROP(ZeroEq, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid system"); static_assert(FST::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid state"); @@ -89,10 +89,10 @@ struct ZeroEqNI { using InheritsFrom = std::tuple<RANSNI>; }; SET_PROP(ZeroEqNI, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; static_assert(FSY::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid system"); static_assert(FST::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid state"); diff --git a/dumux/freeflow/rans/zeroeq/problem.hh b/dumux/freeflow/rans/zeroeq/problem.hh index d30d66f8fd..cd8c0e81e9 100644 --- a/dumux/freeflow/rans/zeroeq/problem.hh +++ b/dumux/freeflow/rans/zeroeq/problem.hh @@ -48,20 +48,20 @@ template<class TypeTag> class ZeroEqProblem : public RANSProblem<TypeTag> { using ParentType = RANSProblem<TypeTag>; - using Implementation = typename GET_PROP_TYPE(TypeTag, Problem); + using Implementation = GetPropType<TypeTag, Properties::Problem>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Grid = typename GridView::Grid; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { dim = Grid::dimension, diff --git a/dumux/geomechanics/elastic/localresidual.hh b/dumux/geomechanics/elastic/localresidual.hh index a4351fe553..a0dade29ac 100644 --- a/dumux/geomechanics/elastic/localresidual.hh +++ b/dumux/geomechanics/elastic/localresidual.hh @@ -39,25 +39,25 @@ namespace Dumux { * using the elastic model considering linear elasticity. */ template<class TypeTag> -class ElasticLocalResidual : public GET_PROP_TYPE(TypeTag, BaseLocalResidual) +class ElasticLocalResidual : public GetPropType<TypeTag, Properties::BaseLocalResidual> { - using ParentType = typename GET_PROP_TYPE(TypeTag, BaseLocalResidual); + using ParentType = GetPropType<TypeTag, Properties::BaseLocalResidual>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using VolumeVariables = typename ElementVolumeVariables::VolumeVariables; // class assembling the stress tensor - using StressType = typename GET_PROP_TYPE(TypeTag, StressType); + using StressType = GetPropType<TypeTag, Properties::StressType>; public: using ParentType::ParentType; diff --git a/dumux/geomechanics/elastic/model.hh b/dumux/geomechanics/elastic/model.hh index e01093ee07..8ee3d65733 100644 --- a/dumux/geomechanics/elastic/model.hh +++ b/dumux/geomechanics/elastic/model.hh @@ -95,27 +95,27 @@ struct Elastic { using InheritsFrom = std::tuple<Geomechanics>; }; SET_TYPE_PROP(Elastic, LocalResidual, ElasticLocalResidual<TypeTag>); //! The model traits of the elastic model -SET_TYPE_PROP(Elastic, ModelTraits, ElasticModelTraits< GET_PROP_TYPE(TypeTag, GridView)::dimension, - GET_PROP_TYPE(TypeTag, SolidSystem)::numComponents >); +SET_TYPE_PROP(Elastic, ModelTraits, ElasticModelTraits< GetPropType<TypeTag, Properties::GridView>::dimension, + GetPropType<TypeTag, Properties::SolidSystem>::numComponents >); //! Set the volume variables property SET_PROP(Elastic, VolumeVariables) { private: - static constexpr int dim = GET_PROP_TYPE(TypeTag, GridView)::dimension; - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); + static constexpr int dim = GetPropType<TypeTag, Properties::GridView>::dimension; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; using DV = Dune::FieldVector<typename PV::value_type, dim>; - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; using Traits = ElasticVolumeVariablesTraits<PV, DV, MT, SST, SSY>; public: using type = ElasticVolumeVariables<Traits>; }; //! By default, we use hooke's law for stress evaluations -SET_TYPE_PROP(Elastic, StressType, HookesLaw< typename GET_PROP_TYPE(TypeTag, Scalar), - typename GET_PROP_TYPE(TypeTag, FVGridGeometry) >); +SET_TYPE_PROP(Elastic, StressType, HookesLaw< GetPropType<TypeTag, Properties::Scalar>, + GetPropType<TypeTag, Properties::FVGridGeometry> >); } // namespace Properties } // namespace Dumux diff --git a/dumux/geomechanics/fvproblem.hh b/dumux/geomechanics/fvproblem.hh index ef3568886e..026f3c780f 100644 --- a/dumux/geomechanics/fvproblem.hh +++ b/dumux/geomechanics/fvproblem.hh @@ -67,15 +67,15 @@ class GeomechanicsFVProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVGridGeometry::SubControlVolume; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - static constexpr int numFP = GET_PROP_TYPE(TypeTag, ModelTraits)::numFluidPhases(); + static constexpr int numFP = GetPropType<TypeTag, Properties::ModelTraits>::numFluidPhases(); public: //! pull up the constructor of the parent class diff --git a/dumux/geomechanics/poroelastic/couplingmanager.hh b/dumux/geomechanics/poroelastic/couplingmanager.hh index 17164d3a43..39d30752f5 100644 --- a/dumux/geomechanics/poroelastic/couplingmanager.hh +++ b/dumux/geomechanics/poroelastic/couplingmanager.hh @@ -61,10 +61,10 @@ class PoroMechanicsCouplingManager : public virtual CouplingManager< MDTraits > template<std::size_t id> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<id>; // further types specific to the sub-problems - template<std::size_t id> using Scalar = typename GET_PROP_TYPE(SubDomainTypeTag<id>, Scalar); - template<std::size_t id> using Problem = typename GET_PROP_TYPE(SubDomainTypeTag<id>, Problem); - template<std::size_t id> using LocalResidual = typename GET_PROP_TYPE(SubDomainTypeTag<id>, LocalResidual); - template<std::size_t id> using GridVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridVariables); + template<std::size_t id> using Scalar = GetPropType<SubDomainTypeTag<id>, Properties::Scalar>; + template<std::size_t id> using Problem = GetPropType<SubDomainTypeTag<id>, Properties::Problem>; + template<std::size_t id> using LocalResidual = GetPropType<SubDomainTypeTag<id>, Properties::LocalResidual>; + template<std::size_t id> using GridVariables = GetPropType<SubDomainTypeTag<id>, Properties::GridVariables>; template<std::size_t id> using PrimaryVariables = typename GridVariables<id>::PrimaryVariables; template<std::size_t id> using GridVolumeVariables = typename GridVariables<id>::GridVolumeVariables; template<std::size_t id> using ElementVolumeVariables = typename GridVolumeVariables<id>::LocalView; diff --git a/dumux/geomechanics/poroelastic/localresidual.hh b/dumux/geomechanics/poroelastic/localresidual.hh index 003b119eb2..970b88804e 100644 --- a/dumux/geomechanics/poroelastic/localresidual.hh +++ b/dumux/geomechanics/poroelastic/localresidual.hh @@ -42,21 +42,21 @@ class PoroElasticLocalResidual: public ElasticLocalResidual<TypeTag> { using ParentType = ElasticLocalResidual<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using VolumeVariables = typename ElementVolumeVariables::VolumeVariables; // class assembling the stress tensor - using StressType = typename GET_PROP_TYPE(TypeTag, StressType); + using StressType = GetPropType<TypeTag, Properties::StressType>; public: using ParentType::ParentType; diff --git a/dumux/geomechanics/poroelastic/model.hh b/dumux/geomechanics/poroelastic/model.hh index 08060be544..00e193b812 100644 --- a/dumux/geomechanics/poroelastic/model.hh +++ b/dumux/geomechanics/poroelastic/model.hh @@ -82,10 +82,10 @@ SET_TYPE_PROP(PoroElastic, IOFields, PoroElasticIOFields); SET_PROP(PoroElastic, ModelTraits) { private: - static constexpr int dim = GET_PROP_TYPE(TypeTag, GridView)::dimension; - static constexpr int numSC = GET_PROP_TYPE(TypeTag, SolidSystem)::numComponents; - static constexpr int numFP = GET_PROP_TYPE(TypeTag, FluidSystem)::numPhases; - static constexpr int numFC = GET_PROP_TYPE(TypeTag, FluidSystem)::numComponents; + static constexpr int dim = GetPropType<TypeTag, Properties::GridView>::dimension; + static constexpr int numSC = GetPropType<TypeTag, Properties::SolidSystem>::numComponents; + static constexpr int numFP = GetPropType<TypeTag, Properties::FluidSystem>::numPhases; + static constexpr int numFC = GetPropType<TypeTag, Properties::FluidSystem>::numComponents; public: using type = PoroElasticModelTraits<dim, numSC, numFP, numFC>; @@ -95,12 +95,12 @@ public: SET_PROP(PoroElastic, VolumeVariables) { private: - static constexpr int dim = GET_PROP_TYPE(TypeTag, GridView)::dimension; - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); + static constexpr int dim = GetPropType<TypeTag, Properties::GridView>::dimension; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; using DV = Dune::FieldVector<typename PV::value_type, dim>; - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; // we reuse the elastic volume variable traits here using Traits = ElasticVolumeVariablesTraits<PV, DV, MT, SST, SSY>; @@ -112,8 +112,8 @@ public: SET_PROP(PoroElastic, StressType) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using ElasticStressType = HookesLaw< Scalar, FVGridGeometry >; public: using type = EffectiveStressLaw< ElasticStressType, FVGridGeometry >; diff --git a/dumux/geomechanics/properties.hh b/dumux/geomechanics/properties.hh index 9b949b9265..1deb0f4cd7 100644 --- a/dumux/geomechanics/properties.hh +++ b/dumux/geomechanics/properties.hh @@ -46,18 +46,18 @@ struct Geomechanics { using InheritsFrom = std::tuple<ModelProperties>; }; } // end namespace TTag //! The flux variables cache class for models involving flow in porous media -SET_TYPE_PROP(Geomechanics, FluxVariablesCache, StressVariablesCache< typename GET_PROP_TYPE(TypeTag, Scalar), - typename GET_PROP_TYPE(TypeTag, FVGridGeometry) >); +SET_TYPE_PROP(Geomechanics, FluxVariablesCache, StressVariablesCache< GetPropType<TypeTag, Properties::Scalar>, + GetPropType<TypeTag, Properties::FVGridGeometry> >); //! The (currently empty) velocity output -SET_TYPE_PROP(Geomechanics, VelocityOutput, GeomechanicsVelocityOutput<typename GET_PROP_TYPE(TypeTag, GridVariables)>); +SET_TYPE_PROP(Geomechanics, VelocityOutput, GeomechanicsVelocityOutput<GetPropType<TypeTag, Properties::GridVariables>>); //! The solid state must be inert SET_PROP(Geomechanics, SolidState) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using SolidSystem = typename GET_PROP_TYPE(TypeTag, SolidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using SolidSystem = GetPropType<TypeTag, Properties::SolidSystem>; public: using type = InertSolidState<Scalar, SolidSystem>; }; @@ -66,7 +66,7 @@ public: SET_PROP(Geomechanics, SolidSystem) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using InertComponent = Components::Constant<1, Scalar>; public: using type = SolidSystems::InertSolidPhase<Scalar, InertComponent>; diff --git a/dumux/linear/amgbackend.hh b/dumux/linear/amgbackend.hh index 6e757bd957..f13b092875 100644 --- a/dumux/linear/amgbackend.hh +++ b/dumux/linear/amgbackend.hh @@ -223,9 +223,9 @@ namespace Dumux { * \note This is an adaptor using a TypeTag */ template<class TypeTag> -using AMGBackend = ParallelAMGBackend<typename GET_PROP_TYPE(TypeTag, GridView), AmgTraits<typename GET_PROP_TYPE(TypeTag, JacobianMatrix), - typename GET_PROP_TYPE(TypeTag, SolutionVector), - typename GET_PROP_TYPE(TypeTag, FVGridGeometry)>>; +using AMGBackend = ParallelAMGBackend<GetPropType<TypeTag, Properties::GridView>, AmgTraits<GetPropType<TypeTag, Properties::JacobianMatrix>, + GetPropType<TypeTag, Properties::SolutionVector>, + GetPropType<TypeTag, Properties::FVGridGeometry>>>; } // namespace Dumux diff --git a/dumux/material/fluidmatrixinteractions/mineralization/effectivesoliddensity.hh b/dumux/material/fluidmatrixinteractions/mineralization/effectivesoliddensity.hh index dd517f0b7a..17b80fefc2 100644 --- a/dumux/material/fluidmatrixinteractions/mineralization/effectivesoliddensity.hh +++ b/dumux/material/fluidmatrixinteractions/mineralization/effectivesoliddensity.hh @@ -39,17 +39,17 @@ namespace Dumux { template<class TypeTag> class DUNE_DEPRECATED_MSG("Implement SolidSystems instead!") EffectiveSolidDensity { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using SpatialParams = typename GET_PROP_TYPE(TypeTag, SpatialParams); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using SpatialParams = GetPropType<TypeTag, Properties::SpatialParams>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; static const int dim = GridView::dimension; static const int dimWorld = GridView::dimensionworld; - static const int numComponents = GET_PROP_TYPE(TypeTag, ModelTraits)::numComponents(); - static const int numSolidPhases = GET_PROP_TYPE(TypeTag, ModelTraits)::numSPhases(); + static const int numComponents = GetPropType<TypeTag, Properties::ModelTraits>::numComponents(); + static const int numSolidPhases = GetPropType<TypeTag, Properties::ModelTraits>::numSPhases(); using Element = typename GridView::template Codim<0>:: Entity; diff --git a/dumux/material/fluidmatrixinteractions/mineralization/effectivesolidheatcapacity.hh b/dumux/material/fluidmatrixinteractions/mineralization/effectivesolidheatcapacity.hh index 61df4ae693..1678208ecd 100644 --- a/dumux/material/fluidmatrixinteractions/mineralization/effectivesolidheatcapacity.hh +++ b/dumux/material/fluidmatrixinteractions/mineralization/effectivesolidheatcapacity.hh @@ -38,17 +38,17 @@ namespace Dumux { template<class TypeTag> class DUNE_DEPRECATED_MSG("Implement SolidSystems instead!") EffectiveSolidHeatCapacity { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using SpatialParams = typename GET_PROP_TYPE(TypeTag, SpatialParams); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using SpatialParams = GetPropType<TypeTag, Properties::SpatialParams>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; static const int dim = GridView::dimension; static const int dimWorld = GridView::dimensionworld; - static const int numComponents = GET_PROP_TYPE(TypeTag, ModelTraits)::numComponents(); - static const int numSolidPhases = GET_PROP_TYPE(TypeTag, ModelTraits)::numSPhases(); + static const int numComponents = GetPropType<TypeTag, Properties::ModelTraits>::numComponents(); + static const int numSolidPhases = GetPropType<TypeTag, Properties::ModelTraits>::numSPhases(); using Element = typename GridView::template Codim<0>:: Entity; diff --git a/dumux/material/spatialparams/sequentialfv.hh b/dumux/material/spatialparams/sequentialfv.hh index 256bbe1fa4..fb2b2e9dec 100644 --- a/dumux/material/spatialparams/sequentialfv.hh +++ b/dumux/material/spatialparams/sequentialfv.hh @@ -40,10 +40,10 @@ namespace Properties template<class TypeTag> class SequentialFVSpatialParams: public SequentialFVSpatialParamsOneP<TypeTag> { - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Implementation = typename GET_PROP_TYPE(TypeTag, SpatialParams); + using Problem = GetPropType<TypeTag, Properties::Problem>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Implementation = GetPropType<TypeTag, Properties::SpatialParams>; enum { @@ -53,7 +53,7 @@ class SequentialFVSpatialParams: public SequentialFVSpatialParamsOneP<TypeTag> using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; /// @cond false - using MaterialLawParams = typename GET_PROP_TYPE(TypeTag, MaterialLaw)::Params; + using MaterialLawParams = typename GetPropType<TypeTag, Properties::MaterialLaw>::Params; /// @endcond public: diff --git a/dumux/material/spatialparams/sequentialfv1p.hh b/dumux/material/spatialparams/sequentialfv1p.hh index cfc198e0d0..bbcd094715 100644 --- a/dumux/material/spatialparams/sequentialfv1p.hh +++ b/dumux/material/spatialparams/sequentialfv1p.hh @@ -40,10 +40,10 @@ namespace Dumux { template<class TypeTag> class SequentialFVSpatialParamsOneP { - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Implementation = typename GET_PROP_TYPE(TypeTag, SpatialParams); + using Problem = GetPropType<TypeTag, Properties::Problem>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Implementation = GetPropType<TypeTag, Properties::SpatialParams>; enum { diff --git a/dumux/multidomain/boundary/darcydarcy/couplingmanager.hh b/dumux/multidomain/boundary/darcydarcy/couplingmanager.hh index 29ff5d6c42..7cc9e57f01 100644 --- a/dumux/multidomain/boundary/darcydarcy/couplingmanager.hh +++ b/dumux/multidomain/boundary/darcydarcy/couplingmanager.hh @@ -59,11 +59,11 @@ class DarcyDarcyBoundaryCouplingManager using SolutionVector = typename MDTraits::SolutionVector; template<std::size_t i> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<i>; - template<std::size_t i> using Problem = typename GET_PROP_TYPE(SubDomainTypeTag<i>, Problem); - template<std::size_t i> using PrimaryVariables = typename GET_PROP_TYPE(SubDomainTypeTag<i>, PrimaryVariables); - template<std::size_t i> using NumEqVector = typename GET_PROP_TYPE(SubDomainTypeTag<i>, NumEqVector); - template<std::size_t i> using ElementVolumeVariables = typename GET_PROP_TYPE(SubDomainTypeTag<i>, GridVolumeVariables)::LocalView; - template<std::size_t i> using VolumeVariables = typename GET_PROP_TYPE(SubDomainTypeTag<i>, GridVolumeVariables)::VolumeVariables; + template<std::size_t i> using Problem = GetPropType<SubDomainTypeTag<i>, Properties::Problem>; + template<std::size_t i> using PrimaryVariables = GetPropType<SubDomainTypeTag<i>, Properties::PrimaryVariables>; + template<std::size_t i> using NumEqVector = GetPropType<SubDomainTypeTag<i>, Properties::NumEqVector>; + template<std::size_t i> using ElementVolumeVariables = typename GetPropType<SubDomainTypeTag<i>, Properties::GridVolumeVariables>::LocalView; + template<std::size_t i> using VolumeVariables = typename GetPropType<SubDomainTypeTag<i>, Properties::GridVolumeVariables>::VolumeVariables; template<std::size_t i> using FVGridGeometry = typename MDTraits::template SubDomainFVGridGeometry<i>; template<std::size_t i> using FVElementGeometry = typename FVGridGeometry<i>::LocalView; template<std::size_t i> using SubControlVolumeFace = typename FVGridGeometry<i>::SubControlVolumeFace; diff --git a/dumux/multidomain/boundary/stokesdarcy/couplingdata.hh b/dumux/multidomain/boundary/stokesdarcy/couplingdata.hh index 9dcb8dce71..83396d5891 100644 --- a/dumux/multidomain/boundary/stokesdarcy/couplingdata.hh +++ b/dumux/multidomain/boundary/stokesdarcy/couplingdata.hh @@ -192,8 +192,8 @@ class StokesDarcyCouplingDataImplementation; */ template<class MDTraits, class CouplingManager> using StokesDarcyCouplingData = StokesDarcyCouplingDataImplementation<MDTraits, CouplingManager, - GET_PROP_TYPE(typename MDTraits::template SubDomainTypeTag<0>, ModelTraits)::enableEnergyBalance(), - (GET_PROP_TYPE(typename MDTraits::template SubDomainTypeTag<0>, ModelTraits)::numComponents() > 1)>; + GetPropType<typename MDTraits::template SubDomainTypeTag<0>, Properties::ModelTraits>::enableEnergyBalance(), + (GetPropType<typename MDTraits::template SubDomainTypeTag<0>, Properties::ModelTraits>::numComponents() > 1)>; /*! * \ingroup MultiDomain @@ -207,16 +207,16 @@ class StokesDarcyCouplingDataImplementationBase using Scalar = typename MDTraits::Scalar; template<std::size_t id> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<id>; - template<std::size_t id> using FVGridGeometry = typename GET_PROP_TYPE(SubDomainTypeTag<id>, FVGridGeometry); + template<std::size_t id> using FVGridGeometry = GetPropType<SubDomainTypeTag<id>, Properties::FVGridGeometry>; template<std::size_t id> using FVElementGeometry = typename FVGridGeometry<id>::LocalView; template<std::size_t id> using SubControlVolumeFace = typename FVGridGeometry<id>::LocalView::SubControlVolumeFace; template<std::size_t id> using SubControlVolume = typename FVGridGeometry<id>::LocalView::SubControlVolume; - template<std::size_t id> using Indices = typename GET_PROP_TYPE(SubDomainTypeTag<id>, ModelTraits)::Indices; - template<std::size_t id> using ElementVolumeVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridVolumeVariables)::LocalView; - template<std::size_t id> using VolumeVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridVolumeVariables)::VolumeVariables; - template<std::size_t id> using Problem = typename GET_PROP_TYPE(SubDomainTypeTag<id>, Problem); - template<std::size_t id> using FluidSystem = typename GET_PROP_TYPE(SubDomainTypeTag<id>, FluidSystem); - template<std::size_t id> using ModelTraits = typename GET_PROP_TYPE(SubDomainTypeTag<id>, ModelTraits); + template<std::size_t id> using Indices = typename GetPropType<SubDomainTypeTag<id>, Properties::ModelTraits>::Indices; + template<std::size_t id> using ElementVolumeVariables = typename GetPropType<SubDomainTypeTag<id>, Properties::GridVolumeVariables>::LocalView; + template<std::size_t id> using VolumeVariables = typename GetPropType<SubDomainTypeTag<id>, Properties::GridVolumeVariables>::VolumeVariables; + template<std::size_t id> using Problem = GetPropType<SubDomainTypeTag<id>, Properties::Problem>; + template<std::size_t id> using FluidSystem = GetPropType<SubDomainTypeTag<id>, Properties::FluidSystem>; + template<std::size_t id> using ModelTraits = GetPropType<SubDomainTypeTag<id>, Properties::ModelTraits>; static constexpr auto stokesIdx = CouplingManager::stokesIdx; static constexpr auto darcyIdx = CouplingManager::darcyIdx; @@ -224,8 +224,8 @@ class StokesDarcyCouplingDataImplementationBase static constexpr bool adapterUsed = ModelTraits<darcyIdx>::numPhases() > 1; using IndexHelper = Dumux::IndexHelper<stokesIdx, darcyIdx, FluidSystem<stokesIdx>, adapterUsed>; - static constexpr int enableEnergyBalance = GET_PROP_TYPE(SubDomainTypeTag<stokesIdx>, ModelTraits)::enableEnergyBalance(); - static_assert(GET_PROP_TYPE(SubDomainTypeTag<darcyIdx>, ModelTraits)::enableEnergyBalance() == enableEnergyBalance, + static constexpr int enableEnergyBalance = GetPropType<SubDomainTypeTag<stokesIdx>, Properties::ModelTraits>::enableEnergyBalance(); + static_assert(GetPropType<SubDomainTypeTag<darcyIdx>, Properties::ModelTraits>::enableEnergyBalance() == enableEnergyBalance, "All submodels must both be either isothermal or non-isothermal"); static_assert(IsSameFluidSystem<FluidSystem<stokesIdx>, @@ -279,7 +279,7 @@ public: const ElementFaceVariables& stokesElemFaceVars, const SubControlVolumeFace<stokesIdx>& scvf) const { - static constexpr auto numPhasesDarcy = GET_PROP_TYPE(SubDomainTypeTag<darcyIdx>, ModelTraits)::numPhases(); + static constexpr auto numPhasesDarcy = GetPropType<SubDomainTypeTag<darcyIdx>, Properties::ModelTraits>::numPhases(); Scalar momentumFlux(0.0); const auto& stokesContext = couplingManager_.stokesCouplingContext(scvf); @@ -408,7 +408,7 @@ protected: const FVElementGeometry<darcyIdx>& fvGeometry, const SubControlVolume<darcyIdx>& scv) const { - using ThermalConductivityModel = typename GET_PROP_TYPE(SubDomainTypeTag<darcyIdx>, ThermalConductivityModel); + using ThermalConductivityModel = GetPropType<SubDomainTypeTag<darcyIdx>, Properties::ThermalConductivityModel>; const auto& problem = this->couplingManager().problem(darcyIdx); return ThermalConductivityModel::effectiveThermalConductivity(volVars, problem.spatialParams(), fvGeometry.fvGridGeometry().element(scv), fvGeometry, scv); } @@ -450,16 +450,16 @@ class StokesDarcyCouplingDataImplementation<MDTraits, CouplingManager, enableEne template<std::size_t id> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<id>; - template<std::size_t id> using FVGridGeometry = typename GET_PROP_TYPE(SubDomainTypeTag<id>, FVGridGeometry); + template<std::size_t id> using FVGridGeometry = GetPropType<SubDomainTypeTag<id>, Properties::FVGridGeometry>; template<std::size_t id> using FVElementGeometry = typename FVGridGeometry<id>::LocalView; template<std::size_t id> using SubControlVolumeFace = typename FVGridGeometry<id>::LocalView::SubControlVolumeFace; template<std::size_t id> using SubControlVolume = typename FVGridGeometry<id>::LocalView::SubControlVolume; - template<std::size_t id> using Indices = typename GET_PROP_TYPE(SubDomainTypeTag<id>, ModelTraits)::Indices; - template<std::size_t id> using ElementVolumeVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridVolumeVariables)::LocalView; - template<std::size_t id> using ElementFaceVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridFaceVariables)::LocalView; - template<std::size_t id> using VolumeVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridVolumeVariables)::VolumeVariables; + template<std::size_t id> using Indices = typename GetPropType<SubDomainTypeTag<id>, Properties::ModelTraits>::Indices; + template<std::size_t id> using ElementVolumeVariables = typename GetPropType<SubDomainTypeTag<id>, Properties::GridVolumeVariables>::LocalView; + template<std::size_t id> using ElementFaceVariables = typename GetPropType<SubDomainTypeTag<id>, Properties::GridFaceVariables>::LocalView; + template<std::size_t id> using VolumeVariables = typename GetPropType<SubDomainTypeTag<id>, Properties::GridVolumeVariables>::VolumeVariables; - static_assert(GET_PROP_TYPE(SubDomainTypeTag<darcyIdx>, ModelTraits)::numComponents() == GET_PROP_TYPE(SubDomainTypeTag<darcyIdx>, ModelTraits)::numPhases(), + static_assert(GetPropType<SubDomainTypeTag<darcyIdx>, Properties::ModelTraits>::numComponents() == GetPropType<SubDomainTypeTag<darcyIdx>, Properties::ModelTraits>::numPhases(), "Darcy Model must not be compositional"); using DiffusionCoefficientAveragingType = typename StokesDarcyCouplingOptions::DiffusionCoefficientAveragingType; @@ -609,21 +609,21 @@ class StokesDarcyCouplingDataImplementation<MDTraits, CouplingManager, enableEne template<std::size_t id> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<id>; - template<std::size_t id> using FVGridGeometry = typename GET_PROP_TYPE(SubDomainTypeTag<id>, FVGridGeometry); + template<std::size_t id> using FVGridGeometry = GetPropType<SubDomainTypeTag<id>, Properties::FVGridGeometry>; template<std::size_t id> using FVElementGeometry = typename FVGridGeometry<id>::LocalView; template<std::size_t id> using SubControlVolumeFace = typename FVElementGeometry<id>::SubControlVolumeFace; template<std::size_t id> using SubControlVolume = typename FVGridGeometry<id>::LocalView::SubControlVolume; - template<std::size_t id> using Indices = typename GET_PROP_TYPE(SubDomainTypeTag<id>, ModelTraits)::Indices; - template<std::size_t id> using ElementVolumeVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridVolumeVariables)::LocalView; - template<std::size_t id> using ElementFaceVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridFaceVariables)::LocalView; - template<std::size_t id> using VolumeVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridVolumeVariables)::VolumeVariables; - template<std::size_t id> using FluidSystem = typename GET_PROP_TYPE(SubDomainTypeTag<id>, FluidSystem); + template<std::size_t id> using Indices = typename GetPropType<SubDomainTypeTag<id>, Properties::ModelTraits>::Indices; + template<std::size_t id> using ElementVolumeVariables = typename GetPropType<SubDomainTypeTag<id>, Properties::GridVolumeVariables>::LocalView; + template<std::size_t id> using ElementFaceVariables = typename GetPropType<SubDomainTypeTag<id>, Properties::GridFaceVariables>::LocalView; + template<std::size_t id> using VolumeVariables = typename GetPropType<SubDomainTypeTag<id>, Properties::GridVolumeVariables>::VolumeVariables; + template<std::size_t id> using FluidSystem = GetPropType<SubDomainTypeTag<id>, Properties::FluidSystem>; - static constexpr auto numComponents = GET_PROP_TYPE(SubDomainTypeTag<stokesIdx>, ModelTraits)::numComponents(); - static constexpr auto replaceCompEqIdx = GET_PROP_TYPE(SubDomainTypeTag<stokesIdx>, ModelTraits)::replaceCompEqIdx(); - static constexpr bool useMoles = GET_PROP_TYPE(SubDomainTypeTag<stokesIdx>, ModelTraits)::useMoles(); + static constexpr auto numComponents = GetPropType<SubDomainTypeTag<stokesIdx>, Properties::ModelTraits>::numComponents(); + static constexpr auto replaceCompEqIdx = GetPropType<SubDomainTypeTag<stokesIdx>, Properties::ModelTraits>::replaceCompEqIdx(); + static constexpr bool useMoles = GetPropType<SubDomainTypeTag<stokesIdx>, Properties::ModelTraits>::useMoles(); - static_assert(GET_PROP_TYPE(SubDomainTypeTag<darcyIdx>, ModelTraits)::numComponents() == numComponents, "Submodels must use same number of components"); + static_assert(GetPropType<SubDomainTypeTag<darcyIdx>, Properties::ModelTraits>::numComponents() == numComponents, "Submodels must use same number of components"); static_assert(GET_PROP_VALUE(SubDomainTypeTag<darcyIdx>, UseMoles) == useMoles, "Both models must either use moles or not"); static_assert(GET_PROP_VALUE(SubDomainTypeTag<darcyIdx>, ReplaceCompEqIdx) == replaceCompEqIdx, "Both models must use the same replaceCompEqIdx"); using NumEqVector = Dune::FieldVector<Scalar, numComponents>; @@ -796,7 +796,7 @@ protected: */ Scalar diffusionCoefficient_(const VolumeVariables<darcyIdx>& volVars, int phaseIdx, int compIdx) const { - using EffDiffModel = typename GET_PROP_TYPE(SubDomainTypeTag<darcyIdx>, EffectiveDiffusivityModel); + using EffDiffModel = GetPropType<SubDomainTypeTag<darcyIdx>, Properties::EffectiveDiffusivityModel>; return EffDiffModel::effectiveDiffusivity(volVars.porosity(), volVars.saturation(phaseIdx), volVars.diffusionCoefficient(phaseIdx, compIdx)); diff --git a/dumux/multidomain/boundary/stokesdarcy/couplingmanager.hh b/dumux/multidomain/boundary/stokesdarcy/couplingmanager.hh index 542a27f7ba..308f2c0318 100644 --- a/dumux/multidomain/boundary/stokesdarcy/couplingmanager.hh +++ b/dumux/multidomain/boundary/stokesdarcy/couplingmanager.hh @@ -76,24 +76,24 @@ private: template<std::size_t id> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<id>; - static constexpr bool isCompositional = GET_PROP_TYPE(SubDomainTypeTag<0>, ModelTraits)::numComponents() > 1; - - template<std::size_t id> using GridView = typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridView); - template<std::size_t id> using Problem = typename GET_PROP_TYPE(SubDomainTypeTag<id>, Problem); - template<std::size_t id> using NumEqVector = typename GET_PROP_TYPE(SubDomainTypeTag<id>, NumEqVector); - template<std::size_t id> using ElementVolumeVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridVolumeVariables)::LocalView; - template<std::size_t id> using GridVolumeVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridVolumeVariables); - template<std::size_t id> using VolumeVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridVolumeVariables)::VolumeVariables; - template<std::size_t id> using FVGridGeometry = typename GET_PROP_TYPE(SubDomainTypeTag<id>, FVGridGeometry); + static constexpr bool isCompositional = GetPropType<SubDomainTypeTag<0>, Properties::ModelTraits>::numComponents() > 1; + + template<std::size_t id> using GridView = GetPropType<SubDomainTypeTag<id>, Properties::GridView>; + template<std::size_t id> using Problem = GetPropType<SubDomainTypeTag<id>, Properties::Problem>; + template<std::size_t id> using NumEqVector = GetPropType<SubDomainTypeTag<id>, Properties::NumEqVector>; + template<std::size_t id> using ElementVolumeVariables = typename GetPropType<SubDomainTypeTag<id>, Properties::GridVolumeVariables>::LocalView; + template<std::size_t id> using GridVolumeVariables = GetPropType<SubDomainTypeTag<id>, Properties::GridVolumeVariables>; + template<std::size_t id> using VolumeVariables = typename GetPropType<SubDomainTypeTag<id>, Properties::GridVolumeVariables>::VolumeVariables; + template<std::size_t id> using FVGridGeometry = GetPropType<SubDomainTypeTag<id>, Properties::FVGridGeometry>; template<std::size_t id> using FVElementGeometry = typename FVGridGeometry<id>::LocalView; - template<std::size_t id> using ElementBoundaryTypes = typename GET_PROP_TYPE(SubDomainTypeTag<id>, ElementBoundaryTypes); - template<std::size_t id> using ElementFluxVariablesCache = typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridFluxVariablesCache)::LocalView; - template<std::size_t id> using GridVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridVariables); + template<std::size_t id> using ElementBoundaryTypes = GetPropType<SubDomainTypeTag<id>, Properties::ElementBoundaryTypes>; + template<std::size_t id> using ElementFluxVariablesCache = typename GetPropType<SubDomainTypeTag<id>, Properties::GridFluxVariablesCache>::LocalView; + template<std::size_t id> using GridVariables = GetPropType<SubDomainTypeTag<id>, Properties::GridVariables>; template<std::size_t id> using Element = typename GridView<id>::template Codim<0>::Entity; template<std::size_t id> using PrimaryVariables = typename MDTraits::template PrimaryVariables<id>; template<std::size_t id> using SubControlVolumeFace = typename FVElementGeometry<id>::SubControlVolumeFace; - using CellCenterSolutionVector = typename GET_PROP_TYPE (StokesTypeTag, CellCenterSolutionVector); + using CellCenterSolutionVector = GetPropType<StokesTypeTag, Properties::CellCenterSolutionVector>; using VelocityVector = typename Element<stokesIdx>::Geometry::GlobalCoordinate; diff --git a/dumux/multidomain/boundary/stokesdarcy/couplingmapper.hh b/dumux/multidomain/boundary/stokesdarcy/couplingmapper.hh index ed18c644c8..ab1eb2a54b 100644 --- a/dumux/multidomain/boundary/stokesdarcy/couplingmapper.hh +++ b/dumux/multidomain/boundary/stokesdarcy/couplingmapper.hh @@ -74,12 +74,12 @@ private: // the sub domain type tags template<std::size_t id> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<id>; - using CouplingManager = typename GET_PROP_TYPE(StokesTypeTag, CouplingManager); + using CouplingManager = GetPropType<StokesTypeTag, Properties::CouplingManager>; - static_assert(GET_PROP_TYPE(SubDomainTypeTag<stokesIdx>, FVGridGeometry)::discMethod == DiscretizationMethod::staggered, + static_assert(GetPropType<SubDomainTypeTag<stokesIdx>, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::staggered, "The free flow domain must use the staggered discretization"); - static_assert(GET_PROP_TYPE(SubDomainTypeTag<darcyIdx>, FVGridGeometry)::discMethod == DiscretizationMethod::cctpfa, + static_assert(GetPropType<SubDomainTypeTag<darcyIdx>, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::cctpfa, "The Darcy domain must use the CCTpfa discretization"); public: diff --git a/dumux/multidomain/couplingmanager.hh b/dumux/multidomain/couplingmanager.hh index 1008a16bb2..9e220aa31a 100644 --- a/dumux/multidomain/couplingmanager.hh +++ b/dumux/multidomain/couplingmanager.hh @@ -45,10 +45,10 @@ template<class Traits> class CouplingManager { template<std::size_t id> using SubDomainTypeTag = typename Traits::template SubDomainTypeTag<id>; - template<std::size_t id> using PrimaryVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, PrimaryVariables); - template<std::size_t id> using GridView = typename GET_PROP_TYPE(SubDomainTypeTag<id>, FVGridGeometry)::GridView; + template<std::size_t id> using PrimaryVariables = GetPropType<SubDomainTypeTag<id>, Properties::PrimaryVariables>; + template<std::size_t id> using GridView = typename GetPropType<SubDomainTypeTag<id>, Properties::FVGridGeometry>::GridView; template<std::size_t id> using Element = typename GridView<id>::template Codim<0>::Entity; - template<std::size_t id> using Problem = typename GET_PROP_TYPE(SubDomainTypeTag<id>, Problem); + template<std::size_t id> using Problem = GetPropType<SubDomainTypeTag<id>, Properties::Problem>; template<std::size_t id> using ProblemWeakPtr = std::weak_ptr<const Problem<id>>; using Problems = typename Traits::template MakeTuple<ProblemWeakPtr>; diff --git a/dumux/multidomain/embedded/couplingmanager1d3d.hh b/dumux/multidomain/embedded/couplingmanager1d3d.hh index d0fbeca01d..41b0ae8eea 100644 --- a/dumux/multidomain/embedded/couplingmanager1d3d.hh +++ b/dumux/multidomain/embedded/couplingmanager1d3d.hh @@ -55,8 +55,8 @@ struct CircleAveragePointSourceTraits { private: template<std::size_t i> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<i>; - template<std::size_t i> using FVGridGeometry = typename GET_PROP_TYPE(SubDomainTypeTag<i>, FVGridGeometry); - template<std::size_t i> using NumEqVector = typename GET_PROP_TYPE(SubDomainTypeTag<i>, NumEqVector); + template<std::size_t i> using FVGridGeometry = GetPropType<SubDomainTypeTag<i>, Properties::FVGridGeometry>; + template<std::size_t i> using NumEqVector = GetPropType<SubDomainTypeTag<i>, Properties::NumEqVector>; public: //! export the point source type for domain i template<std::size_t i> @@ -103,8 +103,8 @@ class EmbeddedCouplingManager1d3d<MDTraits, EmbeddedCouplingMode::line> // the sub domain type aliases template<std::size_t id> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<id>; - template<std::size_t id> using Problem = typename GET_PROP_TYPE(SubDomainTypeTag<id>, Problem); - template<std::size_t id> using FVGridGeometry = typename GET_PROP_TYPE(SubDomainTypeTag<id>, FVGridGeometry); + template<std::size_t id> using Problem = GetPropType<SubDomainTypeTag<id>, Properties::Problem>; + template<std::size_t id> using FVGridGeometry = GetPropType<SubDomainTypeTag<id>, Properties::FVGridGeometry>; template<std::size_t id> using GridView = typename FVGridGeometry<id>::GridView; template<std::size_t id> using Element = typename GridView<id>::template Codim<0>::Entity; @@ -203,8 +203,8 @@ class EmbeddedCouplingManager1d3d<MDTraits, EmbeddedCouplingMode::average> // the sub domain type aliases template<std::size_t id> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<id>; - template<std::size_t id> using Problem = typename GET_PROP_TYPE(SubDomainTypeTag<id>, Problem); - template<std::size_t id> using FVGridGeometry = typename GET_PROP_TYPE(SubDomainTypeTag<id>, FVGridGeometry); + template<std::size_t id> using Problem = GetPropType<SubDomainTypeTag<id>, Properties::Problem>; + template<std::size_t id> using FVGridGeometry = GetPropType<SubDomainTypeTag<id>, Properties::FVGridGeometry>; template<std::size_t id> using GridView = typename FVGridGeometry<id>::GridView; template<std::size_t id> using Element = typename GridView<id>::template Codim<0>::Entity; @@ -581,8 +581,8 @@ class EmbeddedCouplingManager1d3d<MDTraits, EmbeddedCouplingMode::cylindersource // the sub domain type aliases template<std::size_t id> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<id>; - template<std::size_t id> using Problem = typename GET_PROP_TYPE(SubDomainTypeTag<id>, Problem); - template<std::size_t id> using FVGridGeometry = typename GET_PROP_TYPE(SubDomainTypeTag<id>, FVGridGeometry); + template<std::size_t id> using Problem = GetPropType<SubDomainTypeTag<id>, Properties::Problem>; + template<std::size_t id> using FVGridGeometry = GetPropType<SubDomainTypeTag<id>, Properties::FVGridGeometry>; template<std::size_t id> using GridView = typename FVGridGeometry<id>::GridView; template<std::size_t id> using Element = typename GridView<id>::template Codim<0>::Entity; @@ -858,8 +858,8 @@ class EmbeddedCouplingManager1d3d<MDTraits, EmbeddedCouplingMode::kernel> // the sub domain type aliases template<std::size_t id> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<id>; - template<std::size_t id> using Problem = typename GET_PROP_TYPE(SubDomainTypeTag<id>, Problem); - template<std::size_t id> using FVGridGeometry = typename GET_PROP_TYPE(SubDomainTypeTag<id>, FVGridGeometry); + template<std::size_t id> using Problem = GetPropType<SubDomainTypeTag<id>, Properties::Problem>; + template<std::size_t id> using FVGridGeometry = GetPropType<SubDomainTypeTag<id>, Properties::FVGridGeometry>; template<std::size_t id> using GridView = typename FVGridGeometry<id>::GridView; template<std::size_t id> using Element = typename GridView<id>::template Codim<0>::Entity; diff --git a/dumux/multidomain/embedded/couplingmanagerbase.hh b/dumux/multidomain/embedded/couplingmanagerbase.hh index 50fb0013c2..fa5fec57f1 100644 --- a/dumux/multidomain/embedded/couplingmanagerbase.hh +++ b/dumux/multidomain/embedded/couplingmanagerbase.hh @@ -52,8 +52,8 @@ struct DefaultPointSourceTraits { private: template<std::size_t i> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<i>; - template<std::size_t i> using FVGridGeometry = typename GET_PROP_TYPE(SubDomainTypeTag<i>, FVGridGeometry); - template<std::size_t i> using NumEqVector = typename GET_PROP_TYPE(SubDomainTypeTag<i>, NumEqVector); + template<std::size_t i> using FVGridGeometry = GetPropType<SubDomainTypeTag<i>, Properties::FVGridGeometry>; + template<std::size_t i> using NumEqVector = GetPropType<SubDomainTypeTag<i>, Properties::NumEqVector>; public: //! export the point source type for domain i template<std::size_t i> @@ -87,9 +87,9 @@ class EmbeddedCouplingManagerBase // the sub domain type tags template<std::size_t id> using PointSource = typename PSTraits::template PointSource<id>; template<std::size_t id> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<id>; - template<std::size_t id> using Problem = typename GET_PROP_TYPE(SubDomainTypeTag<id>, Problem); - template<std::size_t id> using PrimaryVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, PrimaryVariables); - template<std::size_t id> using FVGridGeometry = typename GET_PROP_TYPE(SubDomainTypeTag<id>, FVGridGeometry); + template<std::size_t id> using Problem = GetPropType<SubDomainTypeTag<id>, Properties::Problem>; + template<std::size_t id> using PrimaryVariables = GetPropType<SubDomainTypeTag<id>, Properties::PrimaryVariables>; + template<std::size_t id> using FVGridGeometry = GetPropType<SubDomainTypeTag<id>, Properties::FVGridGeometry>; template<std::size_t id> using GridView = typename FVGridGeometry<id>::GridView; template<std::size_t id> using ElementMapper = typename FVGridGeometry<id>::ElementMapper; template<std::size_t id> using Element = typename GridView<id>::template Codim<0>::Entity; diff --git a/dumux/multidomain/embedded/extendedsourcestencil.hh b/dumux/multidomain/embedded/extendedsourcestencil.hh index b385bc0815..22ab62a371 100644 --- a/dumux/multidomain/embedded/extendedsourcestencil.hh +++ b/dumux/multidomain/embedded/extendedsourcestencil.hh @@ -45,7 +45,7 @@ class ExtendedSourceStencil using Scalar = typename MDTraits::Scalar; template<std::size_t id> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<id>; - template<std::size_t id> using FVGridGeometry = typename GET_PROP_TYPE(SubDomainTypeTag<id>, FVGridGeometry); + template<std::size_t id> using FVGridGeometry = GetPropType<SubDomainTypeTag<id>, Properties::FVGridGeometry>; template<std::size_t id> using GridView = typename FVGridGeometry<id>::GridView; template<std::size_t id> using Element = typename GridView<id>::template Codim<0>::Entity; diff --git a/dumux/multidomain/embedded/pointsourcedata.hh b/dumux/multidomain/embedded/pointsourcedata.hh index 94a6177545..088defdf67 100644 --- a/dumux/multidomain/embedded/pointsourcedata.hh +++ b/dumux/multidomain/embedded/pointsourcedata.hh @@ -50,15 +50,15 @@ class PointSourceData using BulkTypeTag = typename MDTraits::template SubDomainTypeTag<0>; using LowDimTypeTag = typename MDTraits::template SubDomainTypeTag<1>; - using BulkPrimaryVariables = typename GET_PROP_TYPE(BulkTypeTag, PrimaryVariables); - using LowDimPrimaryVariables = typename GET_PROP_TYPE(LowDimTypeTag, PrimaryVariables); + using BulkPrimaryVariables = GetPropType<BulkTypeTag, Properties::PrimaryVariables>; + using LowDimPrimaryVariables = GetPropType<LowDimTypeTag, Properties::PrimaryVariables>; - using BulkSolutionVector = typename GET_PROP_TYPE(BulkTypeTag, SolutionVector); - using LowDimSolutionVector = typename GET_PROP_TYPE(LowDimTypeTag, SolutionVector); + using BulkSolutionVector = GetPropType<BulkTypeTag, Properties::SolutionVector>; + using LowDimSolutionVector = GetPropType<LowDimTypeTag, Properties::SolutionVector>; enum { - bulkIsBox = GET_PROP_TYPE(BulkTypeTag, FVGridGeometry)::discMethod == DiscretizationMethod::box, - lowDimIsBox = GET_PROP_TYPE(LowDimTypeTag, FVGridGeometry)::discMethod == DiscretizationMethod::box + bulkIsBox = GetPropType<BulkTypeTag, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::box, + lowDimIsBox = GetPropType<LowDimTypeTag, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::box }; public: @@ -158,15 +158,15 @@ class PointSourceDataCircleAverage : public PointSourceData<MDTraits> using BulkTypeTag = typename MDTraits::template SubDomainTypeTag<0>; using LowDimTypeTag = typename MDTraits::template SubDomainTypeTag<1>; - using BulkPrimaryVariables = typename GET_PROP_TYPE(BulkTypeTag, PrimaryVariables); - using LowDimPrimaryVariables = typename GET_PROP_TYPE(LowDimTypeTag, PrimaryVariables); + using BulkPrimaryVariables = GetPropType<BulkTypeTag, Properties::PrimaryVariables>; + using LowDimPrimaryVariables = GetPropType<LowDimTypeTag, Properties::PrimaryVariables>; - using BulkSolutionVector = typename GET_PROP_TYPE(BulkTypeTag, SolutionVector); - using LowDimSolutionVector = typename GET_PROP_TYPE(LowDimTypeTag, SolutionVector); + using BulkSolutionVector = GetPropType<BulkTypeTag, Properties::SolutionVector>; + using LowDimSolutionVector = GetPropType<LowDimTypeTag, Properties::SolutionVector>; enum { - bulkIsBox = GET_PROP_TYPE(BulkTypeTag, FVGridGeometry)::discMethod == DiscretizationMethod::box, - lowDimIsBox = GET_PROP_TYPE(LowDimTypeTag, FVGridGeometry)::discMethod == DiscretizationMethod::box + bulkIsBox = GetPropType<BulkTypeTag, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::box, + lowDimIsBox = GetPropType<LowDimTypeTag, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::box }; public: diff --git a/dumux/multidomain/facet/box/couplingmanager.hh b/dumux/multidomain/facet/box/couplingmanager.hh index 197bcffbfd..6a1190ed49 100644 --- a/dumux/multidomain/facet/box/couplingmanager.hh +++ b/dumux/multidomain/facet/box/couplingmanager.hh @@ -63,13 +63,13 @@ class FacetCouplingManager<MDTraits, CouplingMapper, bulkDomainId, lowDimDomainI template<std::size_t id> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<id>; // further types specific to the sub-problems - template<std::size_t id> using PrimaryVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, PrimaryVariables); - template<std::size_t id> using Problem = typename GET_PROP_TYPE(SubDomainTypeTag<id>, Problem); - template<std::size_t id> using NumEqVector = typename GET_PROP_TYPE(SubDomainTypeTag<id>, NumEqVector); - template<std::size_t id> using ElementBoundaryTypes = typename GET_PROP_TYPE(SubDomainTypeTag<id>, ElementBoundaryTypes); - template<std::size_t id> using LocalResidual = typename GET_PROP_TYPE(SubDomainTypeTag<id>, LocalResidual); + template<std::size_t id> using PrimaryVariables = GetPropType<SubDomainTypeTag<id>, Properties::PrimaryVariables>; + template<std::size_t id> using Problem = GetPropType<SubDomainTypeTag<id>, Properties::Problem>; + template<std::size_t id> using NumEqVector = GetPropType<SubDomainTypeTag<id>, Properties::NumEqVector>; + template<std::size_t id> using ElementBoundaryTypes = GetPropType<SubDomainTypeTag<id>, Properties::ElementBoundaryTypes>; + template<std::size_t id> using LocalResidual = GetPropType<SubDomainTypeTag<id>, Properties::LocalResidual>; - template<std::size_t id> using FVGridGeometry = typename GET_PROP_TYPE(SubDomainTypeTag<id>, FVGridGeometry); + template<std::size_t id> using FVGridGeometry = GetPropType<SubDomainTypeTag<id>, Properties::FVGridGeometry>; template<std::size_t id> using FVElementGeometry = typename FVGridGeometry<id>::LocalView; template<std::size_t id> using SubControlVolume = typename FVGridGeometry<id>::SubControlVolume; template<std::size_t id> using SubControlVolumeFace = typename FVGridGeometry<id>::SubControlVolumeFace; @@ -77,7 +77,7 @@ class FacetCouplingManager<MDTraits, CouplingMapper, bulkDomainId, lowDimDomainI template<std::size_t id> using Element = typename GridView<id>::template Codim<0>::Entity; template<std::size_t id> using IndexType = typename GridView<id>::IndexSet::IndexType; - template<std::size_t id> using GridVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridVariables); + template<std::size_t id> using GridVariables = GetPropType<SubDomainTypeTag<id>, Properties::GridVariables>; template<std::size_t id> using GridVolumeVariables = typename GridVariables<id>::GridVolumeVariables; template<std::size_t id> using ElementVolumeVariables = typename GridVolumeVariables<id>::LocalView; template<std::size_t id> using VolumeVariables = typename ElementVolumeVariables<id>::VolumeVariables; diff --git a/dumux/multidomain/facet/box/localresidual.hh b/dumux/multidomain/facet/box/localresidual.hh index 969565b081..32bfff7df6 100644 --- a/dumux/multidomain/facet/box/localresidual.hh +++ b/dumux/multidomain/facet/box/localresidual.hh @@ -45,16 +45,16 @@ template<class TypeTag> class BoxFacetCouplingLocalResidual : public FVLocalResidual<TypeTag> { using ParentType = FVLocalResidual<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using ElementBoundaryTypes = typename GET_PROP_TYPE(TypeTag, ElementBoundaryTypes); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using ElementBoundaryTypes = GetPropType<TypeTag, Properties::ElementBoundaryTypes>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; public: using ElementResidualVector = typename ParentType::ElementResidualVector; diff --git a/dumux/multidomain/facet/box/properties.hh b/dumux/multidomain/facet/box/properties.hh index baf2f556d8..c39386a28f 100644 --- a/dumux/multidomain/facet/box/properties.hh +++ b/dumux/multidomain/facet/box/properties.hh @@ -58,26 +58,26 @@ SET_TYPE_PROP(BoxFacetCouplingModel, BaseLocalResidual, BoxFacetCouplingLocalRes //! Use the box facet coupling-specific Darcy's law SET_TYPE_PROP(BoxFacetCouplingModel, AdvectionType, - BoxFacetCouplingDarcysLaw< typename GET_PROP_TYPE(TypeTag, Scalar), - typename GET_PROP_TYPE(TypeTag, FVGridGeometry) >); + BoxFacetCouplingDarcysLaw< GetPropType<TypeTag, Properties::Scalar>, + GetPropType<TypeTag, Properties::FVGridGeometry> >); //! Per default, use the porous medium flow flux variables with the modified upwind scheme SET_TYPE_PROP(BoxFacetCouplingModel, FluxVariables, - PorousMediumFluxVariables<TypeTag, BoxFacetCouplingUpwindScheme<typename GET_PROP_TYPE(TypeTag, FVGridGeometry)>>); + PorousMediumFluxVariables<TypeTag, BoxFacetCouplingUpwindScheme<GetPropType<TypeTag, Properties::FVGridGeometry>>>); //! Per default, use the porous medium flow flux variables with the modified upwind scheme SET_TYPE_PROP(BoxFacetCouplingModel, ElementBoundaryTypes, - BoxFacetCouplingElementBoundaryTypes<typename GET_PROP_TYPE(TypeTag, BoundaryTypes)>); + BoxFacetCouplingElementBoundaryTypes<GetPropType<TypeTag, Properties::BoundaryTypes>>); //! Set the default for the grid finite volume geometry SET_PROP(BoxFacetCouplingModel, FVGridGeometry) { private: static constexpr bool enableCache = GET_PROP_VALUE(TypeTag, EnableFVGridGeometryCache); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = BoxFacetCouplingFVGridGeometry<Scalar, GridView, enableCache>; }; diff --git a/dumux/multidomain/facet/cellcentered/localresidual.hh b/dumux/multidomain/facet/cellcentered/localresidual.hh index ea18dc4de0..89fb374776 100644 --- a/dumux/multidomain/facet/cellcentered/localresidual.hh +++ b/dumux/multidomain/facet/cellcentered/localresidual.hh @@ -48,7 +48,7 @@ class CCFacetCouplingLocalResidual : public CCLocalResidual<TypeTag> { using ParentType = CCLocalResidual<TypeTag>; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using ElementVolumeVariables = typename GridVariables::GridVolumeVariables::LocalView; using ElementFluxVariablesCache = typename GridVariables::GridFluxVariablesCache::LocalView; @@ -57,7 +57,7 @@ class CCFacetCouplingLocalResidual : public CCLocalResidual<TypeTag> using SubControlVolumeFace = typename FVGridGeometry::SubControlVolumeFace; using Element = typename FVGridGeometry::GridView::template Codim<0>::Entity; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; public: //! pull up the parent's constructor diff --git a/dumux/multidomain/facet/cellcentered/tpfa/couplingmanager.hh b/dumux/multidomain/facet/cellcentered/tpfa/couplingmanager.hh index 9bcd38eeaa..a4325d15ba 100644 --- a/dumux/multidomain/facet/cellcentered/tpfa/couplingmanager.hh +++ b/dumux/multidomain/facet/cellcentered/tpfa/couplingmanager.hh @@ -64,12 +64,12 @@ class FacetCouplingManager<MDTraits, CouplingMapper, bulkDomainId, lowDimDomainI template<std::size_t id> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<id>; // further types specific to the sub-problems - template<std::size_t id> using PrimaryVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, PrimaryVariables); - template<std::size_t id> using Problem = typename GET_PROP_TYPE(SubDomainTypeTag<id>, Problem); - template<std::size_t id> using NumEqVector = typename GET_PROP_TYPE(SubDomainTypeTag<id>, NumEqVector); - template<std::size_t id> using LocalResidual = typename GET_PROP_TYPE(SubDomainTypeTag<id>, LocalResidual); + template<std::size_t id> using PrimaryVariables = GetPropType<SubDomainTypeTag<id>, Properties::PrimaryVariables>; + template<std::size_t id> using Problem = GetPropType<SubDomainTypeTag<id>, Properties::Problem>; + template<std::size_t id> using NumEqVector = GetPropType<SubDomainTypeTag<id>, Properties::NumEqVector>; + template<std::size_t id> using LocalResidual = GetPropType<SubDomainTypeTag<id>, Properties::LocalResidual>; - template<std::size_t id> using FVGridGeometry = typename GET_PROP_TYPE(SubDomainTypeTag<id>, FVGridGeometry); + template<std::size_t id> using FVGridGeometry = GetPropType<SubDomainTypeTag<id>, Properties::FVGridGeometry>; template<std::size_t id> using FVElementGeometry = typename FVGridGeometry<id>::LocalView; template<std::size_t id> using SubControlVolume = typename FVGridGeometry<id>::SubControlVolume; template<std::size_t id> using SubControlVolumeFace = typename FVGridGeometry<id>::SubControlVolumeFace; @@ -77,7 +77,7 @@ class FacetCouplingManager<MDTraits, CouplingMapper, bulkDomainId, lowDimDomainI template<std::size_t id> using Element = typename GridView<id>::template Codim<0>::Entity; template<std::size_t id> using IndexType = typename GridView<id>::IndexSet::IndexType; - template<std::size_t id> using GridVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridVariables); + template<std::size_t id> using GridVariables = GetPropType<SubDomainTypeTag<id>, Properties::GridVariables>; template<std::size_t id> using GridVolumeVariables = typename GridVariables<id>::GridVolumeVariables; template<std::size_t id> using ElementVolumeVariables = typename GridVolumeVariables<id>::LocalView; template<std::size_t id> using VolumeVariables = typename ElementVolumeVariables<id>::VolumeVariables; diff --git a/dumux/multidomain/facet/cellcentered/tpfa/properties.hh b/dumux/multidomain/facet/cellcentered/tpfa/properties.hh index 403fc79361..062eb6de41 100644 --- a/dumux/multidomain/facet/cellcentered/tpfa/properties.hh +++ b/dumux/multidomain/facet/cellcentered/tpfa/properties.hh @@ -52,8 +52,8 @@ struct CCTpfaFacetCouplingModel { using InheritsFrom = std::tuple<CCTpfaModel>; //! Use the tpfa facet coupling-specific Darcy's law SET_TYPE_PROP(CCTpfaFacetCouplingModel, AdvectionType, - CCTpfaFacetCouplingDarcysLaw< typename GET_PROP_TYPE(TypeTag, Scalar), - typename GET_PROP_TYPE(TypeTag, FVGridGeometry) >); + CCTpfaFacetCouplingDarcysLaw< GetPropType<TypeTag, Properties::Scalar>, + GetPropType<TypeTag, Properties::FVGridGeometry> >); //! Use the cc local residual for models with facet coupling SET_TYPE_PROP(CCTpfaFacetCouplingModel, BaseLocalResidual, CCFacetCouplingLocalResidual<TypeTag>); @@ -61,7 +61,7 @@ SET_TYPE_PROP(CCTpfaFacetCouplingModel, BaseLocalResidual, CCFacetCouplingLocalR //! Per default, use the porous medium flow flux variables with the modified upwind scheme SET_TYPE_PROP(CCTpfaFacetCouplingModel, FluxVariables, - PorousMediumFluxVariables<TypeTag, CCFacetCouplingUpwindScheme<typename GET_PROP_TYPE(TypeTag, FVGridGeometry)>>); + PorousMediumFluxVariables<TypeTag, CCFacetCouplingUpwindScheme<GetPropType<TypeTag, Properties::FVGridGeometry>>>); } // namespace Properties } // namespace Dumux diff --git a/dumux/multidomain/facet/couplingmanager.hh b/dumux/multidomain/facet/couplingmanager.hh index 802cc15c7f..11c8261594 100644 --- a/dumux/multidomain/facet/couplingmanager.hh +++ b/dumux/multidomain/facet/couplingmanager.hh @@ -90,7 +90,7 @@ template< class MDTraits, class CouplingMapper, std::size_t bulkDomainId = 0, std::size_t lowDimDomainId = 1, - DiscretizationMethod bulkDM = GET_PROP_TYPE(typename MDTraits::template SubDomainTypeTag<bulkDomainId>, FVGridGeometry)::discMethod > + DiscretizationMethod bulkDM = GetPropType<typename MDTraits::template SubDomainTypeTag<bulkDomainId>, Properties::FVGridGeometry>::discMethod > class FacetCouplingManager; /*! @@ -130,17 +130,17 @@ class FacetCouplingThreeDomainManager template<std::size_t id> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<id>; // further types specific to the sub-problems - template<std::size_t id> using LocalResidual = typename GET_PROP_TYPE(SubDomainTypeTag<id>, LocalResidual); - template<std::size_t id> using PrimaryVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, PrimaryVariables); - template<std::size_t id> using Problem = typename GET_PROP_TYPE(SubDomainTypeTag<id>, Problem); + template<std::size_t id> using LocalResidual = GetPropType<SubDomainTypeTag<id>, Properties::LocalResidual>; + template<std::size_t id> using PrimaryVariables = GetPropType<SubDomainTypeTag<id>, Properties::PrimaryVariables>; + template<std::size_t id> using Problem = GetPropType<SubDomainTypeTag<id>, Properties::Problem>; - template<std::size_t id> using FVGridGeometry = typename GET_PROP_TYPE(SubDomainTypeTag<id>, FVGridGeometry); + template<std::size_t id> using FVGridGeometry = GetPropType<SubDomainTypeTag<id>, Properties::FVGridGeometry>; template<std::size_t id> using FVElementGeometry = typename FVGridGeometry<id>::LocalView; template<std::size_t id> using GridView = typename FVGridGeometry<id>::GridView; template<std::size_t id> using IndexType = typename GridView<id>::IndexSet::IndexType; template<std::size_t id> using Element = typename GridView<id>::template Codim<0>::Entity; - template<std::size_t id> using GridVariables = typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridVariables); + template<std::size_t id> using GridVariables = GetPropType<SubDomainTypeTag<id>, Properties::GridVariables>; template<std::size_t id> using ElementVolumeVariables = typename GridVariables<id>::GridVolumeVariables::LocalView; template<std::size_t id> using ElementFluxVariablesCache = typename GridVariables<id>::GridFluxVariablesCache::LocalView; diff --git a/dumux/multidomain/fvassembler.hh b/dumux/multidomain/fvassembler.hh index 6b49018d38..34c2e4a9ca 100644 --- a/dumux/multidomain/fvassembler.hh +++ b/dumux/multidomain/fvassembler.hh @@ -65,7 +65,7 @@ public: using Scalar = typename MDTraits::Scalar; template<std::size_t id> - using LocalResidual = typename GET_PROP_TYPE(SubDomainTypeTag<id>, LocalResidual); + using LocalResidual = GetPropType<SubDomainTypeTag<id>, Properties::LocalResidual>; using JacobianMatrix = typename MDTraits::JacobianMatrix; using SolutionVector = typename MDTraits::SolutionVector; diff --git a/dumux/multidomain/staggeredcouplingmanager.hh b/dumux/multidomain/staggeredcouplingmanager.hh index d5e8855bc3..a1ff234f32 100644 --- a/dumux/multidomain/staggeredcouplingmanager.hh +++ b/dumux/multidomain/staggeredcouplingmanager.hh @@ -42,7 +42,7 @@ class StaggeredCouplingManagerBase: public CouplingManager<MDTraits> using ParentType = CouplingManager<MDTraits>; template<std::size_t id> using SubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<id>; - template<std::size_t id> using Problem = typename GET_PROP_TYPE(SubDomainTypeTag<id>, Problem); + template<std::size_t id> using Problem = GetPropType<SubDomainTypeTag<id>, Properties::Problem>; using StaggeredSubDomainTypeTag = typename MDTraits::template SubDomainTypeTag<0>; diff --git a/dumux/multidomain/staggeredtraits.hh b/dumux/multidomain/staggeredtraits.hh index eb34f23d32..1296ac0077 100644 --- a/dumux/multidomain/staggeredtraits.hh +++ b/dumux/multidomain/staggeredtraits.hh @@ -89,29 +89,29 @@ private: template<std::size_t id> using SolutionSubVector = std::conditional_t<(id < 2), std::conditional_t<(id == 0), - typename GET_PROP_TYPE(SubDomainTypeTag<0>, CellCenterSolutionVector), - typename GET_PROP_TYPE(SubDomainTypeTag<0>, FaceSolutionVector)>, - typename GET_PROP_TYPE(SubDomainTypeTag<id>, SolutionVector)>; + GetPropType<SubDomainTypeTag<0>, Properties::CellCenterSolutionVector>, + GetPropType<SubDomainTypeTag<0>, Properties::FaceSolutionVector>>, + GetPropType<SubDomainTypeTag<id>, Properties::SolutionVector>>; template<std::size_t id> - using SubDomainScalar = typename GET_PROP_TYPE(SubDomainTypeTag<id>, Scalar); + using SubDomainScalar = GetPropType<SubDomainTypeTag<id>, Properties::Scalar>; template<std::size_t id> - using SubDomainProblem = std::shared_ptr<const typename GET_PROP_TYPE(SubDomainTypeTag<id>, Problem)>; + using SubDomainProblem = std::shared_ptr<const GetPropType<SubDomainTypeTag<id>, Properties::Problem>>; template<std::size_t id> using SubDomainFVGridGeometry = std::shared_ptr<std::conditional_t<(id < 2), std::conditional_t<(id == 0), - typename GET_PROP_TYPE(SubDomainTypeTag<0>, FVGridGeometry)::CellCenterFVGridGeometryType, - typename GET_PROP_TYPE(SubDomainTypeTag<0>, FVGridGeometry)::FaceFVGridGeometryType>, - typename GET_PROP_TYPE(SubDomainTypeTag<id>, FVGridGeometry)>>; + typename GetPropType<SubDomainTypeTag<0>, Properties::FVGridGeometry>::CellCenterFVGridGeometryType, + typename GetPropType<SubDomainTypeTag<0>, Properties::FVGridGeometry>::FaceFVGridGeometryType>, + GetPropType<SubDomainTypeTag<id>, Properties::FVGridGeometry>>>; template<std::size_t id> using SubDomainGridVariables = std::shared_ptr<std::conditional_t<(id < 2), std::conditional_t<(id == 0), - typename GET_PROP_TYPE(SubDomainTypeTag<0>, GridVariables)::CellCenterGridVariablesType, - typename GET_PROP_TYPE(SubDomainTypeTag<0>, GridVariables)::FaceGridVariablesType>, - typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridVariables)>>; + typename GetPropType<SubDomainTypeTag<0>, Properties::GridVariables>::CellCenterGridVariablesType, + typename GetPropType<SubDomainTypeTag<0>, Properties::GridVariables>::FaceGridVariablesType>, + GetPropType<SubDomainTypeTag<id>, Properties::GridVariables>>>; template<class Scalar, int numEq> struct JacobianType @@ -126,9 +126,9 @@ private: template<std::size_t id> using JacobianDiagBlock = std::conditional_t<(id < 2), std::conditional_t<(id == 0), - typename JacobianType<typename GET_PROP_TYPE(SubDomainTypeTag<0>, Scalar), GET_PROP_VALUE(SubDomainTypeTag<0>, NumEqCellCenter)>::type, - typename JacobianType<typename GET_PROP_TYPE(SubDomainTypeTag<0>, Scalar), GET_PROP_VALUE(SubDomainTypeTag<0>, NumEqFace)>::type>, - typename GET_PROP_TYPE(SubDomainTypeTag<id>, JacobianMatrix)>; + typename JacobianType<GetPropType<SubDomainTypeTag<0>, Properties::Scalar>, GET_PROP_VALUE(SubDomainTypeTag<0>, NumEqCellCenter)>::type, + typename JacobianType<GetPropType<SubDomainTypeTag<0>, Properties::Scalar>, GET_PROP_VALUE(SubDomainTypeTag<0>, NumEqFace)>::type>, + GetPropType<SubDomainTypeTag<id>, Properties::JacobianMatrix>>; public: @@ -140,9 +140,9 @@ public: template<std::size_t id> using PrimaryVariables = std::conditional_t<(id < 2), - std::conditional_t<(id == 0), typename GET_PROP_TYPE(SubDomainTypeTag<0>, CellCenterPrimaryVariables), - typename GET_PROP_TYPE(SubDomainTypeTag<0>, FacePrimaryVariables)>, - typename GET_PROP_TYPE(SubDomainTypeTag<id>, PrimaryVariables)>; + std::conditional_t<(id == 0), GetPropType<SubDomainTypeTag<0>, Properties::CellCenterPrimaryVariables>, + GetPropType<SubDomainTypeTag<0>, Properties::FacePrimaryVariables>>, + GetPropType<SubDomainTypeTag<id>, Properties::PrimaryVariables>>; template<typename... MatrixBlocks> using createMatrixType = typename Detail::createMultiTypeBlockMatrixType<Scalar, MatrixBlocks...>::type::type; diff --git a/dumux/multidomain/subdomainboxlocalassembler.hh b/dumux/multidomain/subdomainboxlocalassembler.hh index 8a5b8ebc0b..68945defdd 100644 --- a/dumux/multidomain/subdomainboxlocalassembler.hh +++ b/dumux/multidomain/subdomainboxlocalassembler.hh @@ -56,15 +56,15 @@ class SubDomainBoxLocalAssemblerBase : public FVLocalAssemblerBase<TypeTag, Asse { using ParentType = FVLocalAssemblerBase<TypeTag, Assembler,Implementation, implicit>; - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using LocalResidualValues = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using Problem = GetPropType<TypeTag, Properties::Problem>; + using LocalResidualValues = GetPropType<TypeTag, Properties::NumEqVector>; using ElementResidualVector = typename ParentType::LocalResidual::ElementResidualVector; - using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); + using JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix>; using SolutionVector = typename Assembler::SolutionVector; - using SubSolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using ElementBoundaryTypes = typename GET_PROP_TYPE(TypeTag, ElementBoundaryTypes); + using SubSolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using ElementBoundaryTypes = GetPropType<TypeTag, Properties::ElementBoundaryTypes>; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using GridVolumeVariables = typename GridVariables::GridVolumeVariables; using ElementVolumeVariables = typename GridVolumeVariables::LocalView; using ElementFluxVariablesCache = typename GridVariables::GridFluxVariablesCache::LocalView; @@ -74,12 +74,12 @@ class SubDomainBoxLocalAssemblerBase : public FVLocalAssemblerBase<TypeTag, Asse using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVGridGeometry::SubControlVolume; using SubControlVolumeFace = typename FVGridGeometry::SubControlVolumeFace; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; using CouplingManager = typename Assembler::CouplingManager; - static constexpr auto numEq = GET_PROP_TYPE(TypeTag, ModelTraits)::numEq(); + static constexpr auto numEq = GetPropType<TypeTag, Properties::ModelTraits>::numEq(); public: //! export the domain id of this sub-domain @@ -324,19 +324,19 @@ class SubDomainBoxLocalAssembler<id, TypeTag, Assembler, DiffMethod::numeric, /* SubDomainBoxLocalAssembler<id, TypeTag, Assembler, DiffMethod::numeric, true>, true > { using ThisType = SubDomainBoxLocalAssembler<id, TypeTag, Assembler, DiffMethod::numeric, /*implicit=*/true>; - using ParentType = SubDomainBoxLocalAssemblerBase<id, TypeTag, Assembler, ThisType, true>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); + using ParentType = SubDomainBoxLocalAssemblerBase<id, TypeTag, Assembler, ThisType, /*implicit=*/true>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; using ElementResidualVector = typename ParentType::LocalResidual::ElementResidualVector; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using GridView = typename FVGridGeometry::GridView; using Element = typename GridView::template Codim<0>::Entity; - enum { numEq = GET_PROP_TYPE(TypeTag, ModelTraits)::numEq() }; - enum { dim = GET_PROP_TYPE(TypeTag, GridView)::dimension }; + enum { numEq = GetPropType<TypeTag, Properties::ModelTraits>::numEq() }; + enum { dim = GetPropType<TypeTag, Properties::GridView>::dimension }; static constexpr bool enableGridFluxVarsCache = GET_PROP_VALUE(TypeTag, EnableGridFluxVariablesCache); static constexpr bool enableGridVolVarsCache = GET_PROP_VALUE(TypeTag, EnableGridVolumeVariablesCache); diff --git a/dumux/multidomain/subdomaincclocalassembler.hh b/dumux/multidomain/subdomaincclocalassembler.hh index 4495838887..f5891be855 100644 --- a/dumux/multidomain/subdomaincclocalassembler.hh +++ b/dumux/multidomain/subdomaincclocalassembler.hh @@ -57,14 +57,14 @@ class SubDomainCCLocalAssemblerBase : public FVLocalAssemblerBase<TypeTag, Assem { using ParentType = FVLocalAssemblerBase<TypeTag, Assembler,Implementation, implicit>; - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using LocalResidualValues = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); + using Problem = GetPropType<TypeTag, Properties::Problem>; + using LocalResidualValues = GetPropType<TypeTag, Properties::NumEqVector>; + using JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix>; using SolutionVector = typename Assembler::SolutionVector; - using SubSolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using ElementBoundaryTypes = typename GET_PROP_TYPE(TypeTag, ElementBoundaryTypes); + using SubSolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using ElementBoundaryTypes = GetPropType<TypeTag, Properties::ElementBoundaryTypes>; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using GridVolumeVariables = typename GridVariables::GridVolumeVariables; using ElementVolumeVariables = typename GridVolumeVariables::LocalView; using ElementFluxVariablesCache = typename GridVariables::GridFluxVariablesCache::LocalView; @@ -74,7 +74,7 @@ class SubDomainCCLocalAssemblerBase : public FVLocalAssemblerBase<TypeTag, Assem using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVGridGeometry::SubControlVolume; using SubControlVolumeFace = typename FVGridGeometry::SubControlVolumeFace; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; using CouplingManager = typename Assembler::CouplingManager; @@ -84,7 +84,7 @@ public: //! export the domain id of this sub-domain static constexpr auto domainId = typename Dune::index_constant<id>(); //! the local residual type of this domain - using LocalResidual = typename GET_PROP_TYPE(TypeTag, LocalResidual); + using LocalResidual = GetPropType<TypeTag, Properties::LocalResidual>; //! pull up constructor of parent class using ParentType::ParentType; @@ -277,15 +277,15 @@ class SubDomainCCLocalAssembler<id, TypeTag, Assembler, DiffMethod::numeric, /*i using ThisType = SubDomainCCLocalAssembler<id, TypeTag, Assembler, DiffMethod::numeric, /*implicit=*/true>; using ParentType = SubDomainCCLocalAssemblerBase<id, TypeTag, Assembler, ThisType, /*implicit=*/true>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using LocalResidualValues = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using LocalResidualValues = GetPropType<TypeTag, Properties::NumEqVector>; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using GridView = typename FVGridGeometry::GridView; using Element = typename GridView::template Codim<0>::Entity; - enum { numEq = GET_PROP_TYPE(TypeTag, ModelTraits)::numEq() }; + enum { numEq = GetPropType<TypeTag, Properties::ModelTraits>::numEq() }; enum { dim = GridView::dimension }; static constexpr bool enableGridFluxVarsCache = GET_PROP_VALUE(TypeTag, EnableGridFluxVariablesCache); @@ -677,12 +677,12 @@ class SubDomainCCLocalAssembler<id, TypeTag, Assembler, DiffMethod::analytic, /* { using ThisType = SubDomainCCLocalAssembler<id, TypeTag, Assembler, DiffMethod::analytic, /*implicit=*/true>; using ParentType = SubDomainCCLocalAssemblerBase<id, TypeTag, Assembler, ThisType, /*implicit=*/true>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using LocalResidualValues = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using LocalResidualValues = GetPropType<TypeTag, Properties::NumEqVector>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - enum { numEq = GET_PROP_TYPE(TypeTag, ModelTraits)::numEq() }; + enum { numEq = GetPropType<TypeTag, Properties::ModelTraits>::numEq() }; enum { dim = GridView::dimension }; static constexpr auto domainI = Dune::index_constant<id>(); diff --git a/dumux/multidomain/subdomainstaggeredlocalassembler.hh b/dumux/multidomain/subdomainstaggeredlocalassembler.hh index ace57abc8e..3489816439 100644 --- a/dumux/multidomain/subdomainstaggeredlocalassembler.hh +++ b/dumux/multidomain/subdomainstaggeredlocalassembler.hh @@ -55,28 +55,28 @@ class SubDomainStaggeredLocalAssemblerBase : public FVLocalAssemblerBase<TypeTag { using ParentType = FVLocalAssemblerBase<TypeTag, Assembler,Implementation, isImplicit>; - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using LocalResidual = typename GET_PROP_TYPE(TypeTag, LocalResidual); + using Problem = GetPropType<TypeTag, Properties::Problem>; + using LocalResidual = GetPropType<TypeTag, Properties::LocalResidual>; using SolutionVector = typename Assembler::SolutionVector; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using GridVolumeVariables = typename GridVariables::GridVolumeVariables; using ElementVolumeVariables = typename GridVolumeVariables::LocalView; using Scalar = typename GridVariables::Scalar; - using ElementFaceVariables = typename GET_PROP_TYPE(TypeTag, GridFaceVariables)::LocalView; + using ElementFaceVariables = typename GetPropType<TypeTag, Properties::GridFaceVariables>::LocalView; using CellCenterResidualValue = typename LocalResidual::CellCenterResidualValue; using FaceResidualValue = typename LocalResidual::FaceResidualValue; using FVGridGeometry = typename GridVariables::GridGeometry; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolumeFace = typename FVGridGeometry::SubControlVolumeFace; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; using CouplingManager = typename Assembler::CouplingManager; - static constexpr auto numEq = GET_PROP_TYPE(TypeTag, ModelTraits)::numEq(); + static constexpr auto numEq = GetPropType<TypeTag, Properties::ModelTraits>::numEq(); public: static constexpr auto domainId = typename Dune::index_constant<id>(); @@ -472,21 +472,21 @@ class SubDomainStaggeredLocalAssembler<id, TypeTag, Assembler, DiffMethod::numer { using ThisType = SubDomainStaggeredLocalAssembler<id, TypeTag, Assembler, DiffMethod::numeric, /*implicit=*/true>; using ParentType = SubDomainStaggeredLocalAssemblerImplicitBase<id, TypeTag, Assembler, ThisType>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using LocalResidual = typename GET_PROP_TYPE(TypeTag, LocalResidual); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using LocalResidual = GetPropType<TypeTag, Properties::LocalResidual>; using CellCenterResidualValue = typename LocalResidual::CellCenterResidualValue; using FaceResidualValue = typename LocalResidual::FaceResidualValue; - using Element = typename GET_PROP_TYPE(TypeTag, GridView)::template Codim<0>::Entity; - using GridFaceVariables = typename GET_PROP_TYPE(TypeTag, GridFaceVariables); - using ElementFaceVariables = typename GET_PROP_TYPE(TypeTag, GridFaceVariables)::LocalView; + using Element = typename GetPropType<TypeTag, Properties::GridView>::template Codim<0>::Entity; + using GridFaceVariables = GetPropType<TypeTag, Properties::GridFaceVariables>; + using ElementFaceVariables = typename GetPropType<TypeTag, Properties::GridFaceVariables>::LocalView; using FaceVariables = typename ElementFaceVariables::FaceVariables; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolumeFace = typename FVGridGeometry::SubControlVolumeFace; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using FacePrimaryVariables = typename GET_PROP_TYPE(TypeTag, FacePrimaryVariables); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using FacePrimaryVariables = GetPropType<TypeTag, Properties::FacePrimaryVariables>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; static constexpr bool enableGridFluxVarsCache = GET_PROP_VALUE(TypeTag, EnableGridFluxVariablesCache); static constexpr int maxNeighbors = 4*(2*ModelTraits::dim()); @@ -626,7 +626,7 @@ public: const auto& fvGridGeometry = this->problem().fvGridGeometry(); const auto& curSol = this->curSol()[domainI]; - using FaceSolutionVector = typename GET_PROP_TYPE(TypeTag, FaceSolutionVector); // TODO: use reserved vector + using FaceSolutionVector = GetPropType<TypeTag, Properties::FaceSolutionVector>; // TODO: use reserved vector FaceSolutionVector origResiduals; origResiduals.resize(fvGeometry.numScvf()); origResiduals = 0.0; @@ -651,7 +651,7 @@ public: // set the actual dof index const auto faceGlobalI = scvf.dofIndex(); - using FaceSolution = typename GET_PROP_TYPE(TypeTag, StaggeredFaceSolution); + using FaceSolution = GetPropType<TypeTag, Properties::StaggeredFaceSolution>; const auto origFaceSolution = FaceSolution(scvf, curSol, fvGridGeometry); // build derivatives with for face dofs w.r.t. cell center dofs diff --git a/dumux/multidomain/traits.hh b/dumux/multidomain/traits.hh index f8b1770c71..bf8b7806d1 100644 --- a/dumux/multidomain/traits.hh +++ b/dumux/multidomain/traits.hh @@ -125,28 +125,28 @@ struct MultiDomainTraits //! the sub domain geometry template<std::size_t id> - using SubDomainFVGridGeometry = typename GET_PROP_TYPE(SubDomainTypeTag<id>, FVGridGeometry); + using SubDomainFVGridGeometry = GetPropType<SubDomainTypeTag<id>, Properties::FVGridGeometry>; private: using Indices = std::make_index_sequence<numSubDomains>; template<std::size_t id> - using SolutionSubVector = typename GET_PROP_TYPE(SubDomainTypeTag<id>, SolutionVector); + using SolutionSubVector = GetPropType<SubDomainTypeTag<id>, Properties::SolutionVector>; template<std::size_t id> - using SubDomainScalar = typename GET_PROP_TYPE(SubDomainTypeTag<id>, Scalar); + using SubDomainScalar = GetPropType<SubDomainTypeTag<id>, Properties::Scalar>; template<std::size_t id> - using SubDomainProblem = std::shared_ptr<const typename GET_PROP_TYPE(SubDomainTypeTag<id>, Problem)>; + using SubDomainProblem = std::shared_ptr<const GetPropType<SubDomainTypeTag<id>, Properties::Problem>>; template<std::size_t id> - using SubDomainFVGridGeometryPtr = std::shared_ptr<const typename GET_PROP_TYPE(SubDomainTypeTag<id>, FVGridGeometry)>; + using SubDomainFVGridGeometryPtr = std::shared_ptr<const GetPropType<SubDomainTypeTag<id>, Properties::FVGridGeometry>>; template<std::size_t id> - using SubDomainGridVariables = std::shared_ptr<typename GET_PROP_TYPE(SubDomainTypeTag<id>, GridVariables)>; + using SubDomainGridVariables = std::shared_ptr<GetPropType<SubDomainTypeTag<id>, Properties::GridVariables>>; template<std::size_t id> - using JacobianDiagBlock = typename GET_PROP_TYPE(SubDomainTypeTag<id>, JacobianMatrix); + using JacobianDiagBlock = GetPropType<SubDomainTypeTag<id>, Properties::JacobianMatrix>; public: diff --git a/dumux/porousmediumflow/1p/incompressiblelocalresidual.hh b/dumux/porousmediumflow/1p/incompressiblelocalresidual.hh index d70860251b..219394d476 100644 --- a/dumux/porousmediumflow/1p/incompressiblelocalresidual.hh +++ b/dumux/porousmediumflow/1p/incompressiblelocalresidual.hh @@ -40,19 +40,19 @@ template<class TypeTag> class OnePIncompressibleLocalResidual : public ImmiscibleLocalResidual<TypeTag> { using ParentType = ImmiscibleLocalResidual<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + 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 Element = typename GridView::template Codim<0>::Entity; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; // first index for the mass balance enum { conti0EqIdx = Indices::conti0EqIdx }; enum { pressureIdx = Indices::pressureIdx }; @@ -81,7 +81,7 @@ public: //! flux derivatives for the cell-centered tpfa scheme template<class PartialDerivativeMatrices, class T = TypeTag> - std::enable_if_t<GET_PROP_TYPE(T, FVGridGeometry)::discMethod == DiscretizationMethod::cctpfa, void> + std::enable_if_t<GetPropType<T, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::cctpfa, void> addFluxDerivatives(PartialDerivativeMatrices& derivativeMatrices, const Problem& problem, const Element& element, @@ -107,7 +107,7 @@ public: //! flux derivatives for the cell-centered mpfa scheme template<class PartialDerivativeMatrices, class T = TypeTag> - std::enable_if_t<GET_PROP_TYPE(T, FVGridGeometry)::discMethod == DiscretizationMethod::ccmpfa, void> + std::enable_if_t<GetPropType<T, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::ccmpfa, void> addFluxDerivatives(PartialDerivativeMatrices& derivativeMatrices, const Problem& problem, const Element& element, @@ -165,7 +165,7 @@ public: //! flux derivatives for the box scheme template<class JacobianMatrix, class T = TypeTag> - std::enable_if_t<GET_PROP_TYPE(T, FVGridGeometry)::discMethod == DiscretizationMethod::box, void> + std::enable_if_t<GetPropType<T, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::box, void> addFluxDerivatives(JacobianMatrix& A, const Problem& problem, const Element& element, @@ -179,7 +179,7 @@ public: static_assert(FluidSystem::viscosityIsConstant(0), "1p/incompressiblelocalresidual.hh: Only fluids with constant viscosities are allowed!"); - using AdvectionType = typename GET_PROP_TYPE(T, AdvectionType); + using AdvectionType = GetPropType<T, Properties::AdvectionType>; const auto ti = AdvectionType::calculateTransmissibilities(problem, element, fvGeometry, @@ -203,7 +203,7 @@ public: //! Dirichlet flux derivatives for the cell-centered tpfa scheme template<class PartialDerivativeMatrices, class T = TypeTag> - std::enable_if_t<GET_PROP_TYPE(T, FVGridGeometry)::discMethod == DiscretizationMethod::cctpfa, void> + std::enable_if_t<GetPropType<T, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::cctpfa, void> addCCDirichletFluxDerivatives(PartialDerivativeMatrices& derivativeMatrices, const Problem& problem, const Element& element, @@ -223,7 +223,7 @@ public: //! Dirichlet flux derivatives for the cell-centered mpfa scheme template<class PartialDerivativeMatrices, class T = TypeTag> - std::enable_if_t<GET_PROP_TYPE(T, FVGridGeometry)::discMethod == DiscretizationMethod::ccmpfa, void> + std::enable_if_t<GetPropType<T, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::ccmpfa, void> addCCDirichletFluxDerivatives(PartialDerivativeMatrices& derivativeMatrices, const Problem& problem, const Element& element, diff --git a/dumux/porousmediumflow/1p/model.hh b/dumux/porousmediumflow/1p/model.hh index 210fbcb453..51a3a7231b 100644 --- a/dumux/porousmediumflow/1p/model.hh +++ b/dumux/porousmediumflow/1p/model.hh @@ -126,19 +126,19 @@ struct OnePNI { using InheritsFrom = std::tuple<OneP>; }; SET_TYPE_PROP(OneP, IOFields, OnePIOFields); //!< default I/O fields specific to this model SET_TYPE_PROP(OneP, LocalResidual, ImmiscibleLocalResidual<TypeTag>); //!< the local residual function SET_TYPE_PROP(OneP, BaseModelTraits, OnePModelTraits); //!< states some specifics of the one-phase model -SET_TYPE_PROP(OneP, ModelTraits, typename GET_PROP_TYPE(TypeTag, BaseModelTraits)); //!< default the actually used traits to the base traits +SET_TYPE_PROP(OneP, ModelTraits, GetPropType<TypeTag, Properties::BaseModelTraits>); //!< default the actually used traits to the base traits //! Set the volume variables property SET_PROP(OneP, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PT = typename GET_PROP_TYPE(TypeTag, SpatialParams)::PermeabilityType; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType; using Traits = OnePVolumeVariablesTraits<PV, FSY, FST, SSY, SST, PT, MT>; public: @@ -154,8 +154,8 @@ public: SET_PROP(OneP, FluidState) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = ImmiscibleFluidState<Scalar, FluidSystem>; }; @@ -173,7 +173,7 @@ SET_TYPE_PROP(OnePNI, ModelTraits, PorousMediumFlowNIModelTraits<OnePModelTraits //! Use the average for effective conductivities SET_TYPE_PROP(OnePNI, ThermalConductivityModel, - ThermalConductivityAverage<typename GET_PROP_TYPE(TypeTag, Scalar)>); + ThermalConductivityAverage<GetPropType<TypeTag, Properties::Scalar>>); } // end namespace Properties } // end namespace Dumux diff --git a/dumux/porousmediumflow/1pnc/model.hh b/dumux/porousmediumflow/1pnc/model.hh index 6a5482a58e..bd3519aeea 100644 --- a/dumux/porousmediumflow/1pnc/model.hh +++ b/dumux/porousmediumflow/1pnc/model.hh @@ -150,17 +150,17 @@ struct OnePNCNI { using InheritsFrom = std::tuple<OnePNC>; }; /////////////////////////////////////////////////////////////////////////// //! Set as default that no component mass balance is replaced by the total mass balance -SET_INT_PROP(OnePNC, ReplaceCompEqIdx, GET_PROP_TYPE(TypeTag, FluidSystem)::numComponents); +SET_INT_PROP(OnePNC, ReplaceCompEqIdx, GetPropType<TypeTag, Properties::FluidSystem>::numComponents); //! The base model traits. Per default, we use the number of components of the fluid system. SET_PROP(OnePNC, BaseModelTraits) { private: - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = OnePNCModelTraits<FluidSystem::numComponents, GET_PROP_VALUE(TypeTag, UseMoles), GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx)>; }; -SET_TYPE_PROP(OnePNC, ModelTraits, typename GET_PROP_TYPE(TypeTag, BaseModelTraits)); //!< default the actually used traits to the base traits +SET_TYPE_PROP(OnePNC, ModelTraits, GetPropType<TypeTag, Properties::BaseModelTraits>); //!< default the actually used traits to the base traits /*! @@ -172,16 +172,16 @@ SET_TYPE_PROP(OnePNC, ModelTraits, typename GET_PROP_TYPE(TypeTag, BaseModelTrai SET_PROP(OnePNC, FluidState) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; public: using type = CompositionalFluidState<Scalar, FluidSystem>; }; //! Use the model after Millington (1961) for the effective diffusivity SET_TYPE_PROP(OnePNC, EffectiveDiffusivityModel, - DiffusivityMillingtonQuirk<typename GET_PROP_TYPE(TypeTag, Scalar)>); + DiffusivityMillingtonQuirk<GetPropType<TypeTag, Properties::Scalar>>); //! Use mole fractions in the balance equations by default SET_BOOL_PROP(OnePNC, UseMoles, true); @@ -193,13 +193,13 @@ SET_TYPE_PROP(OnePNC, LocalResidual, CompositionalLocalResidual<TypeTag>); SET_PROP(OnePNC, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PT = typename GET_PROP_TYPE(TypeTag, SpatialParams)::PermeabilityType; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType; static_assert(FSY::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid system"); static_assert(FST::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid state"); static_assert(FSY::numPhases == MT::numPhases(), "Number of phases mismatch between model and fluid system"); @@ -223,13 +223,13 @@ SET_TYPE_PROP(OnePNCNI, IOFields, EnergyIOFields<OnePNCIOFields>); //! Use the average for effective conductivities SET_TYPE_PROP(OnePNCNI, ThermalConductivityModel, - ThermalConductivityAverage<typename GET_PROP_TYPE(TypeTag, Scalar)>); + ThermalConductivityAverage<GetPropType<TypeTag, Properties::Scalar>>); //! model traits of the non-isothermal model. SET_PROP(OnePNCNI, ModelTraits) { private: - using IsothermalTraits = typename GET_PROP_TYPE(TypeTag, BaseModelTraits); + using IsothermalTraits = GetPropType<TypeTag, Properties::BaseModelTraits>; public: using type = PorousMediumFlowNIModelTraits<IsothermalTraits>; }; diff --git a/dumux/porousmediumflow/1pncmin/model.hh b/dumux/porousmediumflow/1pncmin/model.hh index 857ef3b469..4ced4a26fe 100644 --- a/dumux/porousmediumflow/1pncmin/model.hh +++ b/dumux/porousmediumflow/1pncmin/model.hh @@ -101,13 +101,13 @@ struct OnePNCMinNI { using InheritsFrom = std::tuple<OnePNCMin>; }; SET_PROP(OnePNCMin, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PT = typename GET_PROP_TYPE(TypeTag, SpatialParams)::PermeabilityType; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType; static_assert(FSY::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid system"); static_assert(FST::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid state"); @@ -127,8 +127,8 @@ SET_TYPE_PROP(OnePNCMin, LocalResidual, MineralizationLocalResidual<TypeTag>); SET_PROP(OnePNCMin, ModelTraits) { private: - using SolidSystem = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using NonMinTraits = typename GET_PROP_TYPE(TypeTag, BaseModelTraits); + using SolidSystem = GetPropType<TypeTag, Properties::SolidSystem>; + using NonMinTraits = GetPropType<TypeTag, Properties::BaseModelTraits>; public: using type = MineralizationModelTraits<NonMinTraits, SolidSystem::numComponents, SolidSystem::numInertComponents>; }; @@ -137,8 +137,8 @@ public: SET_PROP(OnePNCMin, SolidState) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using SolidSystem = typename GET_PROP_TYPE(TypeTag, SolidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using SolidSystem = GetPropType<TypeTag, Properties::SolidSystem>; public: using type = CompositionalSolidState<Scalar, SolidSystem>; }; @@ -161,8 +161,8 @@ SET_PROP(OnePNCMinNI, IOFields) SET_PROP(OnePNCMinNI, ModelTraits) { private: - using SolidSystem = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using OnePNCTraits = typename GET_PROP_TYPE(TypeTag, BaseModelTraits); + using SolidSystem = GetPropType<TypeTag, Properties::SolidSystem>; + using OnePNCTraits = GetPropType<TypeTag, Properties::BaseModelTraits>; using IsothermalTraits = MineralizationModelTraits<OnePNCTraits, SolidSystem::numComponents, SolidSystem::numInertComponents>; public: using type = PorousMediumFlowNIModelTraits<IsothermalTraits>; @@ -171,7 +171,7 @@ public: //! Use the average for effective conductivities SET_TYPE_PROP(OnePNCMinNI, ThermalConductivityModel, - ThermalConductivityAverage<typename GET_PROP_TYPE(TypeTag, Scalar)>); + ThermalConductivityAverage<GetPropType<TypeTag, Properties::Scalar>>); } // end namespace Properties } // end namespace Dumux diff --git a/dumux/porousmediumflow/2p/gridadaptindicator.hh b/dumux/porousmediumflow/2p/gridadaptindicator.hh index e794f0bcff..77ff9d02b9 100644 --- a/dumux/porousmediumflow/2p/gridadaptindicator.hh +++ b/dumux/porousmediumflow/2p/gridadaptindicator.hh @@ -42,12 +42,12 @@ namespace Dumux { template<class TypeTag> class TwoPGridAdaptIndicator { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; enum { saturationIdx = Indices::saturationIdx }; diff --git a/dumux/porousmediumflow/2p/griddatatransfer.hh b/dumux/porousmediumflow/2p/griddatatransfer.hh index 6be93a832e..01b2ee6a7e 100644 --- a/dumux/porousmediumflow/2p/griddatatransfer.hh +++ b/dumux/porousmediumflow/2p/griddatatransfer.hh @@ -45,22 +45,22 @@ namespace Dumux { template<class TypeTag> class TwoPGridDataTransfer : public GridDataTransfer { - using Grid = typename GET_PROP_TYPE(TypeTag, Grid); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Grid = GetPropType<TypeTag, Properties::Grid>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; using Element = typename Grid::template Codim<0>::Entity; using ElementSolution = std::decay_t<decltype(elementSolution(std::declval<Element>(), std::declval<SolutionVector>(), std::declval<FVGridGeometry>()))>; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; struct AdaptedValues @@ -76,7 +76,7 @@ class TwoPGridDataTransfer : public GridDataTransfer static constexpr int dim = Grid::dimension; static constexpr int dimWorld = Grid::dimensionworld; - static constexpr bool isBox = GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod == DiscretizationMethod::box; + static constexpr bool isBox = GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::box; // saturation primary variable index enum { saturationIdx = Indices::saturationIdx }; diff --git a/dumux/porousmediumflow/2p/incompressiblelocalresidual.hh b/dumux/porousmediumflow/2p/incompressiblelocalresidual.hh index 5082f021cc..3383da378a 100644 --- a/dumux/porousmediumflow/2p/incompressiblelocalresidual.hh +++ b/dumux/porousmediumflow/2p/incompressiblelocalresidual.hh @@ -47,22 +47,22 @@ template<class TypeTag> class TwoPIncompressibleLocalResidual : public ImmiscibleLocalResidual<TypeTag> { using ParentType = ImmiscibleLocalResidual<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename 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 Element = typename GridView::template Codim<0>::Entity; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; static constexpr int numPhases = ModelTraits::numPhases(); static constexpr int pressureIdx = ModelTraits::Indices::pressureIdx; @@ -148,7 +148,7 @@ public: * \param scv The sub control volume */ template<class PartialDerivativeMatrices, class T = TypeTag> - std::enable_if_t<GET_PROP_TYPE(T, FVGridGeometry)::discMethod == DiscretizationMethod::cctpfa, void> + std::enable_if_t<GetPropType<T, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::cctpfa, void> addFluxDerivatives(PartialDerivativeMatrices& derivativeMatrices, const Problem& problem, const Element& element, @@ -171,7 +171,7 @@ public: "2p/incompressiblelocalresidual.hh: Analytic differentiation has to be checked for p1-s0 formulation!"); using MaterialLaw = typename Problem::SpatialParams::MaterialLaw; - using AdvectionType = typename GET_PROP_TYPE(TypeTag, AdvectionType); + using AdvectionType = GetPropType<TypeTag, Properties::AdvectionType>; // evaluate the current wetting phase Darcy flux and resulting upwind weights static const Scalar upwindWeight = getParamFromGroup<Scalar>(problem.paramGroup(), "Implicit.UpwindWeight"); @@ -266,7 +266,7 @@ public: * \param scv The sub control volume */ template<class JacobianMatrix, class T = TypeTag> - std::enable_if_t<GET_PROP_TYPE(T, FVGridGeometry)::discMethod == DiscretizationMethod::box, void> + std::enable_if_t<GetPropType<T, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::box, void> addFluxDerivatives(JacobianMatrix& A, const Problem& problem, const Element& element, @@ -289,7 +289,7 @@ public: "2p/incompressiblelocalresidual.hh: Analytic differentiation has to be checked for p0-s1 formulation!"); using MaterialLaw = typename Problem::SpatialParams::MaterialLaw; - using AdvectionType = typename GET_PROP_TYPE(TypeTag, AdvectionType); + using AdvectionType = GetPropType<TypeTag, Properties::AdvectionType>; // evaluate the current wetting phase Darcy flux and resulting upwind weights static const Scalar upwindWeight = getParamFromGroup<Scalar>(problem.paramGroup(), "Implicit.UpwindWeight"); @@ -434,7 +434,7 @@ public: const SubControlVolumeFace& scvf) const { using MaterialLaw = typename Problem::SpatialParams::MaterialLaw; - using AdvectionType = typename GET_PROP_TYPE(TypeTag, AdvectionType); + using AdvectionType = GetPropType<TypeTag, Properties::AdvectionType>; // evaluate the current wetting phase Darcy flux and resulting upwind weights static const Scalar upwindWeight = getParamFromGroup<Scalar>(problem.paramGroup(), "Implicit.UpwindWeight"); diff --git a/dumux/porousmediumflow/2p/model.hh b/dumux/porousmediumflow/2p/model.hh index 9d2b2487b2..48fd8db6f8 100644 --- a/dumux/porousmediumflow/2p/model.hh +++ b/dumux/porousmediumflow/2p/model.hh @@ -171,7 +171,7 @@ SET_TYPE_PROP(TwoP, LocalResidual, ImmiscibleLocalResidual<TypeTag>); // //! The base model traits class SET_TYPE_PROP(TwoP, BaseModelTraits, TwoPModelTraits<GET_PROP_VALUE(TypeTag, Formulation)>); -SET_TYPE_PROP(TwoP, ModelTraits, typename GET_PROP_TYPE(TypeTag, BaseModelTraits)); //!< default the actually used traits to the base traits +SET_TYPE_PROP(TwoP, ModelTraits, GetPropType<TypeTag, Properties::BaseModelTraits>); //!< default the actually used traits to the base traits //! Set the vtk output fields specific to the twop model SET_TYPE_PROP(TwoP, IOFields, TwoPIOFields); @@ -180,15 +180,15 @@ SET_TYPE_PROP(TwoP, IOFields, TwoPIOFields); SET_PROP(TwoP, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PT = typename GET_PROP_TYPE(TypeTag, SpatialParams)::PermeabilityType; - - static constexpr auto DM = GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType; + + static constexpr auto DM = GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod; static constexpr bool enableIS = GET_PROP_VALUE(TypeTag, EnableBoxInterfaceSolver); // class used for scv-wise reconstruction of non-wetting phase saturations using SR = TwoPScvSaturationReconstruction<DM, enableIS>; @@ -202,8 +202,8 @@ public: SET_PROP(TwoP, FluidState) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = ImmiscibleFluidState<Scalar, FluidSystem>; }; @@ -213,7 +213,7 @@ public: //////////////////////////////////////////////////////// //! The non-isothermal model traits class -SET_TYPE_PROP(TwoPNI, ModelTraits, PorousMediumFlowNIModelTraits<typename GET_PROP_TYPE(TypeTag, BaseModelTraits)>); +SET_TYPE_PROP(TwoPNI, ModelTraits, PorousMediumFlowNIModelTraits<GetPropType<TypeTag, Properties::BaseModelTraits>>); //! Set the vtk output fields specific to the non-isothermal twop model SET_TYPE_PROP(TwoPNI, IOFields, EnergyIOFields<TwoPIOFields>); @@ -222,7 +222,7 @@ SET_TYPE_PROP(TwoPNI, IOFields, EnergyIOFields<TwoPIOFields>); SET_PROP(TwoPNI, ThermalConductivityModel) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = ThermalConductivitySomerton<Scalar>; }; diff --git a/dumux/porousmediumflow/2p1c/darcyslaw.hh b/dumux/porousmediumflow/2p1c/darcyslaw.hh index ede39d6529..bac0837df6 100644 --- a/dumux/porousmediumflow/2p1c/darcyslaw.hh +++ b/dumux/porousmediumflow/2p1c/darcyslaw.hh @@ -48,18 +48,18 @@ template <class TypeTag> class TwoPOneCDarcysLaw : public DarcysLaw<TypeTag> { using ParentType = DarcysLaw<TypeTag>; - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + 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 ElemFluxVarCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using FluxVarCache = typename GET_PROP_TYPE(TypeTag, FluxVariablesCache); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using ElemFluxVarCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using FluxVarCache = GetPropType<TypeTag, Properties::FluxVariablesCache>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using Element = typename GridView::template Codim<0>::Entity; using IndexType = typename GridView::IndexSet::IndexType; using CoordScalar = typename GridView::ctype; diff --git a/dumux/porousmediumflow/2p1c/localresidual.hh b/dumux/porousmediumflow/2p1c/localresidual.hh index f7797145cc..21b124056a 100644 --- a/dumux/porousmediumflow/2p1c/localresidual.hh +++ b/dumux/porousmediumflow/2p1c/localresidual.hh @@ -38,23 +38,23 @@ template<class TypeTag> class TwoPOneCLocalResidual : public ImmiscibleLocalResidual<TypeTag> { using ParentType = ImmiscibleLocalResidual<TypeTag>; - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + 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 Element = typename GridView::template Codim<0>::Entity; - using EnergyLocalResidual = typename GET_PROP_TYPE(TypeTag, EnergyLocalResidual); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using EnergyLocalResidual = GetPropType<TypeTag, Properties::EnergyLocalResidual>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; // first index for the mass balance enum { conti0EqIdx = Indices::conti0EqIdx }; - static const int numPhases = GET_PROP_TYPE(TypeTag, ModelTraits)::numPhases(); + static const int numPhases = GetPropType<TypeTag, Properties::ModelTraits>::numPhases(); public: //! Use the parent type's constructor diff --git a/dumux/porousmediumflow/2p1c/model.hh b/dumux/porousmediumflow/2p1c/model.hh index f6379d5d3c..f053b8a243 100644 --- a/dumux/porousmediumflow/2p1c/model.hh +++ b/dumux/porousmediumflow/2p1c/model.hh @@ -157,8 +157,8 @@ struct TwoPOneCNI { using InheritsFrom = std::tuple<PorousMediumFlow>; }; SET_PROP(TwoPOneCNI, FluidState) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = CompositionalFluidState<Scalar, FluidSystem>; }; @@ -180,13 +180,13 @@ SET_TYPE_PROP(TwoPOneCNI, AdvectionType, TwoPOneCDarcysLaw<TypeTag>); SET_PROP(TwoPOneCNI, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PT = typename GET_PROP_TYPE(TypeTag, SpatialParams)::PermeabilityType; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType; static_assert(FSY::numComponents == 1, "Only fluid systems with 1 component are supported by the 2p1cni model!"); static_assert(FSY::numPhases == 2, "Only fluid systems with 2 phases are supported by the 2p1cni model!"); @@ -203,14 +203,14 @@ SET_TYPE_PROP(TwoPOneCNI, PrimaryVariableSwitch, TwoPOneCPrimaryVariableSwitch); SET_PROP(TwoPOneCNI, PrimaryVariables) { private: - using PrimaryVariablesVector = Dune::FieldVector<typename GET_PROP_TYPE(TypeTag, Scalar), - GET_PROP_TYPE(TypeTag, ModelTraits)::numEq()>; + using PrimaryVariablesVector = Dune::FieldVector<GetPropType<TypeTag, Properties::Scalar>, + GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; public: using type = SwitchablePrimaryVariables<PrimaryVariablesVector, int>; }; //! Somerton is used as default model to compute the effective thermal heat conductivity. -SET_TYPE_PROP(TwoPOneCNI, ThermalConductivityModel, ThermalConductivitySomerton<typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(TwoPOneCNI, ThermalConductivityModel, ThermalConductivitySomerton<GetPropType<TypeTag, Properties::Scalar>>); ////////////////////////////////////////////////////////////////// // Property values for isothermal model required for the general non-isothermal model diff --git a/dumux/porousmediumflow/2p2c/model.hh b/dumux/porousmediumflow/2p2c/model.hh index bb2e11702d..971478e357 100644 --- a/dumux/porousmediumflow/2p2c/model.hh +++ b/dumux/porousmediumflow/2p2c/model.hh @@ -147,7 +147,7 @@ struct TwoPTwoCNI { using InheritsFrom = std::tuple<TwoPTwoC>; }; SET_PROP(TwoPTwoC, BaseModelTraits) { private: - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static_assert(FluidSystem::numComponents == 2, "Only fluid systems with 2 components are supported by the 2p-2c model!"); static_assert(FluidSystem::numPhases == 2, "Only fluid systems with 2 phases are supported by the 2p-2c model!"); @@ -156,19 +156,19 @@ public: GET_PROP_VALUE(TypeTag, UseMoles), GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx) >; }; -SET_TYPE_PROP(TwoPTwoC, ModelTraits, typename GET_PROP_TYPE(TypeTag, BaseModelTraits)); +SET_TYPE_PROP(TwoPTwoC, ModelTraits, GetPropType<TypeTag, Properties::BaseModelTraits>); //! Use the 2p2c VolumeVariables SET_PROP(TwoPTwoC, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PT = typename GET_PROP_TYPE(TypeTag, SpatialParams)::PermeabilityType; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType; static_assert(FSY::numComponents == 2, "Only fluid systems with 2 components are supported by the 2p2c model!"); static_assert(FSY::numPhases == 2, "Only fluid systems with 2 phases are supported by the 2p2c model!"); @@ -191,7 +191,7 @@ SET_BOOL_PROP(TwoPTwoC, UseConstraintSolver, true); SET_PROP(TwoPTwoCNI, ModelTraits) { private: - using IsothermalTraits = typename GET_PROP_TYPE(TypeTag, BaseModelTraits); + using IsothermalTraits = GetPropType<TypeTag, Properties::BaseModelTraits>; public: using type = PorousMediumFlowNIModelTraits<IsothermalTraits>; }; @@ -200,7 +200,7 @@ public: SET_TYPE_PROP(TwoPTwoCNI, IOFields, EnergyIOFields<TwoPNCIOFields>); //! Somerton is used as default model to compute the effective thermal heat conductivity -SET_TYPE_PROP(TwoPTwoCNI, ThermalConductivityModel, ThermalConductivitySomerton<typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(TwoPTwoCNI, ThermalConductivityModel, ThermalConductivitySomerton<GetPropType<TypeTag, Properties::Scalar>>); } // end namespace Properties } // end namespace Dumux diff --git a/dumux/porousmediumflow/2pnc/model.hh b/dumux/porousmediumflow/2pnc/model.hh index 6b266a3a50..7b8c338464 100644 --- a/dumux/porousmediumflow/2pnc/model.hh +++ b/dumux/porousmediumflow/2pnc/model.hh @@ -211,8 +211,8 @@ struct TwoPNCNI { using InheritsFrom = std::tuple<TwoPNC>; }; SET_PROP(TwoPNC, PrimaryVariables) { private: - using PrimaryVariablesVector = Dune::FieldVector<typename GET_PROP_TYPE(TypeTag, Scalar), - GET_PROP_TYPE(TypeTag, ModelTraits)::numEq()>; + using PrimaryVariablesVector = Dune::FieldVector<GetPropType<TypeTag, Properties::Scalar>, + GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; public: using type = SwitchablePrimaryVariables<PrimaryVariablesVector, int>; }; @@ -223,13 +223,13 @@ SET_TYPE_PROP(TwoPNC, PrimaryVariableSwitch, TwoPNCPrimaryVariableSwitch<TypeTag SET_PROP(TwoPNC, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PT = typename GET_PROP_TYPE(TypeTag, SpatialParams)::PermeabilityType; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType; using Traits = TwoPNCVolumeVariablesTraits<PV, FSY, FST, SSY, SST, PT, MT>; public: @@ -241,7 +241,7 @@ SET_PROP(TwoPNC, BaseModelTraits) { private: //! we use the number of components specified by the fluid system here - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static_assert(FluidSystem::numPhases == 2, "Only fluid systems with 2 fluid phases are supported by the 2p-nc model!"); public: using type = TwoPNCModelTraits<FluidSystem::numComponents, @@ -249,14 +249,14 @@ public: GET_PROP_VALUE(TypeTag, SetMoleFractionsForFirstPhase), GET_PROP_VALUE(TypeTag, Formulation), GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx)>; }; -SET_TYPE_PROP(TwoPNC, ModelTraits, typename GET_PROP_TYPE(TypeTag, BaseModelTraits)); //!< default the actually used traits to the base traits +SET_TYPE_PROP(TwoPNC, ModelTraits, GetPropType<TypeTag, Properties::BaseModelTraits>); //!< default the actually used traits to the base traits //! Set the vtk output fields specific to this model SET_TYPE_PROP(TwoPNC, IOFields, TwoPNCIOFields); SET_TYPE_PROP(TwoPNC, LocalResidual, CompositionalLocalResidual<TypeTag>); //!< Use the compositional local residual -SET_INT_PROP(TwoPNC, ReplaceCompEqIdx, GET_PROP_TYPE(TypeTag, FluidSystem)::numComponents); //!< Per default, no component mass balance is replaced +SET_INT_PROP(TwoPNC, ReplaceCompEqIdx, GetPropType<TypeTag, Properties::FluidSystem>::numComponents); //!< Per default, no component mass balance is replaced //! Default formulation is pw-Sn, overwrite if necessary SET_PROP(TwoPNC, Formulation) @@ -266,14 +266,14 @@ SET_BOOL_PROP(TwoPNC, SetMoleFractionsForFirstPhase, true); //!< Set the primar SET_BOOL_PROP(TwoPNC, UseMoles, true); //!< Use mole fractions in the balance equations by default //! Use the model after Millington (1961) for the effective diffusivity -SET_TYPE_PROP(TwoPNC, EffectiveDiffusivityModel, DiffusivityMillingtonQuirk<typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(TwoPNC, EffectiveDiffusivityModel, DiffusivityMillingtonQuirk<GetPropType<TypeTag, Properties::Scalar>>); //! This model uses the compositional fluid state SET_PROP(TwoPNC, FluidState) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = CompositionalFluidState<Scalar, FluidSystem>; }; @@ -286,7 +286,7 @@ public: SET_PROP(TwoPNCNI, ModelTraits) { private: - using IsothermalTraits = typename GET_PROP_TYPE(TypeTag, BaseModelTraits); + using IsothermalTraits = GetPropType<TypeTag, Properties::BaseModelTraits>; public: using type = PorousMediumFlowNIModelTraits<IsothermalTraits>; }; @@ -298,7 +298,7 @@ SET_TYPE_PROP(TwoPNCNI, IOFields, EnergyIOFields<TwoPNCIOFields>); SET_PROP(TwoPNCNI, ThermalConductivityModel) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = ThermalConductivitySomerton<Scalar>; }; diff --git a/dumux/porousmediumflow/2pncmin/model.hh b/dumux/porousmediumflow/2pncmin/model.hh index 1001fabe2b..646286160d 100644 --- a/dumux/porousmediumflow/2pncmin/model.hh +++ b/dumux/porousmediumflow/2pncmin/model.hh @@ -127,13 +127,13 @@ SET_TYPE_PROP(TwoPNCMin, LocalResidual, MineralizationLocalResidual<TypeTag>); SET_PROP(TwoPNCMin, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PT = typename GET_PROP_TYPE(TypeTag, SpatialParams)::PermeabilityType; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType; using Traits = TwoPNCVolumeVariablesTraits<PV, FSY, FST, SSY, SST, PT, MT>; using NonMinVolVars = TwoPNCVolumeVariables<Traits>; @@ -148,8 +148,8 @@ SET_TYPE_PROP(TwoPNCMin, IOFields, MineralizationIOFields<TwoPNCIOFields>); SET_PROP(TwoPNCMin, ModelTraits) { private: - using SolidSystem = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using NonMineralizationTraits = typename GET_PROP_TYPE(TypeTag, BaseModelTraits); + using SolidSystem = GetPropType<TypeTag, Properties::SolidSystem>; + using NonMineralizationTraits = GetPropType<TypeTag, Properties::BaseModelTraits>; public: using type = MineralizationModelTraits<NonMineralizationTraits, SolidSystem::numComponents, SolidSystem::numInertComponents>; }; @@ -158,8 +158,8 @@ public: SET_PROP(TwoPNCMin, SolidState) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using SolidSystem = typename GET_PROP_TYPE(TypeTag, SolidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using SolidSystem = GetPropType<TypeTag, Properties::SolidSystem>; public: using type = CompositionalSolidState<Scalar, SolidSystem>; }; @@ -172,8 +172,8 @@ public: SET_PROP(TwoPNCMinNI, ModelTraits) { private: - using SolidSystem = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using TwoPNCTraits = typename GET_PROP_TYPE(TypeTag, BaseModelTraits); + using SolidSystem = GetPropType<TypeTag, Properties::SolidSystem>; + using TwoPNCTraits = GetPropType<TypeTag, Properties::BaseModelTraits>; using IsothermalTraits = MineralizationModelTraits<TwoPNCTraits, SolidSystem::numComponents, SolidSystem::numInertComponents>; public: // the mineralization traits, based on 2pnc traits, are the isothermal traits diff --git a/dumux/porousmediumflow/3p/model.hh b/dumux/porousmediumflow/3p/model.hh index 42d32d4b2a..7b506d6de3 100644 --- a/dumux/porousmediumflow/3p/model.hh +++ b/dumux/porousmediumflow/3p/model.hh @@ -144,7 +144,7 @@ struct ThreePNI { using InheritsFrom = std::tuple<ThreeP>; }; SET_PROP(ThreeP, ModelTraits) { private: - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static_assert(FluidSystem::numPhases == 3, "Only fluid systems with 3 phases are supported by the 3p model!"); static_assert(FluidSystem::numComponents == 3, "Only fluid systems with 3 components are supported by the 3p model!"); public: @@ -158,13 +158,13 @@ SET_TYPE_PROP(ThreeP, LocalResidual, ImmiscibleLocalResidual<TypeTag>); SET_PROP(ThreeP, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PT = typename GET_PROP_TYPE(TypeTag, SpatialParams)::PermeabilityType; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType; using Traits = ThreePVolumeVariablesTraits<PV, FSY, FST, SSY, SST, PT, MT>; public: @@ -181,8 +181,8 @@ public: SET_PROP(ThreeP, FluidState) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = ImmiscibleFluidState<Scalar, FluidSystem>; }; @@ -198,7 +198,7 @@ SET_TYPE_PROP(ThreeP, IOFields, ThreePIOFields); SET_PROP(ThreePNI, ThermalConductivityModel) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = ThermalConductivitySomerton<Scalar>; }; @@ -210,7 +210,7 @@ SET_TYPE_PROP(ThreePNI, IOFields, EnergyIOFields<ThreePIOFields>); SET_PROP(ThreePNI, ModelTraits) { private: - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static_assert(FluidSystem::numPhases == 3, "Only fluid systems with 3 phases are supported by the 3p model!"); static_assert(FluidSystem::numComponents == 3, "Only fluid systems with 3 components are supported by the 3p model!"); public: diff --git a/dumux/porousmediumflow/3p3c/localresidual.hh b/dumux/porousmediumflow/3p3c/localresidual.hh index 9ef032a51e..a8eee45e16 100644 --- a/dumux/porousmediumflow/3p3c/localresidual.hh +++ b/dumux/porousmediumflow/3p3c/localresidual.hh @@ -37,28 +37,28 @@ namespace Dumux * This class is used to fill the gaps in BoxLocalResidual for the 3P3C flow. */ template<class TypeTag> -class ThreePThreeCLocalResidual : public GET_PROP_TYPE(TypeTag, BaseLocalResidual) +class ThreePThreeCLocalResidual : public GetPropType<TypeTag, Properties::BaseLocalResidual> { - using ParentType = typename GET_PROP_TYPE(TypeTag, BaseLocalResidual); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using ParentType = GetPropType<TypeTag, Properties::BaseLocalResidual>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using EnergyLocalResidual = typename GET_PROP_TYPE(TypeTag, EnergyLocalResidual); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using EnergyLocalResidual = GetPropType<TypeTag, Properties::EnergyLocalResidual>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; enum { - numPhases = GET_PROP_TYPE(TypeTag, ModelTraits)::numPhases(), - numComponents = GET_PROP_TYPE(TypeTag, ModelTraits)::numComponents(), + numPhases = GetPropType<TypeTag, Properties::ModelTraits>::numPhases(), + numComponents = GetPropType<TypeTag, Properties::ModelTraits>::numComponents(), contiWEqIdx = Indices::conti0EqIdx + FluidSystem::wPhaseIdx,//!< index of the mass conservation equation for the water component contiNEqIdx = Indices::conti0EqIdx + FluidSystem::nPhaseIdx,//!< index of the mass conservation equation for the contaminant component diff --git a/dumux/porousmediumflow/3p3c/model.hh b/dumux/porousmediumflow/3p3c/model.hh index 70cf63c0c1..1664f93904 100644 --- a/dumux/porousmediumflow/3p3c/model.hh +++ b/dumux/porousmediumflow/3p3c/model.hh @@ -212,19 +212,19 @@ struct ThreePThreeCNI { using InheritsFrom = std::tuple<ThreePThreeC>; }; SET_PROP(ThreePThreeC, BaseModelTraits) { private: - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static_assert(FluidSystem::numComponents == 3, "Only fluid systems with 3 components are supported by the 3p3c model!"); static_assert(FluidSystem::numPhases == 3, "Only fluid systems with 3 phases are supported by the 3p3c model!"); public: using type = ThreePThreeCModelTraits<GET_PROP_VALUE(TypeTag, UseConstraintSolver), GET_PROP_VALUE(TypeTag, UseMoles)>; }; -SET_TYPE_PROP(ThreePThreeC, ModelTraits, typename GET_PROP_TYPE(TypeTag, BaseModelTraits)); +SET_TYPE_PROP(ThreePThreeC, ModelTraits, GetPropType<TypeTag, Properties::BaseModelTraits>); //! Determines whether a constraint solver should be used explicitly SET_BOOL_PROP(ThreePThreeC, UseConstraintSolver, false); //! Set as default that _no_ component mass balance is replaced by the total mass balance -SET_INT_PROP(ThreePThreeC, ReplaceCompEqIdx, GET_PROP_TYPE(TypeTag, ModelTraits)::numComponents()); +SET_INT_PROP(ThreePThreeC, ReplaceCompEqIdx, GetPropType<TypeTag, Properties::ModelTraits>::numComponents()); /*! * \brief The fluid state which is used by the volume variables to * store the thermodynamic state. This should be chosen @@ -233,8 +233,8 @@ SET_INT_PROP(ThreePThreeC, ReplaceCompEqIdx, GET_PROP_TYPE(TypeTag, ModelTraits) */ SET_PROP(ThreePThreeC, FluidState){ private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = CompositionalFluidState<Scalar, FluidSystem>; }; @@ -249,8 +249,8 @@ SET_TYPE_PROP(ThreePThreeC, PrimaryVariableSwitch, ThreePThreeCPrimaryVariableSw SET_PROP(ThreePThreeC, PrimaryVariables) { private: - using PrimaryVariablesVector = Dune::FieldVector<typename GET_PROP_TYPE(TypeTag, Scalar), - GET_PROP_TYPE(TypeTag, ModelTraits)::numEq()>; + using PrimaryVariablesVector = Dune::FieldVector<GetPropType<TypeTag, Properties::Scalar>, + GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; public: using type = SwitchablePrimaryVariables<PrimaryVariablesVector, int>; }; @@ -259,13 +259,13 @@ public: SET_PROP(ThreePThreeC, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PT = typename GET_PROP_TYPE(TypeTag, SpatialParams)::PermeabilityType; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType; using Traits = ThreePThreeCVolumeVariablesTraits<PV, FSY, FST, SSY, SST, PT, MT>; public: @@ -273,7 +273,7 @@ public: }; //! The model after Millington (1961) is used for the effective diffusivity -SET_TYPE_PROP(ThreePThreeC, EffectiveDiffusivityModel, DiffusivityMillingtonQuirk<typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(ThreePThreeC, EffectiveDiffusivityModel, DiffusivityMillingtonQuirk<GetPropType<TypeTag, Properties::Scalar>>); //! Set the vtk output fields specific to this model SET_TYPE_PROP(ThreePThreeC, IOFields, ThreePThreeCIOFields); @@ -282,7 +282,7 @@ SET_TYPE_PROP(ThreePThreeC, IOFields, ThreePThreeCIOFields); SET_BOOL_PROP(ThreePThreeC, UseMoles, true); //! Somerton is used as default model to compute the effective thermal heat conductivity -SET_TYPE_PROP(ThreePThreeCNI, ThermalConductivityModel, ThermalConductivitySomerton<typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(ThreePThreeCNI, ThermalConductivityModel, ThermalConductivitySomerton<GetPropType<TypeTag, Properties::Scalar>>); ////////////////////////////////////////////////////////////////// // Property values for isothermal model required for the general non-isothermal model @@ -292,7 +292,7 @@ SET_TYPE_PROP(ThreePThreeCNI, ThermalConductivityModel, ThermalConductivitySomer SET_PROP(ThreePThreeCNI, ModelTraits) { private: - using IsothermalModelTraits = typename GET_PROP_TYPE(TypeTag, BaseModelTraits); + using IsothermalModelTraits = GetPropType<TypeTag, Properties::BaseModelTraits>; public: using type = PorousMediumFlowNIModelTraits<IsothermalModelTraits>; }; diff --git a/dumux/porousmediumflow/3pwateroil/localresidual.hh b/dumux/porousmediumflow/3pwateroil/localresidual.hh index c713b22837..891e0bebed 100644 --- a/dumux/porousmediumflow/3pwateroil/localresidual.hh +++ b/dumux/porousmediumflow/3pwateroil/localresidual.hh @@ -36,29 +36,29 @@ namespace Dumux { * This class is used to fill the gaps in the CompositionalLocalResidual for the 3PWaterOil flow. */ template<class TypeTag> -class ThreePWaterOilLocalResidual : public GET_PROP_TYPE(TypeTag, BaseLocalResidual) +class ThreePWaterOilLocalResidual : public GetPropType<TypeTag, Properties::BaseLocalResidual> { protected: - using ParentType = typename GET_PROP_TYPE(TypeTag, BaseLocalResidual); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using ParentType = GetPropType<TypeTag, Properties::BaseLocalResidual>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using EnergyLocalResidual = typename GET_PROP_TYPE(TypeTag, EnergyLocalResidual); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using EnergyLocalResidual = GetPropType<TypeTag, Properties::EnergyLocalResidual>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; enum { - numPhases = GET_PROP_TYPE(TypeTag, ModelTraits)::numPhases(), - numComponents = GET_PROP_TYPE(TypeTag, ModelTraits)::numComponents(), + numPhases = GetPropType<TypeTag, Properties::ModelTraits>::numPhases(), + numComponents = GetPropType<TypeTag, Properties::ModelTraits>::numComponents(), conti0EqIdx = Indices::conti0EqIdx,//!< Index of the mass conservation equation for the water component conti1EqIdx = conti0EqIdx + 1,//!< Index of the mass conservation equation for the contaminant component diff --git a/dumux/porousmediumflow/3pwateroil/model.hh b/dumux/porousmediumflow/3pwateroil/model.hh index 067dd90578..38d8a0228e 100644 --- a/dumux/porousmediumflow/3pwateroil/model.hh +++ b/dumux/porousmediumflow/3pwateroil/model.hh @@ -200,7 +200,7 @@ struct ThreePWaterOilNI { using InheritsFrom = std::tuple<PorousMediumFlow>; }; SET_PROP(ThreePWaterOilNI, ModelTraits) { private: - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static_assert(FluidSystem::numComponents == 2, "Only fluid systems with 2 components are supported by the 3p2cni model!"); static_assert(FluidSystem::numPhases == 3, "Only fluid systems with 3 phases are supported by the 3p2cni model!"); public: @@ -215,8 +215,8 @@ public: */ SET_PROP(ThreePWaterOilNI, FluidState){ private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = CompositionalFluidState<Scalar, FluidSystem>; }; @@ -225,7 +225,7 @@ SET_PROP(ThreePWaterOilNI, FluidState){ SET_TYPE_PROP(ThreePWaterOilNI, LocalResidual, ThreePWaterOilLocalResidual<TypeTag>); //! Set as default that no component mass balance is replaced by the total mass balance -SET_INT_PROP(ThreePWaterOilNI, ReplaceCompEqIdx, GET_PROP_TYPE(TypeTag, ModelTraits)::numComponents()); +SET_INT_PROP(ThreePWaterOilNI, ReplaceCompEqIdx, GetPropType<TypeTag, Properties::ModelTraits>::numComponents()); //! The primary variable switch for the 3p3c model SET_TYPE_PROP(ThreePWaterOilNI, PrimaryVariableSwitch, ThreePWaterOilPrimaryVariableSwitch<TypeTag>); @@ -234,8 +234,8 @@ SET_TYPE_PROP(ThreePWaterOilNI, PrimaryVariableSwitch, ThreePWaterOilPrimaryVari SET_PROP(ThreePWaterOilNI, PrimaryVariables) { private: - using PrimaryVariablesVector = Dune::FieldVector<typename GET_PROP_TYPE(TypeTag, Scalar), - GET_PROP_TYPE(TypeTag, ModelTraits)::numEq()>; + using PrimaryVariablesVector = Dune::FieldVector<GetPropType<TypeTag, Properties::Scalar>, + GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; public: using type = SwitchablePrimaryVariables<PrimaryVariablesVector, int>; }; @@ -247,13 +247,13 @@ SET_BOOL_PROP(ThreePWaterOilNI, OnlyGasPhaseCanDisappear, true); SET_PROP(ThreePWaterOilNI, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PT = typename GET_PROP_TYPE(TypeTag, SpatialParams)::PermeabilityType; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType; using Traits = ThreePWaterOilVolumeVariablesTraits<PV, FSY, FST, SSY, SST, PT, MT>; public: @@ -262,7 +262,7 @@ public: //! Use the model after Millington (1961) for the effective diffusivity SET_TYPE_PROP(ThreePWaterOilNI, EffectiveDiffusivityModel, - DiffusivityMillingtonQuirk<typename GET_PROP_TYPE(TypeTag, Scalar)>); + DiffusivityMillingtonQuirk<GetPropType<TypeTag, Properties::Scalar>>); // Define that mole fractions are used in the balance equations per default SET_BOOL_PROP(ThreePWaterOilNI, UseMoles, true); @@ -271,7 +271,7 @@ SET_BOOL_PROP(ThreePWaterOilNI, UseMoles, true); SET_PROP(ThreePWaterOilNI, ThermalConductivityModel) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = ThermalConductivitySomerton<Scalar>; }; diff --git a/dumux/porousmediumflow/3pwateroil/primaryvariableswitch.hh b/dumux/porousmediumflow/3pwateroil/primaryvariableswitch.hh index 69fff0cb66..858b195354 100644 --- a/dumux/porousmediumflow/3pwateroil/primaryvariableswitch.hh +++ b/dumux/porousmediumflow/3pwateroil/primaryvariableswitch.hh @@ -40,15 +40,15 @@ class ThreePWaterOilPrimaryVariableSwitch using ParentType = PrimaryVariableSwitch<ThreePWaterOilPrimaryVariableSwitch<TypeTag>>; friend ParentType; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using IndexType = typename GridView::IndexSet::IndexType; using GlobalPosition = Dune::FieldVector<Scalar, GridView::dimensionworld>; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; enum { switch1Idx = Indices::switch1Idx, diff --git a/dumux/porousmediumflow/boxdfm/fluxvariablescache.hh b/dumux/porousmediumflow/boxdfm/fluxvariablescache.hh index ff3070e842..cf69e32347 100644 --- a/dumux/porousmediumflow/boxdfm/fluxvariablescache.hh +++ b/dumux/porousmediumflow/boxdfm/fluxvariablescache.hh @@ -42,12 +42,12 @@ namespace Dumux { template<class TypeTag> class BoxDfmFluxVariablesCache { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using Element = typename GridView::template Codim<0>::Entity; using IndexType = typename GridView::IndexSet::IndexType; diff --git a/dumux/porousmediumflow/boxdfm/model.hh b/dumux/porousmediumflow/boxdfm/model.hh index 615e3ca333..37e8572278 100644 --- a/dumux/porousmediumflow/boxdfm/model.hh +++ b/dumux/porousmediumflow/boxdfm/model.hh @@ -45,8 +45,8 @@ SET_PROP(BoxDfmModel, FVGridGeometry) { private: static constexpr bool enableCache = GET_PROP_VALUE(TypeTag, EnableFVGridGeometryCache); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = BoxDfmFVGridGeometry<Scalar, GridView, enableCache>; }; diff --git a/dumux/porousmediumflow/co2/model.hh b/dumux/porousmediumflow/co2/model.hh index 3ad2fe57aa..89e9de15fc 100644 --- a/dumux/porousmediumflow/co2/model.hh +++ b/dumux/porousmediumflow/co2/model.hh @@ -88,13 +88,13 @@ SET_TYPE_PROP(TwoPTwoCCO2NI, PrimaryVariableSwitch, TwoPTwoCCO2PrimaryVariableSw SET_PROP(TwoPTwoCCO2, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PT = typename GET_PROP_TYPE(TypeTag, SpatialParams)::PermeabilityType; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType; using Traits = TwoPTwoCCO2VolumeVariablesTraits<PV, FSY, FST, SSY, SST, PT, MT>; public: @@ -104,13 +104,13 @@ public: SET_PROP(TwoPTwoCCO2NI, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PT = typename GET_PROP_TYPE(TypeTag, SpatialParams)::PermeabilityType; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType; using Traits = TwoPTwoCCO2VolumeVariablesTraits<PV, FSY, FST, SSY, SST, PT, MT>; public: diff --git a/dumux/porousmediumflow/compositional/localresidual.hh b/dumux/porousmediumflow/compositional/localresidual.hh index 731a7a3011..b4f7160696 100644 --- a/dumux/porousmediumflow/compositional/localresidual.hh +++ b/dumux/porousmediumflow/compositional/localresidual.hh @@ -36,25 +36,25 @@ namespace Dumux { * using compositional fully implicit model. */ template<class TypeTag> -class CompositionalLocalResidual: public GET_PROP_TYPE(TypeTag, BaseLocalResidual) +class CompositionalLocalResidual: public GetPropType<TypeTag, Properties::BaseLocalResidual> { - using ParentType = typename GET_PROP_TYPE(TypeTag, BaseLocalResidual); - using Implementation = typename GET_PROP_TYPE(TypeTag, LocalResidual); - 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 ParentType = GetPropType<TypeTag, Properties::BaseLocalResidual>; + using Implementation = GetPropType<TypeTag, Properties::LocalResidual>; + 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 NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using EnergyLocalResidual = typename GET_PROP_TYPE(TypeTag, EnergyLocalResidual); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using EnergyLocalResidual = GetPropType<TypeTag, Properties::EnergyLocalResidual>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; static constexpr int numPhases = ModelTraits::numPhases(); diff --git a/dumux/porousmediumflow/fluxvariables.hh b/dumux/porousmediumflow/fluxvariables.hh index 3d8056fce1..3e37abacd7 100644 --- a/dumux/porousmediumflow/fluxvariables.hh +++ b/dumux/porousmediumflow/fluxvariables.hh @@ -42,25 +42,25 @@ namespace Dumux { * \note Not all specializations are currently implemented */ template<class TypeTag, - class UpwindScheme = UpwindScheme<typename GET_PROP_TYPE(TypeTag, FVGridGeometry)> > + class UpwindScheme = UpwindScheme<GetPropType<TypeTag, Properties::FVGridGeometry>> > class PorousMediumFluxVariables -: public FluxVariablesBase<typename GET_PROP_TYPE(TypeTag, Problem), - typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView, - typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView, - typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView> +: public FluxVariablesBase<GetPropType<TypeTag, Properties::Problem>, + typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView, + typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView, + typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using GridView = typename FVGridGeometry::GridView; using Element = typename GridView::template Codim<0>::Entity; using IndexType = typename GridView::IndexSet::IndexType; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; enum { @@ -69,9 +69,9 @@ class PorousMediumFluxVariables }; public: - using AdvectionType = typename GET_PROP_TYPE(TypeTag, AdvectionType); - using MolecularDiffusionType = typename GET_PROP_TYPE(TypeTag, MolecularDiffusionType); - using HeatConductionType = typename GET_PROP_TYPE(TypeTag, HeatConductionType); + using AdvectionType = GetPropType<TypeTag, Properties::AdvectionType>; + using MolecularDiffusionType = GetPropType<TypeTag, Properties::MolecularDiffusionType>; + using HeatConductionType = GetPropType<TypeTag, Properties::HeatConductionType>; static constexpr bool enableAdvection = ModelTraits::enableAdvection(); static constexpr bool enableMolecularDiffusion = ModelTraits::enableMolecularDiffusion(); diff --git a/dumux/porousmediumflow/fluxvariablescache.hh b/dumux/porousmediumflow/fluxvariablescache.hh index bc0c98be91..f35e0e691c 100644 --- a/dumux/porousmediumflow/fluxvariablescache.hh +++ b/dumux/porousmediumflow/fluxvariablescache.hh @@ -48,13 +48,13 @@ class PorousMediumFluxVariablesCacheImplementation; * cache class are provided for different combinations of processes. */ template<class TypeTag> -using PorousMediumFluxVariablesCache = PorousMediumFluxVariablesCacheImplementation<TypeTag, GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod>; +using PorousMediumFluxVariablesCache = PorousMediumFluxVariablesCacheImplementation<TypeTag, GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod>; //! We only store discretization-related quantities for the box method. Thus, we need no //! physics-dependent specialization and simply inherit from the physics-independent implementation. template<class TypeTag> class PorousMediumFluxVariablesCacheImplementation<TypeTag, DiscretizationMethod::box> -: public BoxFluxVariablesCache<typename GET_PROP_TYPE(TypeTag, Scalar), typename GET_PROP_TYPE(TypeTag, FVGridGeometry)> +: public BoxFluxVariablesCache<GetPropType<TypeTag, Properties::Scalar>, GetPropType<TypeTag, Properties::FVGridGeometry>> {}; // the following classes choose the cache type: empty if the law disabled and the law's cache if it's enabled @@ -62,32 +62,32 @@ class PorousMediumFluxVariablesCacheImplementation<TypeTag, DiscretizationMethod // in order to prevent that instead of std::conditional_t we use this helper type is only dependent on the advection type // if advection is enabled otherwise its an empty cache type template<class TypeTag, bool EnableAdvection> class AdvectionCacheChooser : public FluxVariablesCaching::EmptyAdvectionCache {}; -template<class TypeTag> class AdvectionCacheChooser<TypeTag, true> : public GET_PROP_TYPE(TypeTag, AdvectionType)::Cache {}; +template<class TypeTag> class AdvectionCacheChooser<TypeTag, true> : public GetPropType<TypeTag, Properties::AdvectionType>::Cache {}; template<class TypeTag, bool EnableMolecularDiffusion> class DiffusionCacheChooser : public FluxVariablesCaching::EmptyDiffusionCache {}; -template<class TypeTag> class DiffusionCacheChooser<TypeTag, true> : public GET_PROP_TYPE(TypeTag, MolecularDiffusionType)::Cache {}; +template<class TypeTag> class DiffusionCacheChooser<TypeTag, true> : public GetPropType<TypeTag, Properties::MolecularDiffusionType>::Cache {}; template<class TypeTag, bool EnableEnergyBalance> class EnergyCacheChooser : public FluxVariablesCaching::EmptyHeatConductionCache {}; -template<class TypeTag> class EnergyCacheChooser<TypeTag, true> : public GET_PROP_TYPE(TypeTag, HeatConductionType)::Cache {}; +template<class TypeTag> class EnergyCacheChooser<TypeTag, true> : public GetPropType<TypeTag, Properties::HeatConductionType>::Cache {}; // specialization for the cell centered tpfa method template<class TypeTag> class PorousMediumFluxVariablesCacheImplementation<TypeTag, DiscretizationMethod::cctpfa> -: public AdvectionCacheChooser<TypeTag, GET_PROP_TYPE(TypeTag, ModelTraits)::enableAdvection()> -, public DiffusionCacheChooser<TypeTag, GET_PROP_TYPE(TypeTag, ModelTraits)::enableMolecularDiffusion()> -, public EnergyCacheChooser<TypeTag, GET_PROP_TYPE(TypeTag, ModelTraits)::enableEnergyBalance()> +: public AdvectionCacheChooser<TypeTag, GetPropType<TypeTag, Properties::ModelTraits>::enableAdvection()> +, public DiffusionCacheChooser<TypeTag, GetPropType<TypeTag, Properties::ModelTraits>::enableMolecularDiffusion()> +, public EnergyCacheChooser<TypeTag, GetPropType<TypeTag, Properties::ModelTraits>::enableEnergyBalance()> {}; //! specialization of the flux variables cache for the cell centered finite volume mpfa scheme //! stores data which is commonly used by all the different types of processes template<class TypeTag> class PorousMediumFluxVariablesCacheImplementation<TypeTag, DiscretizationMethod::ccmpfa> -: public AdvectionCacheChooser<TypeTag, GET_PROP_TYPE(TypeTag, ModelTraits)::enableAdvection()> -, public DiffusionCacheChooser<TypeTag, GET_PROP_TYPE(TypeTag, ModelTraits)::enableMolecularDiffusion()> -, public EnergyCacheChooser<TypeTag, GET_PROP_TYPE(TypeTag, ModelTraits)::enableEnergyBalance()> +: public AdvectionCacheChooser<TypeTag, GetPropType<TypeTag, Properties::ModelTraits>::enableAdvection()> +, public DiffusionCacheChooser<TypeTag, GetPropType<TypeTag, Properties::ModelTraits>::enableMolecularDiffusion()> +, public EnergyCacheChooser<TypeTag, GetPropType<TypeTag, Properties::ModelTraits>::enableEnergyBalance()> { - using GridIndexType = typename GET_PROP_TYPE(TypeTag, GridView)::IndexSet::IndexType; + using GridIndexType = typename GetPropType<TypeTag, Properties::GridView>::IndexSet::IndexType; - using MpfaHelper = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::MpfaHelper; + using MpfaHelper = typename GetPropType<TypeTag, Properties::FVGridGeometry>::MpfaHelper; static constexpr bool considerSecondary = MpfaHelper::considerSecondaryIVs(); public: //! Returns whether or not this cache has been updated diff --git a/dumux/porousmediumflow/immiscible/localresidual.hh b/dumux/porousmediumflow/immiscible/localresidual.hh index d48dd4011b..21a4480f8b 100644 --- a/dumux/porousmediumflow/immiscible/localresidual.hh +++ b/dumux/porousmediumflow/immiscible/localresidual.hh @@ -35,24 +35,24 @@ namespace Dumux * using the n-phase immiscible fully implicit models. */ template<class TypeTag> -class ImmiscibleLocalResidual : public GET_PROP_TYPE(TypeTag, BaseLocalResidual) +class ImmiscibleLocalResidual : public GetPropType<TypeTag, Properties::BaseLocalResidual> { - using ParentType = typename GET_PROP_TYPE(TypeTag, BaseLocalResidual); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using ParentType = GetPropType<TypeTag, Properties::BaseLocalResidual>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + 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 Element = typename GridView::template Codim<0>::Entity; - using EnergyLocalResidual = typename GET_PROP_TYPE(TypeTag, EnergyLocalResidual); + using EnergyLocalResidual = GetPropType<TypeTag, Properties::EnergyLocalResidual>; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; static constexpr int numPhases = ModelTraits::numPhases(); static constexpr int conti0EqIdx = ModelTraits::Indices::conti0EqIdx; //!< first index for the mass balance diff --git a/dumux/porousmediumflow/mineralization/localresidual.hh b/dumux/porousmediumflow/mineralization/localresidual.hh index 3b3744bdb6..a0d23254cf 100644 --- a/dumux/porousmediumflow/mineralization/localresidual.hh +++ b/dumux/porousmediumflow/mineralization/localresidual.hh @@ -38,13 +38,13 @@ template<class TypeTag> class MineralizationLocalResidual: public CompositionalLocalResidual<TypeTag> { using ParentType = CompositionalLocalResidual<TypeTag>; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; static constexpr int numPhases = ModelTraits::numPhases(); static constexpr int numSolidComps = ModelTraits::numSolidComps(); diff --git a/dumux/porousmediumflow/mpnc/localresidual.hh b/dumux/porousmediumflow/mpnc/localresidual.hh index 9dc89dba00..c769c1fea6 100644 --- a/dumux/porousmediumflow/mpnc/localresidual.hh +++ b/dumux/porousmediumflow/mpnc/localresidual.hh @@ -45,12 +45,12 @@ template<class TypeTag> class MPNCLocalResidual : public CompositionalLocalResidual<TypeTag> { using ParentType = CompositionalLocalResidual<TypeTag>; - using Element = typename GET_PROP_TYPE(TypeTag, GridView)::template Codim<0>::Entity; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using ElementBoundaryTypes = typename GET_PROP_TYPE(TypeTag, ElementBoundaryTypes); - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using Element = typename GetPropType<TypeTag, Properties::GridView>::template Codim<0>::Entity; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using ElementBoundaryTypes = GetPropType<TypeTag, Properties::ElementBoundaryTypes>; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; enum {numPhases = ModelTraits::numPhases()}; diff --git a/dumux/porousmediumflow/mpnc/model.hh b/dumux/porousmediumflow/mpnc/model.hh index fffe0aa807..f937186c10 100644 --- a/dumux/porousmediumflow/mpnc/model.hh +++ b/dumux/porousmediumflow/mpnc/model.hh @@ -252,7 +252,7 @@ SET_TYPE_PROP(MPNC, LocalResidual, MPNCLocalResidual<TypeTag>); SET_PROP(MPNC, ModelTraits) { private: - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = MPNCModelTraits<FluidSystem::numPhases, FluidSystem::numComponents, @@ -265,8 +265,8 @@ public: SET_PROP(MPNC, FluidState) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = CompositionalFluidState<Scalar, FluidSystem>; }; @@ -275,13 +275,13 @@ public: SET_PROP(MPNC, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PT = typename GET_PROP_TYPE(TypeTag, SpatialParams)::PermeabilityType; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType; using Traits = MPNCVolumeVariablesTraits<PV, FSY, FST, SSY, SST, PT, MT>; public: @@ -289,11 +289,11 @@ public: }; //! Per default, no component mass balance is replaced -SET_INT_PROP(MPNC, ReplaceCompEqIdx, GET_PROP_TYPE(TypeTag, FluidSystem)::numComponents); +SET_INT_PROP(MPNC, ReplaceCompEqIdx, GetPropType<TypeTag, Properties::FluidSystem>::numComponents); //! Use mole fractions in the balance equations by default SET_BOOL_PROP(MPNC, UseMoles, true); //! Use the model after Millington (1961) for the effective diffusivity -SET_TYPE_PROP(MPNC, EffectiveDiffusivityModel, DiffusivityMillingtonQuirk<typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(MPNC, EffectiveDiffusivityModel, DiffusivityMillingtonQuirk<GetPropType<TypeTag, Properties::Scalar>>); //! Set the default pressure formulation to the pressure of the (most) wetting phase SET_PROP(MPNC, PressureFormulation) { @@ -312,7 +312,7 @@ SET_TYPE_PROP(MPNC, IOFields, MPNCIOFields); SET_PROP(MPNCNI, ModelTraits) { private: - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; using IsothermalTraits = MPNCModelTraits<FluidSystem::numPhases, FluidSystem::numComponents, GET_PROP_VALUE(TypeTag, PressureFormulation), @@ -336,7 +336,7 @@ SET_TYPE_PROP(MPNCNonequil, EquilibriumIOFields, MPNCIOFields); SET_PROP(MPNCNonequil, ModelTraits) { private: - using EquiTraits = typename GET_PROP_TYPE(TypeTag, EquilibriumModelTraits); + using EquiTraits = GetPropType<TypeTag, Properties::EquilibriumModelTraits>; static constexpr bool enableTNE = GET_PROP_VALUE(TypeTag, EnableThermalNonEquilibrium); static constexpr bool enableCNE = GET_PROP_VALUE(TypeTag, EnableChemicalNonEquilibrium); static constexpr int numEF = GET_PROP_VALUE(TypeTag, NumEnergyEqFluid); @@ -353,7 +353,7 @@ public: SET_PROP(MPNCNonequil, EquilibriumModelTraits) { private: - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = MPNCModelTraits<FluidSystem::numPhases, FluidSystem::numComponents, @@ -366,7 +366,7 @@ public: SET_PROP(MPNCNonequil, ThermalConductivityModel) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = ThermalConductivitySimpleFluidLumping<Scalar, GET_PROP_VALUE(TypeTag, NumEnergyEqFluid)>; }; @@ -375,13 +375,13 @@ public: SET_PROP(MPNCNonequil, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PT = typename GET_PROP_TYPE(TypeTag, SpatialParams)::PermeabilityType; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType; using Traits = MPNCVolumeVariablesTraits<PV, FSY, FST, SSY, SST, PT, MT>; using EquilibriumVolVars = MPNCVolumeVariables<Traits>; diff --git a/dumux/porousmediumflow/nonequilibrium/gridvariables.hh b/dumux/porousmediumflow/nonequilibrium/gridvariables.hh index bb1aede4cf..bcf2e3c434 100644 --- a/dumux/porousmediumflow/nonequilibrium/gridvariables.hh +++ b/dumux/porousmediumflow/nonequilibrium/gridvariables.hh @@ -39,22 +39,22 @@ namespace Dumux { */ template<class TypeTag> class NonEquilibriumGridVariables -: public FVGridVariables<typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, GridVolumeVariables), - typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)> +: public FVGridVariables<GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::GridVolumeVariables>, + GetPropType<TypeTag, Properties::GridFluxVariablesCache>> { - using ParentType = FVGridVariables<typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, GridVolumeVariables), - typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)>; + using ParentType = FVGridVariables<GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::GridVolumeVariables>, + GetPropType<TypeTag, Properties::GridFluxVariablesCache>>; - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Problem = GetPropType<TypeTag, Properties::Problem>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using GridView = typename FVGridGeometry::GridView; enum { dim = GridView::dimension }; // Grid and world dimension enum { dimWorld = GridView::dimensionworld }; - static constexpr int numPhases = GET_PROP_TYPE(TypeTag, ModelTraits)::numPhases(); + static constexpr int numPhases = GetPropType<TypeTag, Properties::ModelTraits>::numPhases(); static constexpr bool isBox = FVGridGeometry::discMethod == DiscretizationMethod::box; public: @@ -75,7 +75,7 @@ public: void calcVelocityAverage(const SolutionVector& curSol) { // instatiate the velocity output - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; VelocityOutput velocityOutput(*this); using Scalar = typename SolutionVector::field_type; diff --git a/dumux/porousmediumflow/nonequilibrium/localresidual.hh b/dumux/porousmediumflow/nonequilibrium/localresidual.hh index cedc6c02a2..2a9ee30616 100644 --- a/dumux/porousmediumflow/nonequilibrium/localresidual.hh +++ b/dumux/porousmediumflow/nonequilibrium/localresidual.hh @@ -35,29 +35,29 @@ template<class TypeTag, bool enableThermalNonEquilibrium, bool enableChemicalNon class NonEquilibriumLocalResidualImplementation; template <class TypeTag> -using NonEquilibriumLocalResidual = NonEquilibriumLocalResidualImplementation<TypeTag, GET_PROP_TYPE(TypeTag, ModelTraits)::enableThermalNonEquilibrium(), GET_PROP_TYPE(TypeTag, ModelTraits)::enableChemicalNonEquilibrium()>; +using NonEquilibriumLocalResidual = NonEquilibriumLocalResidualImplementation<TypeTag, GetPropType<TypeTag, Properties::ModelTraits>::enableThermalNonEquilibrium(), GetPropType<TypeTag, Properties::ModelTraits>::enableChemicalNonEquilibrium()>; /*! * \ingroup PorousmediumNonEquilibriumModel * \brief The mass conservation part of the nonequilibrium model for a model without chemical non-equilibrium */ template<class TypeTag> -class NonEquilibriumLocalResidualImplementation<TypeTag, true, false>: public GET_PROP_TYPE(TypeTag, EquilibriumLocalResidual) +class NonEquilibriumLocalResidualImplementation<TypeTag, true, false>: public GetPropType<TypeTag, Properties::EquilibriumLocalResidual> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using ParentType = typename GET_PROP_TYPE(TypeTag, EquilibriumLocalResidual); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using ParentType = GetPropType<TypeTag, Properties::EquilibriumLocalResidual>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using EnergyLocalResidual = typename GET_PROP_TYPE(TypeTag, EnergyLocalResidual); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using EnergyLocalResidual = GetPropType<TypeTag, Properties::EnergyLocalResidual>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; static constexpr int numPhases = ModelTraits::numPhases(); @@ -152,29 +152,29 @@ public: /*! * \brief The mass conservation part of the nonequilibrium model for a model assuming chemical non-equilibrium and two phases */ template<class TypeTag> -class NonEquilibriumLocalResidualImplementation<TypeTag, true, true>: public GET_PROP_TYPE(TypeTag, EquilibriumLocalResidual) +class NonEquilibriumLocalResidualImplementation<TypeTag, true, true>: public GetPropType<TypeTag, Properties::EquilibriumLocalResidual> { - using ParentType = typename GET_PROP_TYPE(TypeTag, EquilibriumLocalResidual); - using Implementation = typename GET_PROP_TYPE(TypeTag, LocalResidual); - 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 ParentType = GetPropType<TypeTag, Properties::EquilibriumLocalResidual>; + using Implementation = GetPropType<TypeTag, Properties::LocalResidual>; + 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 PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using EnergyLocalResidual = typename GET_PROP_TYPE(TypeTag, EnergyLocalResidual); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using MolecularDiffusionType = typename GET_PROP_TYPE(TypeTag, MolecularDiffusionType); + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using EnergyLocalResidual = GetPropType<TypeTag, Properties::EnergyLocalResidual>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using MolecularDiffusionType = GetPropType<TypeTag, Properties::MolecularDiffusionType>; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; static constexpr int numPhases = ModelTraits::numPhases(); diff --git a/dumux/porousmediumflow/nonequilibrium/model.hh b/dumux/porousmediumflow/nonequilibrium/model.hh index 910e234aae..e81e680dca 100644 --- a/dumux/porousmediumflow/nonequilibrium/model.hh +++ b/dumux/porousmediumflow/nonequilibrium/model.hh @@ -98,7 +98,7 @@ struct NonEquilibrium {}; SET_PROP(NonEquilibrium, ModelTraits) { private: - using EquiTraits = typename GET_PROP_TYPE(TypeTag, EquilibriumModelTraits); + using EquiTraits = GetPropType<TypeTag, Properties::EquilibriumModelTraits>; static constexpr bool enableTNE = GET_PROP_VALUE(TypeTag, EnableThermalNonEquilibrium); static constexpr bool enableCNE = GET_PROP_VALUE(TypeTag, EnableChemicalNonEquilibrium); static constexpr int numEF = GET_PROP_VALUE(TypeTag, NumEnergyEqFluid); @@ -115,7 +115,7 @@ SET_BOOL_PROP(NonEquilibrium, EnableChemicalNonEquilibrium, true); //! Default values for the number of energy balance equations SET_INT_PROP(NonEquilibrium, NumEnergyEqSolid, 1); -SET_INT_PROP(NonEquilibrium, NumEnergyEqFluid, GET_PROP_TYPE(TypeTag, EquilibriumModelTraits)::numPhases()); +SET_INT_PROP(NonEquilibrium, NumEnergyEqFluid, GetPropType<TypeTag, Properties::EquilibriumModelTraits>::numPhases()); SET_TYPE_PROP(NonEquilibrium, EnergyLocalResidual, EnergyLocalResidualNonEquilibrium<TypeTag, GET_PROP_VALUE(TypeTag, NumEnergyEqFluid)>); SET_TYPE_PROP(NonEquilibrium, LocalResidual, NonEquilibriumLocalResidual<TypeTag>); @@ -124,8 +124,8 @@ SET_TYPE_PROP(NonEquilibrium, HeatConductionType, FouriersLawNonEquilibrium<Type SET_PROP(NonEquilibrium, FluidState) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = NonEquilibriumFluidState<Scalar, FluidSystem>; }; @@ -137,8 +137,8 @@ SET_TYPE_PROP(NonEquilibrium, GridVariables, NonEquilibriumGridVariables<TypeTag SET_PROP(NonEquilibrium, IOFields) { private: - using EquilibriumIOFields = typename GET_PROP_TYPE(TypeTag, EquilibriumIOFields); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using EquilibriumIOFields = GetPropType<TypeTag, Properties::EquilibriumIOFields>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; public: using type = NonEquilibriumIOFields<ModelTraits, EquilibriumIOFields>; }; diff --git a/dumux/porousmediumflow/nonequilibrium/thermal/localresidual.hh b/dumux/porousmediumflow/nonequilibrium/thermal/localresidual.hh index 9e897d70ac..f714851509 100644 --- a/dumux/porousmediumflow/nonequilibrium/thermal/localresidual.hh +++ b/dumux/porousmediumflow/nonequilibrium/thermal/localresidual.hh @@ -43,19 +43,19 @@ class EnergyLocalResidualNonEquilibrium; template<class TypeTag> class EnergyLocalResidualNonEquilibrium<TypeTag, 1/*numEnergyEqFluid*/> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; enum { numEnergyEqFluid = ModelTraits::numEnergyEqFluid() }; @@ -314,20 +314,20 @@ template<class TypeTag> class EnergyLocalResidualNonEquilibrium<TypeTag, 2 /*numEnergyEqFluid*/> : public EnergyLocalResidualNonEquilibrium<TypeTag, 1 /*numEnergyEqFluid*/> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using SolidSystem = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using SolidSystem = GetPropType<TypeTag, Properties::SolidSystem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; enum { numPhases = ModelTraits::numPhases() }; diff --git a/dumux/porousmediumflow/nonisothermal/localresidual.hh b/dumux/porousmediumflow/nonisothermal/localresidual.hh index b059d516a4..67a1598563 100644 --- a/dumux/porousmediumflow/nonisothermal/localresidual.hh +++ b/dumux/porousmediumflow/nonisothermal/localresidual.hh @@ -34,7 +34,7 @@ template<class TypeTag, bool enableEneryBalance> class EnergyLocalResidualImplementation; template<class TypeTag> -using EnergyLocalResidual = EnergyLocalResidualImplementation<TypeTag, GET_PROP_TYPE(TypeTag, ModelTraits)::enableEnergyBalance()>; +using EnergyLocalResidual = EnergyLocalResidualImplementation<TypeTag, GetPropType<TypeTag, Properties::ModelTraits>::enableEnergyBalance()>; /*! * \ingroup NIModel @@ -43,12 +43,12 @@ using EnergyLocalResidual = EnergyLocalResidualImplementation<TypeTag, GET_PROP_ template<class TypeTag> class EnergyLocalResidualImplementation<TypeTag, false> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; public: /*! @@ -107,13 +107,13 @@ public: template<class TypeTag> class EnergyLocalResidualImplementation<TypeTag, true> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { energyEqIdx = Indices::energyEqIdx }; diff --git a/dumux/porousmediumflow/problem.hh b/dumux/porousmediumflow/problem.hh index 6bc30dbf16..96c84d6344 100644 --- a/dumux/porousmediumflow/problem.hh +++ b/dumux/porousmediumflow/problem.hh @@ -36,15 +36,15 @@ template<class TypeTag> class PorousMediumFlowProblem : public FVProblem<TypeTag> { using ParentType = FVProblem<TypeTag>; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using GridView = GetPropType<TypeTag, Properties::GridView>; 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::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; @@ -53,7 +53,7 @@ class PorousMediumFlowProblem : public FVProblem<TypeTag> public: //! export spatial parameter type - using SpatialParams = typename GET_PROP_TYPE(TypeTag, SpatialParams); + using SpatialParams = GetPropType<TypeTag, Properties::SpatialParams>; /*! * \brief Constructor, passing the spatial parameters diff --git a/dumux/porousmediumflow/properties.hh b/dumux/porousmediumflow/properties.hh index 2aa7c6cc81..c79c800031 100644 --- a/dumux/porousmediumflow/properties.hh +++ b/dumux/porousmediumflow/properties.hh @@ -78,8 +78,8 @@ SET_TYPE_PROP(PorousMediumFlow, EnergyLocalResidual, Dumux::EnergyLocalResidual< //! Velocity output SET_TYPE_PROP(PorousMediumFlow, VelocityOutput, - PorousMediumFlowVelocityOutput<typename GET_PROP_TYPE(TypeTag, GridVariables), - typename GET_PROP_TYPE(TypeTag, FluxVariables)>); + PorousMediumFlowVelocityOutput<GetPropType<TypeTag, Properties::GridVariables>, + GetPropType<TypeTag, Properties::FluxVariables>>); //! By default, we set an empty primary variables switch SET_TYPE_PROP(PorousMediumFlow, PrimaryVariableSwitch, NoPrimaryVariableSwitch); @@ -93,8 +93,8 @@ SET_BOOL_PROP(PorousMediumFlow, EnableBoxInterfaceSolver, false); SET_PROP(PorousMediumFlow, SolidState) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using SolidSystem = typename GET_PROP_TYPE(TypeTag, SolidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using SolidSystem = GetPropType<TypeTag, Properties::SolidSystem>; public: using type = InertSolidState<Scalar, SolidSystem>; }; @@ -102,7 +102,7 @@ public: // per default the solid system is inert with one constant component SET_PROP(PorousMediumFlow, SolidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using InertComponent = Components::Constant<1, Scalar>; using type = SolidSystems::InertSolidPhase<Scalar, InertComponent>; }; diff --git a/dumux/porousmediumflow/richards/localresidual.hh b/dumux/porousmediumflow/richards/localresidual.hh index 3927d4716d..6b497cf5c5 100644 --- a/dumux/porousmediumflow/richards/localresidual.hh +++ b/dumux/porousmediumflow/richards/localresidual.hh @@ -35,26 +35,26 @@ namespace Dumux { * using the Richards fully implicit models. */ template<class TypeTag> -class RichardsLocalResidual : public GET_PROP_TYPE(TypeTag, BaseLocalResidual) +class RichardsLocalResidual : public GetPropType<TypeTag, Properties::BaseLocalResidual> { - using Implementation = typename GET_PROP_TYPE(TypeTag, LocalResidual); - - using ParentType = typename GET_PROP_TYPE(TypeTag, BaseLocalResidual); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Implementation = GetPropType<TypeTag, Properties::LocalResidual>; + + using ParentType = GetPropType<TypeTag, Properties::BaseLocalResidual>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + 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 Element = typename GridView::template Codim<0>::Entity; - using EnergyLocalResidual = typename GET_PROP_TYPE(TypeTag, EnergyLocalResidual); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using EnergyLocalResidual = GetPropType<TypeTag, Properties::EnergyLocalResidual>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; // first index for the mass balance enum { conti0EqIdx = Indices::conti0EqIdx }; diff --git a/dumux/porousmediumflow/richards/model.hh b/dumux/porousmediumflow/richards/model.hh index c0585ac354..3e72106ef2 100644 --- a/dumux/porousmediumflow/richards/model.hh +++ b/dumux/porousmediumflow/richards/model.hh @@ -211,13 +211,13 @@ SET_TYPE_PROP(Richards, ModelTraits, RichardsModelTraits<GET_PROP_VALUE(TypeTag, SET_PROP(Richards, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PT = typename GET_PROP_TYPE(TypeTag, SpatialParams)::PermeabilityType; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType; using Traits = RichardsVolumeVariablesTraits<PV, FSY, FST, SSY, SST, PT, MT>; public: @@ -230,14 +230,14 @@ SET_BOOL_PROP(Richards, EnableWaterDiffusionInAir, false); //! Use the model after Millington (1961) for the effective diffusivity SET_TYPE_PROP(Richards, EffectiveDiffusivityModel, - DiffusivityMillingtonQuirk<typename GET_PROP_TYPE(TypeTag, Scalar)>); + DiffusivityMillingtonQuirk<GetPropType<TypeTag, Properties::Scalar>>); //! The primary variables vector for the richards model SET_PROP(Richards, PrimaryVariables) { private: - using PrimaryVariablesVector = Dune::FieldVector<typename GET_PROP_TYPE(TypeTag, Scalar), - GET_PROP_TYPE(TypeTag, ModelTraits)::numEq()>; + using PrimaryVariablesVector = Dune::FieldVector<GetPropType<TypeTag, Properties::Scalar>, + GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; public: using type = SwitchablePrimaryVariables<PrimaryVariablesVector, int>; }; @@ -255,7 +255,7 @@ SET_TYPE_PROP(Richards, PrimaryVariableSwitch, ExtendedRichardsPrimaryVariableSw */ SET_PROP(Richards, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::H2OAir<Scalar, Components::SimpleH2O<Scalar>, FluidSystems::H2OAirDefaultPolicy</*fastButSimplifiedRelations=*/true>>; @@ -270,8 +270,8 @@ SET_PROP(Richards, FluidSystem) SET_PROP(Richards, FluidState) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = ImmiscibleFluidState<Scalar, FluidSystem>; }; @@ -280,7 +280,7 @@ public: SET_PROP(RichardsNI, ThermalConductivityModel) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = ThermalConductivitySomerton<Scalar>; }; diff --git a/dumux/porousmediumflow/richards/newtonsolver.hh b/dumux/porousmediumflow/richards/newtonsolver.hh index 2fe311f372..60e6124f72 100644 --- a/dumux/porousmediumflow/richards/newtonsolver.hh +++ b/dumux/porousmediumflow/richards/newtonsolver.hh @@ -47,7 +47,7 @@ class RichardsNewtonSolver : public RichardsPrivarSwitchNewtonSolver<TypeTag, As using SolutionVector = typename Assembler::ResidualType; using MaterialLaw = typename Assembler::Problem::SpatialParams::MaterialLaw; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { pressureIdx = Indices::pressureIdx }; public: diff --git a/dumux/porousmediumflow/richards/privarswitchnewtonsolver.hh b/dumux/porousmediumflow/richards/privarswitchnewtonsolver.hh index 7b08bf21d1..5a1928e79b 100644 --- a/dumux/porousmediumflow/richards/privarswitchnewtonsolver.hh +++ b/dumux/porousmediumflow/richards/privarswitchnewtonsolver.hh @@ -56,9 +56,9 @@ public: * \brief the case with switchable primary variables */ template <class TypeTag, class Assembler, class LinearSolver> -class RichardsPrivarSwitchNewtonSolverImplementation<TypeTag, Assembler, LinearSolver, true> : public PriVarSwitchNewtonSolver<Assembler, LinearSolver, typename GET_PROP_TYPE(TypeTag, PrimaryVariableSwitch)> +class RichardsPrivarSwitchNewtonSolverImplementation<TypeTag, Assembler, LinearSolver, true> : public PriVarSwitchNewtonSolver<Assembler, LinearSolver, GetPropType<TypeTag, Properties::PrimaryVariableSwitch>> { - using PrimaryVariableSwitch = typename GET_PROP_TYPE(TypeTag, PrimaryVariableSwitch); + using PrimaryVariableSwitch = GetPropType<TypeTag, Properties::PrimaryVariableSwitch>; using ParentType = PriVarSwitchNewtonSolver<Assembler, LinearSolver, PrimaryVariableSwitch>; public: using ParentType::ParentType; diff --git a/dumux/porousmediumflow/richardsnc/model.hh b/dumux/porousmediumflow/richardsnc/model.hh index dd4987bc46..cb02c23bd9 100644 --- a/dumux/porousmediumflow/richardsnc/model.hh +++ b/dumux/porousmediumflow/richardsnc/model.hh @@ -150,11 +150,11 @@ struct RichardsNCNI { using InheritsFrom = std::tuple<RichardsNC>; }; SET_PROP(RichardsNC, BaseModelTraits) { private: - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = RichardsNCModelTraits<FluidSystem::numComponents, GET_PROP_VALUE(TypeTag, UseMoles), GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx)>; }; -SET_TYPE_PROP(RichardsNC, ModelTraits, typename GET_PROP_TYPE(TypeTag, BaseModelTraits)); +SET_TYPE_PROP(RichardsNC, ModelTraits, GetPropType<TypeTag, Properties::BaseModelTraits>); //! Define that per default mole fractions are used in the balance equations SET_BOOL_PROP(RichardsNC, UseMoles, true); @@ -170,13 +170,13 @@ SET_INT_PROP(RichardsNC, ReplaceCompEqIdx, 0); SET_PROP(RichardsNC, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using FST = typename GET_PROP_TYPE(TypeTag, FluidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PT = typename GET_PROP_TYPE(TypeTag, SpatialParams)::PermeabilityType; + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using FST = GetPropType<TypeTag, Properties::FluidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; + using PT = typename GetPropType<TypeTag, Properties::SpatialParams>::PermeabilityType; static_assert(FSY::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid system"); static_assert(FST::numComponents == MT::numComponents(), "Number of components mismatch between model and fluid state"); @@ -199,7 +199,7 @@ SET_BOOL_PROP(RichardsNC, EnableWaterDiffusionInAir, false); */ SET_PROP(RichardsNC, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::LiquidPhaseTwoC<Scalar, Components::SimpleH2O<Scalar>, Components::Constant<1, Scalar>>; }; @@ -211,8 +211,8 @@ SET_PROP(RichardsNC, FluidSystem) */ SET_PROP(RichardsNC, FluidState) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; using type = CompositionalFluidState<Scalar, FluidSystem>; }; @@ -220,10 +220,10 @@ SET_PROP(RichardsNC, FluidState) SET_TYPE_PROP(RichardsNC, IOFields, RichardsNCIOFields); //! The model after Millington (1961) is used for the effective diffusivity -SET_TYPE_PROP(RichardsNC, EffectiveDiffusivityModel, DiffusivityMillingtonQuirk<typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(RichardsNC, EffectiveDiffusivityModel, DiffusivityMillingtonQuirk<GetPropType<TypeTag, Properties::Scalar>>); //! average is used as default model to compute the effective thermal heat conductivity -SET_TYPE_PROP(RichardsNCNI, ThermalConductivityModel, ThermalConductivityAverage<typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(RichardsNCNI, ThermalConductivityModel, ThermalConductivityAverage<GetPropType<TypeTag, Properties::Scalar>>); ////////////////////////////////////////////////////////////////// // Property values for non-isothermal Richards n-components model @@ -233,7 +233,7 @@ SET_TYPE_PROP(RichardsNCNI, ThermalConductivityModel, ThermalConductivityAverage SET_PROP(RichardsNCNI, ModelTraits) { private: - using IsothermalTraits = typename GET_PROP_TYPE(TypeTag, BaseModelTraits); + using IsothermalTraits = GetPropType<TypeTag, Properties::BaseModelTraits>; public: using type = PorousMediumFlowNIModelTraits<IsothermalTraits>; }; diff --git a/dumux/porousmediumflow/tracer/localresidual.hh b/dumux/porousmediumflow/tracer/localresidual.hh index 8bff51b7c8..245a02e48f 100644 --- a/dumux/porousmediumflow/tracer/localresidual.hh +++ b/dumux/porousmediumflow/tracer/localresidual.hh @@ -39,24 +39,24 @@ namespace Dumux * */ template<class TypeTag> -class TracerLocalResidual: public GET_PROP_TYPE(TypeTag, BaseLocalResidual) +class TracerLocalResidual: public GetPropType<TypeTag, Properties::BaseLocalResidual> { - using ParentType = typename GET_PROP_TYPE(TypeTag, BaseLocalResidual); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using ParentType = GetPropType<TypeTag, Properties::BaseLocalResidual>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using FluxVariables = typename GET_PROP_TYPE(TypeTag, FluxVariables); - using ElementFluxVariablesCache = typename GET_PROP_TYPE(TypeTag, GridFluxVariablesCache)::LocalView; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; + using ElementFluxVariablesCache = typename GetPropType<TypeTag, Properties::GridFluxVariablesCache>::LocalView; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; - static constexpr int numComponents = GET_PROP_TYPE(TypeTag, ModelTraits)::numComponents(); + static constexpr int numComponents = GetPropType<TypeTag, Properties::ModelTraits>::numComponents(); static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); static constexpr int phaseIdx = 0; @@ -206,7 +206,7 @@ public: } template<class PartialDerivativeMatrices, class T = TypeTag> - std::enable_if_t<GET_PROP_TYPE(T, FVGridGeometry)::discMethod != DiscretizationMethod::box, void> + std::enable_if_t<GetPropType<T, Properties::FVGridGeometry>::discMethod != DiscretizationMethod::box, void> addFluxDerivatives(PartialDerivativeMatrices& derivativeMatrices, const Problem& problem, const Element& element, @@ -250,7 +250,7 @@ public: } template<class JacobianMatrix, class T = TypeTag> - std::enable_if_t<GET_PROP_TYPE(T, FVGridGeometry)::discMethod == DiscretizationMethod::box, void> + std::enable_if_t<GetPropType<T, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::box, void> addFluxDerivatives(JacobianMatrix& A, const Problem& problem, const Element& element, @@ -280,7 +280,7 @@ public: const auto advDerivIJ = volFlux*rho(outsideVolVars)*outsideWeight; // diffusive term - using DiffusionType = typename GET_PROP_TYPE(T, MolecularDiffusionType); + using DiffusionType = GetPropType<T, Properties::MolecularDiffusionType>; const auto ti = DiffusionType::calculateTransmissibilities(problem, element, fvGeometry, diff --git a/dumux/porousmediumflow/tracer/model.hh b/dumux/porousmediumflow/tracer/model.hh index 47d8cfc3f4..61cd2190be 100644 --- a/dumux/porousmediumflow/tracer/model.hh +++ b/dumux/porousmediumflow/tracer/model.hh @@ -136,7 +136,7 @@ SET_BOOL_PROP(Tracer, UseMoles, true); SET_PROP(Tracer, ModelTraits) { private: - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = TracerModelTraits<FluidSystem::numComponents, GET_PROP_VALUE(TypeTag, UseMoles)>; }; @@ -151,11 +151,11 @@ SET_TYPE_PROP(Tracer, IOFields, TracerIOFields); SET_PROP(Tracer, VolumeVariables) { private: - using PV = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FSY = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using SSY = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using SST = typename GET_PROP_TYPE(TypeTag, SolidState); - using MT = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using PV = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FSY = GetPropType<TypeTag, Properties::FluidSystem>; + using SSY = GetPropType<TypeTag, Properties::SolidSystem>; + using SST = GetPropType<TypeTag, Properties::SolidState>; + using MT = GetPropType<TypeTag, Properties::ModelTraits>; using Traits = TracerVolumeVariablesTraits<PV, FSY, SSY, SST, MT>; public: @@ -163,10 +163,10 @@ public: }; //! We use darcy's law as the default for the advective fluxes -SET_TYPE_PROP(Tracer, AdvectionType, StationaryVelocityField<typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(Tracer, AdvectionType, StationaryVelocityField<GetPropType<TypeTag, Properties::Scalar>>); //! Use simple model with constant tortuosity as pm diffusivity model -SET_TYPE_PROP(Tracer, EffectiveDiffusivityModel, DiffusivityConstantTortuosity<typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(Tracer, EffectiveDiffusivityModel, DiffusivityConstantTortuosity<GetPropType<TypeTag, Properties::Scalar>>); } // end namespace Properties // \} } // end namespace Dumux diff --git a/test/freeflow/navierstokes/angeli/main.cc b/test/freeflow/navierstokes/angeli/main.cc index 8bdf87c8d6..5e7218f9ba 100644 --- a/test/freeflow/navierstokes/angeli/main.cc +++ b/test/freeflow/navierstokes/angeli/main.cc @@ -102,7 +102,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -113,12 +113,12 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); @@ -128,12 +128,12 @@ int main(int argc, char** argv) try timeLoop->setMaxTimeStepSize(maxDt); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); problem->setTimeLoop(timeLoop); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; const auto numDofsCellCenter = leafGridView.size(0); const auto numDofsFace = leafGridView.size(1); SolutionVector x; @@ -143,13 +143,13 @@ int main(int argc, char** argv) try auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // intialize the vtk output module StaggeredVtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.addField(problem->getAnalyticalPressureSolution(), "pressureExact"); vtkWriter.addField(problem->getAnalyticalVelocitySolution(), "velocityExact"); diff --git a/test/freeflow/navierstokes/angeli/problem.hh b/test/freeflow/navierstokes/angeli/problem.hh index 1ee17f9aaa..68c5db0113 100644 --- a/test/freeflow/navierstokes/angeli/problem.hh +++ b/test/freeflow/navierstokes/angeli/problem.hh @@ -50,13 +50,13 @@ struct AngeliTest { using InheritsFrom = std::tuple<NavierStokes, StaggeredFreeF SET_PROP(AngeliTest, FluidSystem) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = FluidSystems::OnePLiquid<Scalar, Components::Constant<1, Scalar> >; }; // Set the grid type -SET_TYPE_PROP(AngeliTest, Grid, Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 2> >); +SET_TYPE_PROP(AngeliTest, Grid, Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<GetPropType<TypeTag, Properties::Scalar>, 2> >); // Set the problem property SET_TYPE_PROP(AngeliTest, Problem, Dumux::AngeliTestProblem<TypeTag> ); @@ -78,17 +78,17 @@ class AngeliTestProblem : public NavierStokesProblem<TypeTag> { using ParentType = NavierStokesProblem<TypeTag>; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; using TimeLoopPtr = std::shared_ptr<TimeLoop<Scalar>>; - static constexpr auto dimWorld = GET_PROP_TYPE(TypeTag, GridView)::dimensionworld; + static constexpr auto dimWorld = GetPropType<TypeTag, Properties::GridView>::dimensionworld; using Element = typename FVGridGeometry::GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; using VelocityVector = Dune::FieldVector<Scalar, dimWorld>; diff --git a/test/freeflow/navierstokes/channel/1d/main.cc b/test/freeflow/navierstokes/channel/1d/main.cc index 083ce8968c..a3350d4b49 100644 --- a/test/freeflow/navierstokes/channel/1d/main.cc +++ b/test/freeflow/navierstokes/channel/1d/main.cc @@ -90,7 +90,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -101,16 +101,16 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; const auto numDofsCellCenter = leafGridView.size(0); const auto numDofsFace = leafGridView.size(1); SolutionVector x; @@ -118,12 +118,12 @@ int main(int argc, char** argv) try x[FVGridGeometry::faceIdx()].resize(numDofsFace); // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; StaggeredVtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.addField(problem->getAnalyticalPressureSolution(), "pressureExact"); diff --git a/test/freeflow/navierstokes/channel/1d/problem.hh b/test/freeflow/navierstokes/channel/1d/problem.hh index e0703c8005..fdd6d0560d 100644 --- a/test/freeflow/navierstokes/channel/1d/problem.hh +++ b/test/freeflow/navierstokes/channel/1d/problem.hh @@ -53,7 +53,7 @@ struct NavierStokesAnalytic { using InheritsFrom = std::tuple<NavierStokes, Stag // the fluid system SET_PROP(NavierStokesAnalytic, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Components::Constant<1, Scalar> >; }; @@ -84,16 +84,16 @@ class NavierStokesAnalyticProblem : public NavierStokesProblem<TypeTag> { using ParentType = NavierStokesProblem<TypeTag>; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; - static constexpr auto dimWorld = GET_PROP_TYPE(TypeTag, GridView)::dimensionworld; + static constexpr auto dimWorld = GetPropType<TypeTag, Properties::GridView>::dimensionworld; using Element = typename FVGridGeometry::GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; using DimVector = GlobalPosition; diff --git a/test/freeflow/navierstokes/channel/2d/main.cc b/test/freeflow/navierstokes/channel/2d/main.cc index 0afdb8c346..5636334a89 100644 --- a/test/freeflow/navierstokes/channel/2d/main.cc +++ b/test/freeflow/navierstokes/channel/2d/main.cc @@ -104,7 +104,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -115,16 +115,16 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); @@ -133,7 +133,7 @@ int main(int argc, char** argv) try Scalar restartTime = getParam<Scalar>("Restart.Time", 0); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; const auto numDofsCellCenter = leafGridView.size(0); const auto numDofsFace = leafGridView.size(1); SolutionVector x; @@ -148,12 +148,12 @@ int main(int argc, char** argv) try problem->setTimeLoop(timeLoop); // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // initialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; StaggeredVtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(restartTime); @@ -172,7 +172,7 @@ int main(int argc, char** argv) try // set up two surfaces over which fluxes are calculated FluxOverSurface<TypeTag> flux(*problem, *gridVariables, x); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; @@ -221,7 +221,7 @@ int main(int argc, char** argv) try // calculate and print mass fluxes over the planes flux.calculateMassOrMoleFluxes(); - if(GET_PROP_TYPE(TypeTag, ModelTraits)::enableEnergyBalance()) + if(GetPropType<TypeTag, Properties::ModelTraits>::enableEnergyBalance()) { std::cout << "mass / energy flux at middle is: " << flux.netFlux("middle") << std::endl; std::cout << "mass / energy flux at outlet is: " << flux.netFlux("outlet") << std::endl; diff --git a/test/freeflow/navierstokes/channel/2d/problem.hh b/test/freeflow/navierstokes/channel/2d/problem.hh index e14335b922..47a1cb2504 100644 --- a/test/freeflow/navierstokes/channel/2d/problem.hh +++ b/test/freeflow/navierstokes/channel/2d/problem.hh @@ -53,7 +53,7 @@ struct ChannelTest { using InheritsFrom = std::tuple<NavierStokesNI, StaggeredFr // the fluid system SET_PROP(ChannelTest, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; #if NONISOTHERMAL using type = FluidSystems::OnePLiquid<Scalar, Components::SimpleH2O<Scalar> >; #else @@ -83,14 +83,14 @@ class ChannelTestProblem : public NavierStokesProblem<TypeTag> { using ParentType = NavierStokesProblem<TypeTag>; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; - static constexpr auto dimWorld = GET_PROP_TYPE(TypeTag, GridView)::dimensionworld; + static constexpr auto dimWorld = GetPropType<TypeTag, Properties::GridView>::dimensionworld; using Element = typename FVGridGeometry::GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; diff --git a/test/freeflow/navierstokes/channel/3d/main.cc b/test/freeflow/navierstokes/channel/3d/main.cc index 45fe8f4e04..dd90023611 100644 --- a/test/freeflow/navierstokes/channel/3d/main.cc +++ b/test/freeflow/navierstokes/channel/3d/main.cc @@ -96,7 +96,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -107,16 +107,16 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; static constexpr auto cellCenterIdx = FVGridGeometry::cellCenterIdx(); static constexpr auto faceIdx = FVGridGeometry::faceIdx(); const auto numDofsCellCenter = leafGridView.size(0); @@ -126,12 +126,12 @@ int main(int argc, char** argv) try x[faceIdx].resize(numDofsFace); // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; StaggeredVtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); @@ -150,8 +150,8 @@ int main(int argc, char** argv) try // set up two planes over which fluxes are calculated FluxOverSurface<TypeTag> flux(*problem, *gridVariables, x); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using GlobalPosition = Dune::FieldVector<Scalar, GridView::dimensionworld>; const Scalar xMin = fvGridGeometry->bBoxMin()[0]; @@ -219,7 +219,7 @@ flux.addSurface("middle", p0middle, p1middle); // calculate and print mass fluxes over the planes flux.calculateMassOrMoleFluxes(); - if(GET_PROP_TYPE(TypeTag, ModelTraits)::enableEnergyBalance()) + if(GetPropType<TypeTag, Properties::ModelTraits>::enableEnergyBalance()) { std::cout << "mass / energy flux at inlet is: " << flux.netFlux("inlet") << std::endl; std::cout << "mass / energy flux at middle is: " << flux.netFlux("middle") << std::endl; diff --git a/test/freeflow/navierstokes/channel/3d/problem.hh b/test/freeflow/navierstokes/channel/3d/problem.hh index ca2406b375..27429c48d5 100644 --- a/test/freeflow/navierstokes/channel/3d/problem.hh +++ b/test/freeflow/navierstokes/channel/3d/problem.hh @@ -59,7 +59,7 @@ struct ThreeDChannelTest { using InheritsFrom = std::tuple<NavierStokes, Stagger // the fluid system SET_PROP(ThreeDChannelTest, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Components::Constant<1, Scalar> >; }; @@ -87,14 +87,14 @@ class ThreeDChannelTestProblem : public NavierStokesProblem<TypeTag> { using ParentType = NavierStokesProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; using Element = typename GridView::template Codim<0>::Entity; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; @@ -103,11 +103,11 @@ class ThreeDChannelTestProblem : public NavierStokesProblem<TypeTag> static constexpr int dimWorld = GridView::dimensionworld; using GlobalPosition = Dune::FieldVector<Scalar, dimWorld>; - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using FacePrimaryVariables = typename GET_PROP_TYPE(TypeTag, FacePrimaryVariables); + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using FacePrimaryVariables = GetPropType<TypeTag, Properties::FacePrimaryVariables>; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; static constexpr bool enablePseudoThreeDWallFriction = !DIM_3D; diff --git a/test/freeflow/navierstokes/closedsystem/main.cc b/test/freeflow/navierstokes/closedsystem/main.cc index 31c326cc9a..7d1cef574f 100644 --- a/test/freeflow/navierstokes/closedsystem/main.cc +++ b/test/freeflow/navierstokes/closedsystem/main.cc @@ -101,7 +101,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -112,16 +112,16 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; const auto numDofsCellCenter = leafGridView.size(0); const auto numDofsFace = leafGridView.size(1); SolutionVector x; @@ -131,18 +131,18 @@ int main(int argc, char** argv) try auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; StaggeredVtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/freeflow/navierstokes/closedsystem/problem.hh b/test/freeflow/navierstokes/closedsystem/problem.hh index 793a7422d5..537121dc2b 100644 --- a/test/freeflow/navierstokes/closedsystem/problem.hh +++ b/test/freeflow/navierstokes/closedsystem/problem.hh @@ -48,7 +48,7 @@ struct ClosedSystemTest { using InheritsFrom = std::tuple<NavierStokes, Staggere // the fluid system SET_PROP(ClosedSystemTest, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Components::Constant<1, Scalar> >; }; @@ -75,14 +75,14 @@ class ClosedSystemTestProblem : public NavierStokesProblem<TypeTag> { using ParentType = NavierStokesProblem<TypeTag>; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; - static constexpr auto dimWorld = GET_PROP_TYPE(TypeTag, GridView)::dimensionworld; + static constexpr auto dimWorld = GetPropType<TypeTag, Properties::GridView>::dimensionworld; using GlobalPosition = Dune::FieldVector<Scalar, dimWorld>; public: diff --git a/test/freeflow/navierstokes/donea/main.cc b/test/freeflow/navierstokes/donea/main.cc index 2ad3f9c20b..fe9a22c061 100644 --- a/test/freeflow/navierstokes/donea/main.cc +++ b/test/freeflow/navierstokes/donea/main.cc @@ -103,7 +103,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - using GridManager = Dumux::GridManager<typename GET_PROP_TYPE(TypeTag, Grid)>; + using GridManager = Dumux::GridManager<GetPropType<TypeTag, Properties::Grid>>; GridManager gridManager; gridManager.init(); @@ -115,16 +115,16 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; const auto numDofsCellCenter = leafGridView.size(0); const auto numDofsFace = leafGridView.size(1); SolutionVector x; @@ -132,12 +132,12 @@ int main(int argc, char** argv) try x[FVGridGeometry::faceIdx()].resize(numDofsFace); // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; StaggeredVtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.addField(problem->getAnalyticalPressureSolution(), "pressureExact"); diff --git a/test/freeflow/navierstokes/donea/problem.hh b/test/freeflow/navierstokes/donea/problem.hh index 49d3acbed5..0722b543d2 100644 --- a/test/freeflow/navierstokes/donea/problem.hh +++ b/test/freeflow/navierstokes/donea/problem.hh @@ -54,7 +54,7 @@ struct DoneaTest { using InheritsFrom = std::tuple<NavierStokes, StaggeredFreeFl // the fluid system SET_PROP(DoneaTest, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Components::Constant<1, Scalar> >; }; @@ -80,16 +80,16 @@ class DoneaTestProblem : public NavierStokesProblem<TypeTag> { using ParentType = NavierStokesProblem<TypeTag>; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; - static constexpr auto dimWorld = GET_PROP_TYPE(TypeTag, GridView)::dimensionworld; + static constexpr auto dimWorld = GetPropType<TypeTag, Properties::GridView>::dimensionworld; using Element = typename FVGridGeometry::GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; using VelocityVector = Dune::FieldVector<Scalar, dimWorld>; diff --git a/test/freeflow/navierstokes/kovasznay/main.cc b/test/freeflow/navierstokes/kovasznay/main.cc index 5d98124dfc..f805d6ba87 100644 --- a/test/freeflow/navierstokes/kovasznay/main.cc +++ b/test/freeflow/navierstokes/kovasznay/main.cc @@ -101,7 +101,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -112,16 +112,16 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; const auto numDofsCellCenter = leafGridView.size(0); const auto numDofsFace = leafGridView.size(1); SolutionVector x; @@ -129,12 +129,12 @@ int main(int argc, char** argv) try x[FVGridGeometry::faceIdx()].resize(numDofsFace); // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; StaggeredVtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.addField(problem->getAnalyticalPressureSolution(), "pressureExact"); diff --git a/test/freeflow/navierstokes/kovasznay/problem.hh b/test/freeflow/navierstokes/kovasznay/problem.hh index 1e9b3be587..7f0ae80841 100644 --- a/test/freeflow/navierstokes/kovasznay/problem.hh +++ b/test/freeflow/navierstokes/kovasznay/problem.hh @@ -49,12 +49,12 @@ struct KovasznayTest { using InheritsFrom = std::tuple<NavierStokes, StaggeredFr // the fluid system SET_PROP(KovasznayTest, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Components::Constant<1, Scalar> >; }; // Set the grid type -SET_TYPE_PROP(KovasznayTest, Grid, Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 2> >); +SET_TYPE_PROP(KovasznayTest, Grid, Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<GetPropType<TypeTag, Properties::Scalar>, 2> >); // Set the problem property SET_TYPE_PROP(KovasznayTest, Problem, Dumux::KovasznayTestProblem<TypeTag> ); @@ -75,16 +75,16 @@ class KovasznayTestProblem : public NavierStokesProblem<TypeTag> { using ParentType = NavierStokesProblem<TypeTag>; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; - static constexpr auto dimWorld = GET_PROP_TYPE(TypeTag, GridView)::dimensionworld; + static constexpr auto dimWorld = GetPropType<TypeTag, Properties::GridView>::dimensionworld; using Element = typename FVGridGeometry::GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; using VelocityVector = Dune::FieldVector<Scalar, dimWorld>; diff --git a/test/freeflow/navierstokesnc/channel/main.cc b/test/freeflow/navierstokesnc/channel/main.cc index 74f568bdc6..0546c2dd95 100644 --- a/test/freeflow/navierstokesnc/channel/main.cc +++ b/test/freeflow/navierstokesnc/channel/main.cc @@ -101,7 +101,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -112,16 +112,16 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); @@ -132,7 +132,7 @@ int main(int argc, char** argv) try problem->setTimeLoop(timeLoop); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; const auto numDofsCellCenter = leafGridView.size(0); const auto numDofsFace = leafGridView.size(1); SolutionVector x; @@ -142,12 +142,12 @@ int main(int argc, char** argv) try auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; StaggeredVtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.addField(problem->getDeltaP(), "deltaP"); diff --git a/test/freeflow/navierstokesnc/channel/problem.hh b/test/freeflow/navierstokesnc/channel/problem.hh index 8d42dd96f0..de44d463b7 100644 --- a/test/freeflow/navierstokesnc/channel/problem.hh +++ b/test/freeflow/navierstokesnc/channel/problem.hh @@ -58,7 +58,7 @@ struct ChannelNCTest { using InheritsFrom = std::tuple<NavierStokesNCNI, Stagger // Select the fluid system SET_PROP(ChannelNCTest, FluidSystem) { - using H2OAir = FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)>; + using H2OAir = FluidSystems::H2OAir<GetPropType<TypeTag, Properties::Scalar>>; static constexpr int phaseIdx = H2OAir::liquidPhaseIdx; using type = FluidSystems::OnePAdapter<H2OAir, phaseIdx>; }; @@ -95,15 +95,15 @@ class ChannelNCTestProblem : public NavierStokesProblem<TypeTag> { using ParentType = NavierStokesProblem<TypeTag>; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; - static constexpr auto dimWorld = GET_PROP_TYPE(TypeTag, GridView)::dimensionworld; + static constexpr auto dimWorld = GetPropType<TypeTag, Properties::GridView>::dimensionworld; using GlobalPosition = Dune::FieldVector<Scalar, dimWorld>; using TimeLoopPtr = std::shared_ptr<CheckPointTimeLoop<Scalar>>; diff --git a/test/freeflow/navierstokesnc/densitydrivenflow/main.cc b/test/freeflow/navierstokesnc/densitydrivenflow/main.cc index 0a6b2c4152..fba6886abd 100644 --- a/test/freeflow/navierstokesnc/densitydrivenflow/main.cc +++ b/test/freeflow/navierstokesnc/densitydrivenflow/main.cc @@ -101,7 +101,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -112,16 +112,16 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); @@ -131,7 +131,7 @@ int main(int argc, char** argv) try timeLoop->setMaxTimeStepSize(maxDt); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; const auto numDofsCellCenter = leafGridView.size(0); const auto numDofsFace = leafGridView.size(1); SolutionVector x; @@ -141,12 +141,12 @@ int main(int argc, char** argv) try auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; StaggeredVtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.addField(problem->getDeltaRho(), "deltaRho"); diff --git a/test/freeflow/navierstokesnc/densitydrivenflow/problem.hh b/test/freeflow/navierstokesnc/densitydrivenflow/problem.hh index c124586dad..4920c2f4be 100644 --- a/test/freeflow/navierstokesnc/densitydrivenflow/problem.hh +++ b/test/freeflow/navierstokesnc/densitydrivenflow/problem.hh @@ -50,7 +50,7 @@ struct DensityDrivenFlow { using InheritsFrom = std::tuple<NavierStokesNC, Stagg // Select the fluid system SET_PROP(DensityDrivenFlow, FluidSystem) { - using H2OAir = FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)>; + using H2OAir = FluidSystems::H2OAir<GetPropType<TypeTag, Properties::Scalar>>; static constexpr int phaseIdx = H2OAir::liquidPhaseIdx; using type = FluidSystems::OnePAdapter<H2OAir, phaseIdx>; }; @@ -81,20 +81,20 @@ class DensityDrivenFlowProblem : public NavierStokesProblem<TypeTag> { using ParentType = NavierStokesProblem<TypeTag>; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Element = typename FVGridGeometry::GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; using TimeLoopPtr = std::shared_ptr<CheckPointTimeLoop<Scalar>>; - static constexpr auto dimWorld = GET_PROP_TYPE(TypeTag, GridView)::dimensionworld; + static constexpr auto dimWorld = GetPropType<TypeTag, Properties::GridView>::dimensionworld; static constexpr auto transportCompIdx = Indices::conti0EqIdx + 1; static constexpr auto transportEqIdx = Indices::conti0EqIdx + 1; diff --git a/test/freeflow/navierstokesnc/maxwellstefan/main.cc b/test/freeflow/navierstokesnc/maxwellstefan/main.cc index e6e1f3629e..98f298b33a 100644 --- a/test/freeflow/navierstokesnc/maxwellstefan/main.cc +++ b/test/freeflow/navierstokesnc/maxwellstefan/main.cc @@ -101,7 +101,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -112,16 +112,16 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); @@ -131,7 +131,7 @@ int main(int argc, char** argv) try timeLoop->setMaxTimeStepSize(maxDt); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; const auto numDofsCellCenter = leafGridView.size(0); const auto numDofsFace = leafGridView.size(1); SolutionVector x; @@ -141,12 +141,12 @@ int main(int argc, char** argv) try auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; StaggeredVtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); IOFields::initOutputModule(vtkWriter); //! Add model specific output fields vtkWriter.write(0.0); diff --git a/test/freeflow/navierstokesnc/maxwellstefan/problem.hh b/test/freeflow/navierstokesnc/maxwellstefan/problem.hh index a935fb993b..fbf9ab605a 100644 --- a/test/freeflow/navierstokesnc/maxwellstefan/problem.hh +++ b/test/freeflow/navierstokesnc/maxwellstefan/problem.hh @@ -76,10 +76,10 @@ SET_TYPE_PROP(MaxwellStefanNCTest, MolecularDiffusionType, MaxwellStefansLaw<Typ */ template<class TypeTag> class MaxwellStefanFluidSystem -: public FluidSystems::Base<typename GET_PROP_TYPE(TypeTag, Scalar), MaxwellStefanFluidSystem<TypeTag>> +: public FluidSystems::Base<GetPropType<TypeTag, Properties::Scalar>, MaxwellStefanFluidSystem<TypeTag>> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using ThisType = MaxwellStefanFluidSystem<TypeTag>; using Base = FluidSystems::Base<Scalar, ThisType>; @@ -196,13 +196,13 @@ class MaxwellStefanNCTestProblem : public NavierStokesProblem<TypeTag> { using ParentType = NavierStokesProblem<TypeTag>; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Element = typename FVGridGeometry::GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; diff --git a/test/freeflow/rans/main.cc b/test/freeflow/rans/main.cc index c55a82a61f..320407e9dd 100644 --- a/test/freeflow/rans/main.cc +++ b/test/freeflow/rans/main.cc @@ -94,7 +94,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -105,16 +105,16 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); @@ -125,7 +125,7 @@ int main(int argc, char** argv) try problem->setTimeLoop(timeLoop); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; const auto numDofsCellCenter = leafGridView.size(0); const auto numDofsFace = leafGridView.size(1); SolutionVector x; @@ -137,12 +137,12 @@ int main(int argc, char** argv) try auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; StaggeredVtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/freeflow/rans/problem.hh b/test/freeflow/rans/problem.hh index 09184077db..f5de4cdc57 100644 --- a/test/freeflow/rans/problem.hh +++ b/test/freeflow/rans/problem.hh @@ -80,13 +80,13 @@ struct PipeLauferProblem { using InheritsFrom = std::tuple<ZeroEq, StaggeredFree // the fluid system SET_PROP(PipeLauferProblem, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePGas<Scalar, Components::Air<Scalar> >; }; // Set the grid type SET_TYPE_PROP(PipeLauferProblem, Grid, - Dune::YaspGrid<2, Dune::TensorProductCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 2> >); + Dune::YaspGrid<2, Dune::TensorProductCoordinates<GetPropType<TypeTag, Properties::Scalar>, 2> >); // Set the problem property SET_TYPE_PROP(PipeLauferProblem, Problem, Dumux::PipeLauferProblem<TypeTag> ); @@ -127,18 +127,18 @@ class PipeLauferProblem : public ZeroEqProblem<TypeTag> using ParentType = ZeroEqProblem<TypeTag>; #endif - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FluidState = typename GET_PROP_TYPE(TypeTag, FluidState); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using FluidState = GetPropType<TypeTag, Properties::FluidState>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Element = typename FVGridGeometry::GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; diff --git a/test/freeflow/ransnc/main.cc b/test/freeflow/ransnc/main.cc index 501d908dff..87b8b375e7 100644 --- a/test/freeflow/ransnc/main.cc +++ b/test/freeflow/ransnc/main.cc @@ -90,7 +90,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -101,16 +101,16 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); @@ -121,7 +121,7 @@ int main(int argc, char** argv) try problem->setTimeLoop(timeLoop); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; const auto numDofsCellCenter = leafGridView.size(0); const auto numDofsFace = leafGridView.size(1); SolutionVector x; @@ -133,12 +133,12 @@ int main(int argc, char** argv) try auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; StaggeredVtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/freeflow/ransnc/problem.hh b/test/freeflow/ransnc/problem.hh index de192e44d4..78ea3e8155 100644 --- a/test/freeflow/ransnc/problem.hh +++ b/test/freeflow/ransnc/problem.hh @@ -88,7 +88,7 @@ namespace TTag { // The fluid system SET_PROP(FlatPlateNCTest, FluidSystem) { - using H2OAir = FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)>; + using H2OAir = FluidSystems::H2OAir<GetPropType<TypeTag, Properties::Scalar>>; static constexpr auto phaseIdx = H2OAir::gasPhaseIdx; // simulate the air phase using type = FluidSystems::OnePAdapter<H2OAir, phaseIdx>; }; @@ -98,7 +98,7 @@ SET_INT_PROP(FlatPlateNCTest, ReplaceCompEqIdx, 0); // Set the grid type SET_TYPE_PROP(FlatPlateNCTest, Grid, - Dune::YaspGrid<2, Dune::TensorProductCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 2> >); + Dune::YaspGrid<2, Dune::TensorProductCoordinates<GetPropType<TypeTag, Properties::Scalar>, 2> >); // Set the problem property SET_TYPE_PROP(FlatPlateNCTest, Problem, Dumux::FlatPlateNCTestProblem<TypeTag> ); @@ -144,24 +144,24 @@ class FlatPlateNCTestProblem : public ZeroEqProblem<TypeTag> using ParentType = ZeroEqProblem<TypeTag>; #endif - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FluidState = typename GET_PROP_TYPE(TypeTag, FluidState); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using FluidState = GetPropType<TypeTag, Properties::FluidState>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Element = typename FVGridGeometry::GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using TimeLoopPtr = std::shared_ptr<CheckPointTimeLoop<Scalar>>; - static constexpr auto dimWorld = GET_PROP_TYPE(TypeTag, GridView)::dimensionworld; + static constexpr auto dimWorld = GetPropType<TypeTag, Properties::GridView>::dimensionworld; static constexpr auto transportEqIdx = Indices::conti0EqIdx + 1; static constexpr auto transportCompIdx = Indices::conti0EqIdx + 1; diff --git a/test/geomechanics/elastic/main.cc b/test/geomechanics/elastic/main.cc index 7bc5f5d8db..c4fc624fab 100644 --- a/test/geomechanics/elastic/main.cc +++ b/test/geomechanics/elastic/main.cc @@ -71,7 +71,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -82,21 +82,21 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x); diff --git a/test/geomechanics/elastic/problem.hh b/test/geomechanics/elastic/problem.hh index 744b1dc509..72588a99a3 100644 --- a/test/geomechanics/elastic/problem.hh +++ b/test/geomechanics/elastic/problem.hh @@ -47,8 +47,8 @@ SET_TYPE_PROP(TestElastic, Grid, Dune::YaspGrid<2>); // Set the problem property SET_TYPE_PROP(TestElastic, Problem, Dumux::ElasticProblem<TypeTag>); // The spatial parameters property -SET_TYPE_PROP(TestElastic, SpatialParams, ElasticSpatialParams< typename GET_PROP_TYPE(TypeTag, Scalar), - typename GET_PROP_TYPE(TypeTag, FVGridGeometry) >); +SET_TYPE_PROP(TestElastic, SpatialParams, ElasticSpatialParams< GetPropType<TypeTag, Properties::Scalar>, + GetPropType<TypeTag, Properties::FVGridGeometry> >); } /*! @@ -62,19 +62,19 @@ class ElasticProblem : public GeomechanicsFVProblem<TypeTag> { using ParentType = GeomechanicsFVProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVGridGeometry::SubControlVolume; using SubControlVolumeFace = typename FVGridGeometry::SubControlVolumeFace; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; diff --git a/test/geomechanics/poroelastic/main.cc b/test/geomechanics/poroelastic/main.cc index 90a1b5094d..a6ef356b4b 100644 --- a/test/geomechanics/poroelastic/main.cc +++ b/test/geomechanics/poroelastic/main.cc @@ -114,7 +114,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -125,26 +125,26 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x); // intialize the vtk output module and output fields - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; using VtkOutputModule = Dumux::VtkOutputModule<GridVariables, SolutionVector>; VtkOutputModule vtkWriter(*gridVariables, x, problem->name()); IOFields::initOutputModule(vtkWriter); @@ -158,7 +158,7 @@ int main(int argc, char** argv) try // Furthermore, write out element stress tensors static constexpr int dim = FVGridGeometry::GridView::dimension; static constexpr int dimWorld = FVGridGeometry::GridView::dimensionworld; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using ForceVector = Dune::FieldVector< Scalar, dimWorld >; // containers to store sigma/effective sigma @@ -176,7 +176,7 @@ int main(int argc, char** argv) try } // use convenience function to compute stresses - using StressType = GET_PROP_TYPE(TypeTag, StressType); + using StressType = GetPropType<TypeTag, Properties::StressType>; assembleElementStresses<StressType>(sigmaStorage, effSigmaStorage, *problem, *fvGridGeometry, *gridVariables, x); // write initial solution diff --git a/test/geomechanics/poroelastic/problem.hh b/test/geomechanics/poroelastic/problem.hh index f0cb47d5aa..d1cf3c5b6b 100644 --- a/test/geomechanics/poroelastic/problem.hh +++ b/test/geomechanics/poroelastic/problem.hh @@ -52,11 +52,11 @@ SET_TYPE_PROP(TestPoroElastic, Problem, Dumux::PoroElasticProblem<TypeTag>); // The fluid phase consists of one constant component SET_TYPE_PROP(TestPoroElastic, FluidSystem, - Dumux::FluidSystems::OnePLiquid< typename GET_PROP_TYPE(TypeTag, Scalar), - Dumux::Components::Constant<0, typename GET_PROP_TYPE(TypeTag, Scalar)> >); + Dumux::FluidSystems::OnePLiquid< GetPropType<TypeTag, Properties::Scalar>, + Dumux::Components::Constant<0, GetPropType<TypeTag, Properties::Scalar>> >); // The spatial parameters property -SET_TYPE_PROP(TestPoroElastic, SpatialParams, PoroElasticSpatialParams< typename GET_PROP_TYPE(TypeTag, Scalar), - typename GET_PROP_TYPE(TypeTag, FVGridGeometry) >); +SET_TYPE_PROP(TestPoroElastic, SpatialParams, PoroElasticSpatialParams< GetPropType<TypeTag, Properties::Scalar>, + GetPropType<TypeTag, Properties::FVGridGeometry> >); } /*! @@ -70,19 +70,19 @@ class PoroElasticProblem : public GeomechanicsFVProblem<TypeTag> { using ParentType = GeomechanicsFVProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVGridGeometry::SubControlVolume; using SubControlVolumeFace = typename FVGridGeometry::SubControlVolumeFace; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; @@ -116,7 +116,7 @@ public: Scalar effectiveFluidDensityAtPos(const GlobalPosition& globalPos) const { // This test uses the constant component, obtain density only once - using FS = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FS = GetPropType<TypeTag, Properties::FluidSystem>; static const Scalar rho = FS::density( effectivePorePressureAtPos(globalPos), temperature() ); return rho; } diff --git a/test/io/gridmanager/test_gridmanager_cake.cc b/test/io/gridmanager/test_gridmanager_cake.cc index ae6dc8ae83..4953c723bc 100644 --- a/test/io/gridmanager/test_gridmanager_cake.cc +++ b/test/io/gridmanager/test_gridmanager_cake.cc @@ -61,7 +61,7 @@ int main(int argc, char** argv) try // using declarations using TypeTag = TTAG(GridCreatorCakeTest); - using Grid = typename GET_PROP_TYPE(TypeTag, Grid); + using Grid = Dumux::GetPropType<TypeTag, Dumux::Properties::Grid>; using GridManager = typename Dumux::CakeGridCreator<Grid>; GridManager gridManager; diff --git a/test/io/vtk/test_vtk_staggeredfreeflowpvnames.cc b/test/io/vtk/test_vtk_staggeredfreeflowpvnames.cc index 91b61cae55..a7edaf91d0 100644 --- a/test/io/vtk/test_vtk_staggeredfreeflowpvnames.cc +++ b/test/io/vtk/test_vtk_staggeredfreeflowpvnames.cc @@ -96,7 +96,7 @@ struct ZeroEqNCNINameTestTypeTag { using InheritsFrom = std::tuple<ZeroEqNCNI, S // The fluid system SET_PROP(StaggeredPVNamesTestTypeTag, FluidSystem) { - using H2OAir = FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)>; + using H2OAir = FluidSystems::H2OAir<GetPropType<TypeTag, Properties::Scalar>>; static constexpr auto phaseIdx = H2OAir::gasPhaseIdx; // simulate the air phase using type = FluidSystems::OnePAdapter<H2OAir, phaseIdx>; }; @@ -112,7 +112,7 @@ private: // use the ZeroEqProblem as base class for non-RANS models and for the ZeroEq model // use the the KEpsilonProblem as base class for all RANS models except the ZeroEq model // NOTE: this rather unpleasant hack will be removed once the RANS models have been unified - using MTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using MTraits = GetPropType<TypeTag, Properties::ModelTraits>; static constexpr auto dim = MTraits::dim(); static constexpr auto nComp = MTraits::numComponents(); @@ -139,9 +139,9 @@ private: class MockProblem : public BaseProblem { using ParentType = BaseProblem; - using BoundaryTypes = typename GET_PROP_TYPE(TTag, BoundaryTypes); - using Scalar = typename GET_PROP_TYPE(TTag, Scalar); - using Traits = typename GET_PROP_TYPE(TTag, ModelTraits); + using BoundaryTypes = GetPropType<TTag, Properties::BoundaryTypes>; + using Scalar = GetPropType<TTag, Properties::Scalar>; + using Traits = GetPropType<TTag, Properties::ModelTraits>; public: using ParentType::ParentType; @@ -155,14 +155,14 @@ private: Scalar temperature() const { return 300; } - template<class T = TTag, bool enable = GET_PROP_TYPE(T, ModelTraits)::usesTurbulenceModel(), std::enable_if_t<!enable, int> = 0> + template<class T = TTag, bool enable = GetPropType<T, Properties::ModelTraits>::usesTurbulenceModel(), std::enable_if_t<!enable, int> = 0> void updateStaticWallProperties() {} template<class U, bool enable = Traits::usesTurbulenceModel(), std::enable_if_t<!enable, int> = 0> void updateDynamicWallProperties(const U&) {} // for ZeroEq model - template<class T = TTag, bool enable = GET_PROP_TYPE(T, ModelTraits)::usesTurbulenceModel(), std::enable_if_t<enable, int> = 0> + template<class T = TTag, bool enable = GetPropType<T, Properties::ModelTraits>::usesTurbulenceModel(), std::enable_if_t<enable, int> = 0> void updateStaticWallProperties() { ParentType::updateStaticWallProperties(); } @@ -204,7 +204,7 @@ void assignValues(SolutionVector& sol, Values values) template<class TypeTag, class FVGridGeometry, std::size_t numValues> void testWriteAndReadVtk(std::shared_ptr<FVGridGeometry> fvGridGeometry, - const std::array<typename GET_PROP_TYPE(TypeTag, Scalar), numValues>& values, + const std::array<Dumux::GetPropType<TypeTag, Dumux::Properties::Scalar>, numValues>& values, const std::string& fileName, bool verbose = false, bool deleteFiles = true) @@ -212,7 +212,7 @@ void testWriteAndReadVtk(std::shared_ptr<FVGridGeometry> fvGridGeometry, using namespace Dumux; // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector writeFrom; writeFrom[FVGridGeometry::cellCenterIdx()].resize(fvGridGeometry->numCellCenterDofs()); @@ -221,32 +221,32 @@ void testWriteAndReadVtk(std::shared_ptr<FVGridGeometry> fvGridGeometry, SolutionVector readTo = writeFrom; // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); assignValues(writeFrom[FVGridGeometry::cellCenterIdx()], values); - assignValues(writeFrom[FVGridGeometry::faceIdx()], std::array<typename GET_PROP_TYPE(TypeTag, Scalar), 1>{1.0}); + assignValues(writeFrom[FVGridGeometry::faceIdx()], std::array<GetPropType<TypeTag, Properties::Scalar>, 1>{1.0}); problem->updateStaticWallProperties(); problem->updateDynamicWallProperties(writeFrom); // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(writeFrom); // initialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; StaggeredVtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, writeFrom, fileName); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; + using IOFields = GetPropType<TypeTag, Properties::IOFields>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; - using CellCenterPrimaryVariables = typename GET_PROP_TYPE(TypeTag, CellCenterPrimaryVariables); - using FacePrimaryVariables = typename GET_PROP_TYPE(TypeTag, FacePrimaryVariables); + using CellCenterPrimaryVariables = GetPropType<TypeTag, Properties::CellCenterPrimaryVariables>; + using FacePrimaryVariables = GetPropType<TypeTag, Properties::FacePrimaryVariables>; // cc dofs loadSolution(readTo[FVGridGeometry::cellCenterIdx()], fileName + "-00000.vtu", @@ -322,9 +322,9 @@ int main(int argc, char** argv) try Parameters::init(parameters); using CommonTypeTag = TTAG(StaggeredPVNamesTestTypeTag); - using Grid = typename GET_PROP_TYPE(CommonTypeTag, Grid); - using FVGridGeometry = typename GET_PROP_TYPE(CommonTypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(CommonTypeTag, Scalar); + using Grid = GetPropType<CommonTypeTag, Properties::Grid>; + using FVGridGeometry = GetPropType<CommonTypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<CommonTypeTag, Properties::Scalar>; using GlobalPosition = Dune::FieldVector<Scalar, Grid::dimension>; const GlobalPosition lowerLeft(0.0); @@ -337,7 +337,7 @@ int main(int argc, char** argv) try auto fvGridGeometry = std::make_shared<FVGridGeometry>(gridView); fvGridGeometry->update(); - using FluidSystem = typename GET_PROP_TYPE(CommonTypeTag, FluidSystem); + using FluidSystem = GetPropType<CommonTypeTag, Properties::FluidSystem>; FluidSystem::init(); testWriteAndReadVtk<TTAG(NavierStokesPVNameTypeTag)>(fvGridGeometry, std::array<Scalar, 1>{1e5}, "navierstokes"); diff --git a/test/multidomain/boundary/darcydarcy/1p_1p/main.cc b/test/multidomain/boundary/darcydarcy/1p_1p/main.cc index aa6bbe7978..6296c92062 100644 --- a/test/multidomain/boundary/darcydarcy/1p_1p/main.cc +++ b/test/multidomain/boundary/darcydarcy/1p_1p/main.cc @@ -88,13 +88,13 @@ SET_PROP(OnePSub, Grid) #endif // set the spatial params -SET_TYPE_PROP(OnePSub, SpatialParams, OnePTestSpatialParams<typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(OnePSub, SpatialParams, OnePTestSpatialParams<GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::Scalar>>); // the fluid system SET_PROP(OnePSub, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Components::SimpleH2O<Scalar> >; }; @@ -162,7 +162,7 @@ int main(int argc, char** argv) try #elif DOMAINSPLIT==0 // create an upper half and lower half grid - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager0, gridManager1; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager0, gridManager1; gridManager0.init("1"); gridManager1.init("2"); @@ -177,7 +177,7 @@ int main(int argc, char** argv) try //////////////////////////////////////////////// // create the finite volume grid geometries - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry0 = std::make_shared<FVGridGeometry>(gridView0); auto fvGridGeometry1 = std::make_shared<FVGridGeometry>(gridView1); fvGridGeometry0->update(); @@ -189,14 +189,14 @@ int main(int argc, char** argv) try constexpr auto domain1Idx = Traits::template DomainIdx<1>(); // the coupling manager - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; auto couplingManager = std::make_shared<CouplingManager>(); // the problem (initial and boundary conditions) - using Problem0 = typename GET_PROP_TYPE(SubTypeTag0, Problem); + using Problem0 = GetPropType<SubTypeTag0, Properties::Problem>; auto problem0 = std::make_shared<Problem0>(fvGridGeometry0, couplingManager, "1"); problem0->spatialParams().setLens(lensLowerLeft, lensUpperRight); - using Problem1 = typename GET_PROP_TYPE(SubTypeTag1, Problem); + using Problem1 = GetPropType<SubTypeTag1, Properties::Problem>; auto problem1 = std::make_shared<Problem1>(fvGridGeometry1, couplingManager, "2"); problem1->spatialParams().setLens(lensLowerLeft, lensUpperRight); @@ -212,9 +212,9 @@ int main(int argc, char** argv) try couplingManager->init(problem0, problem1, sol); // the grid variables - using GridVariables0 = typename GET_PROP_TYPE(SubTypeTag0, GridVariables); + using GridVariables0 = GetPropType<SubTypeTag0, Properties::GridVariables>; auto gridVariables0 = std::make_shared<GridVariables0>(problem0, fvGridGeometry0); - using GridVariables1 = typename GET_PROP_TYPE(SubTypeTag1, GridVariables); + using GridVariables1 = GetPropType<SubTypeTag1, Properties::GridVariables>; auto gridVariables1 = std::make_shared<GridVariables1>(problem1, fvGridGeometry1); gridVariables0->init(sol[domain0Idx], oldSol[domain0Idx]); gridVariables1->init(sol[domain1Idx], oldSol[domain1Idx]); @@ -228,12 +228,12 @@ int main(int argc, char** argv) try // intialize the vtk output module using SolutionVector0 = std::decay_t<decltype(sol[domain0Idx])>; VtkOutputModule<GridVariables0, SolutionVector0> vtkWriter0(*gridVariables0, sol[domain0Idx], problem0->name()); - GET_PROP_TYPE(SubTypeTag0, IOFields)::initOutputModule(vtkWriter0); + GetPropType<SubTypeTag0, Properties::IOFields>::initOutputModule(vtkWriter0); vtkWriter0.write(0.0); using SolutionVector1 = std::decay_t<decltype(sol[domain1Idx])>; VtkOutputModule<GridVariables1, SolutionVector1> vtkWriter1(*gridVariables1, sol[domain1Idx], problem1->name()); - GET_PROP_TYPE(SubTypeTag1, IOFields)::initOutputModule(vtkWriter1); + GetPropType<SubTypeTag1, Properties::IOFields>::initOutputModule(vtkWriter1); vtkWriter1.write(0.0); // instantiate time loop diff --git a/test/multidomain/boundary/darcydarcy/1p_1p/problem.hh b/test/multidomain/boundary/darcydarcy/1p_1p/problem.hh index 580a261fcf..af68fdfed9 100644 --- a/test/multidomain/boundary/darcydarcy/1p_1p/problem.hh +++ b/test/multidomain/boundary/darcydarcy/1p_1p/problem.hh @@ -39,17 +39,17 @@ class OnePTestProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolumeFace = typename FVGridGeometry::SubControlVolumeFace; using GridView = typename FVGridGeometry::GridView; using Element = typename GridView::template Codim<0>::Entity; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; static constexpr int dimWorld = GridView::dimensionworld; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; static constexpr auto domainIdx = Dune::index_constant<tag>{}; diff --git a/test/multidomain/boundary/darcydarcy/1p_2p/main.cc b/test/multidomain/boundary/darcydarcy/1p_2p/main.cc index b27e2087d2..3ecf1da44d 100644 --- a/test/multidomain/boundary/darcydarcy/1p_2p/main.cc +++ b/test/multidomain/boundary/darcydarcy/1p_2p/main.cc @@ -80,19 +80,19 @@ SET_PROP(OnePSub, Grid) }; // set the spatial params -SET_TYPE_PROP(OnePSub, SpatialParams, TestSpatialParams<typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(OnePSub, SpatialParams, TestSpatialParams<GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::Scalar>>); // differentiate between the two fluid systems SET_PROP(OnePSub0, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Components::SimpleH2O<Scalar> >; }; SET_PROP(OnePSub1, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::TwoPImmiscible<Scalar, FluidSystems::OnePLiquid<Scalar, Components::SimpleH2O<Scalar>>, FluidSystems::OnePGas<Scalar, Components::CH4<Scalar>>>; }; @@ -163,7 +163,7 @@ int main(int argc, char** argv) try //////////////////////////////////////////////// // create the finite volume grid geometries - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry0 = std::make_shared<FVGridGeometry>(gridView0); auto fvGridGeometry1 = std::make_shared<FVGridGeometry>(gridView1); fvGridGeometry0->update(); @@ -175,13 +175,13 @@ int main(int argc, char** argv) try constexpr auto domain1Idx = Traits::template DomainIdx<1>(); // the coupling manager - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; auto couplingManager = std::make_shared<CouplingManager>(); // the problem (initial and boundary conditions) - using Problem0 = typename GET_PROP_TYPE(SubTypeTag0, Problem); + using Problem0 = GetPropType<SubTypeTag0, Properties::Problem>; auto problem0 = std::make_shared<Problem0>(fvGridGeometry0, couplingManager, "1"); - using Problem1 = typename GET_PROP_TYPE(SubTypeTag1, Problem); + using Problem1 = GetPropType<SubTypeTag1, Properties::Problem>; auto problem1 = std::make_shared<Problem1>(fvGridGeometry1, couplingManager, "2"); problem1->computePointSourceMap(); @@ -197,9 +197,9 @@ int main(int argc, char** argv) try couplingManager->init(problem0, problem1, sol); // the grid variables - using GridVariables0 = typename GET_PROP_TYPE(SubTypeTag0, GridVariables); + using GridVariables0 = GetPropType<SubTypeTag0, Properties::GridVariables>; auto gridVariables0 = std::make_shared<GridVariables0>(problem0, fvGridGeometry0); - using GridVariables1 = typename GET_PROP_TYPE(SubTypeTag1, GridVariables); + using GridVariables1 = GetPropType<SubTypeTag1, Properties::GridVariables>; auto gridVariables1 = std::make_shared<GridVariables1>(problem1, fvGridGeometry1); gridVariables0->init(sol[domain0Idx], oldSol[domain0Idx]); gridVariables1->init(sol[domain1Idx], oldSol[domain1Idx]); @@ -213,12 +213,12 @@ int main(int argc, char** argv) try // intialize the vtk output module using SolutionVector0 = std::decay_t<decltype(sol[domain0Idx])>; VtkOutputModule<GridVariables0, SolutionVector0> vtkWriter0(*gridVariables0, sol[domain0Idx], problem0->name()); - GET_PROP_TYPE(SubTypeTag0, IOFields)::initOutputModule(vtkWriter0); + GetPropType<SubTypeTag0, Properties::IOFields>::initOutputModule(vtkWriter0); vtkWriter0.write(0.0); using SolutionVector1 = std::decay_t<decltype(sol[domain1Idx])>; VtkOutputModule<GridVariables1, SolutionVector1> vtkWriter1(*gridVariables1, sol[domain1Idx], problem1->name()); - GET_PROP_TYPE(SubTypeTag1, IOFields)::initOutputModule(vtkWriter1); + GetPropType<SubTypeTag1, Properties::IOFields>::initOutputModule(vtkWriter1); vtkWriter1.write(0.0); // instantiate time loop diff --git a/test/multidomain/boundary/darcydarcy/1p_2p/problem.hh b/test/multidomain/boundary/darcydarcy/1p_2p/problem.hh index dbcc8d7184..f63c5e2e7d 100644 --- a/test/multidomain/boundary/darcydarcy/1p_2p/problem.hh +++ b/test/multidomain/boundary/darcydarcy/1p_2p/problem.hh @@ -39,18 +39,18 @@ class OnePTestProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolumeFace = typename FVGridGeometry::SubControlVolumeFace; using GridView = typename FVGridGeometry::GridView; using Element = typename GridView::template Codim<0>::Entity; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; static constexpr int dimWorld = GridView::dimensionworld; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; static constexpr auto domainIdx = Dune::index_constant<tag>{}; diff --git a/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/horizontalflow/main.cc b/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/horizontalflow/main.cc index ca3545ed64..21549b9ada 100644 --- a/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/horizontalflow/main.cc +++ b/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/horizontalflow/main.cc @@ -90,11 +90,11 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) // for both sub-domains - using DarcyGridManager = Dumux::GridManager<typename GET_PROP_TYPE(DarcyTypeTag, Grid)>; + using DarcyGridManager = Dumux::GridManager<GetPropType<DarcyTypeTag, Properties::Grid>>; DarcyGridManager darcyGridManager; darcyGridManager.init("Darcy"); // pass parameter group - using StokesGridManager = Dumux::GridManager<typename GET_PROP_TYPE(StokesTypeTag, Grid)>; + using StokesGridManager = Dumux::GridManager<GetPropType<StokesTypeTag, Properties::Grid>>; StokesGridManager stokesGridManager; stokesGridManager.init("Stokes"); // pass parameter group @@ -103,10 +103,10 @@ int main(int argc, char** argv) try const auto& stokesGridView = stokesGridManager.grid().leafGridView(); // create the finite volume grid geometry - using StokesFVGridGeometry = typename GET_PROP_TYPE(StokesTypeTag, FVGridGeometry); + using StokesFVGridGeometry = GetPropType<StokesTypeTag, Properties::FVGridGeometry>; auto stokesFvGridGeometry = std::make_shared<StokesFVGridGeometry>(stokesGridView); stokesFvGridGeometry->update(); - using DarcyFVGridGeometry = typename GET_PROP_TYPE(DarcyTypeTag, FVGridGeometry); + using DarcyFVGridGeometry = GetPropType<DarcyTypeTag, Properties::FVGridGeometry>; auto darcyFvGridGeometry = std::make_shared<DarcyFVGridGeometry>(darcyGridView); darcyFvGridGeometry->update(); @@ -122,16 +122,16 @@ int main(int argc, char** argv) try constexpr auto darcyIdx = CouplingManager::darcyIdx; // the problems (initial and boundary conditions) - using StokesProblem = typename GET_PROP_TYPE(StokesTypeTag, Problem); + using StokesProblem = GetPropType<StokesTypeTag, Properties::Problem>; auto stokesProblem = std::make_shared<StokesProblem>(stokesFvGridGeometry, couplingManager); - using DarcyProblem = typename GET_PROP_TYPE(DarcyTypeTag, Problem); + using DarcyProblem = GetPropType<DarcyTypeTag, Properties::Problem>; auto darcyProblem = std::make_shared<DarcyProblem>(darcyFvGridGeometry, couplingManager); // initialize the fluidsystem (tabulation) - GET_PROP_TYPE(StokesTypeTag, FluidSystem)::init(); + GetPropType<StokesTypeTag, Properties::FluidSystem>::init(); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(StokesTypeTag, Scalar); + using Scalar = GetPropType<StokesTypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); @@ -159,7 +159,7 @@ int main(int argc, char** argv) try const auto& faceSol = sol[stokesFaceIdx]; // apply initial solution for instationary problems - typename GET_PROP_TYPE(StokesTypeTag, SolutionVector) stokesSol; + GetPropType<StokesTypeTag, Properties::SolutionVector> stokesSol; std::get<0>(stokesSol) = cellCenterSol; std::get<1>(stokesSol) = faceSol; stokesProblem->applyInitialSolution(stokesSol); @@ -175,22 +175,22 @@ int main(int argc, char** argv) try couplingManager->init(stokesProblem, darcyProblem, sol); // the grid variables - using StokesGridVariables = typename GET_PROP_TYPE(StokesTypeTag, GridVariables); + using StokesGridVariables = GetPropType<StokesTypeTag, Properties::GridVariables>; auto stokesGridVariables = std::make_shared<StokesGridVariables>(stokesProblem, stokesFvGridGeometry); stokesGridVariables->init(stokesSol, solStokesOld); - using DarcyGridVariables = typename GET_PROP_TYPE(DarcyTypeTag, GridVariables); + using DarcyGridVariables = GetPropType<DarcyTypeTag, Properties::GridVariables>; auto darcyGridVariables = std::make_shared<DarcyGridVariables>(darcyProblem, darcyFvGridGeometry); darcyGridVariables->init(sol[darcyIdx], solDarcyOld); // intialize the vtk output module - StaggeredVtkOutputModule<StokesGridVariables, typename GET_PROP_TYPE(StokesTypeTag, SolutionVector)> stokesVtkWriter(*stokesGridVariables, stokesSol, stokesProblem->name()); - GET_PROP_TYPE(StokesTypeTag, IOFields)::initOutputModule(stokesVtkWriter); + StaggeredVtkOutputModule<StokesGridVariables, GetPropType<StokesTypeTag, Properties::SolutionVector>> stokesVtkWriter(*stokesGridVariables, stokesSol, stokesProblem->name()); + GetPropType<StokesTypeTag, Properties::IOFields>::initOutputModule(stokesVtkWriter); stokesVtkWriter.write(0.0); - VtkOutputModule<DarcyGridVariables, typename GET_PROP_TYPE(DarcyTypeTag, SolutionVector)> darcyVtkWriter(*darcyGridVariables, sol[darcyIdx], darcyProblem->name()); - using DarcyVelocityOutput = typename GET_PROP_TYPE(DarcyTypeTag, VelocityOutput); + VtkOutputModule<DarcyGridVariables, GetPropType<DarcyTypeTag, Properties::SolutionVector>> darcyVtkWriter(*darcyGridVariables, sol[darcyIdx], darcyProblem->name()); + using DarcyVelocityOutput = GetPropType<DarcyTypeTag, Properties::VelocityOutput>; darcyVtkWriter.addVelocityOutput(std::make_shared<DarcyVelocityOutput>(*darcyGridVariables)); - GET_PROP_TYPE(DarcyTypeTag, IOFields)::initOutputModule(darcyVtkWriter); + GetPropType<DarcyTypeTag, Properties::IOFields>::initOutputModule(darcyVtkWriter); darcyVtkWriter.write(0.0); // the assembler with time loop for instationary problem diff --git a/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/horizontalflow/problem_darcy.hh b/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/horizontalflow/problem_darcy.hh index 42a5a0b53d..1c26214bf7 100644 --- a/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/horizontalflow/problem_darcy.hh +++ b/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/horizontalflow/problem_darcy.hh @@ -55,7 +55,7 @@ SET_TYPE_PROP(DarcyOnePTwoC, Problem, Dumux::DarcySubProblem<TypeTag>); // The fluid system SET_PROP(DarcyOnePTwoC, FluidSystem) { - using H2OAir = FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)>; + using H2OAir = FluidSystems::H2OAir<GetPropType<TypeTag, Properties::Scalar>>; static constexpr auto phaseIdx = H2OAir::liquidPhaseIdx; // simulate the water phase using type = FluidSystems::OnePAdapter<H2OAir, phaseIdx>; }; @@ -68,7 +68,7 @@ SET_INT_PROP(DarcyOnePTwoC, ReplaceCompEqIdx, 3); //! Use a model with constant tortuosity for the effective diffusivity SET_TYPE_PROP(DarcyOnePTwoC, EffectiveDiffusivityModel, - DiffusivityConstantTortuosity<typename GET_PROP_TYPE(TypeTag, Scalar)>); + DiffusivityConstantTortuosity<GetPropType<TypeTag, Properties::Scalar>>); // Set the grid type SET_TYPE_PROP(DarcyOnePTwoC, Grid, Dune::YaspGrid<2>); @@ -76,8 +76,8 @@ SET_TYPE_PROP(DarcyOnePTwoC, Grid, Dune::YaspGrid<2>); // Set the spatial paramaters type SET_PROP(DarcyOnePTwoC, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = OnePSpatialParams<FVGridGeometry, Scalar>; }; } @@ -86,19 +86,19 @@ template <class TypeTag> class DarcySubProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; // copy some indices for convenience - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { // grid and world dimension dim = GridView::dimension, @@ -112,7 +112,7 @@ class DarcySubProblem : public PorousMediumFlowProblem<TypeTag> using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = Dune::FieldVector<Scalar, dimworld>; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: DarcySubProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, diff --git a/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/horizontalflow/problem_stokes.hh b/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/horizontalflow/problem_stokes.hh index cfbb5c0172..809ee02669 100644 --- a/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/horizontalflow/problem_stokes.hh +++ b/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/horizontalflow/problem_stokes.hh @@ -48,13 +48,13 @@ struct StokesOnePTwoC { using InheritsFrom = std::tuple<NavierStokesNC, Staggere // The fluid system SET_PROP(StokesOnePTwoC, FluidSystem) { - using H2OAir = FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)>; + using H2OAir = FluidSystems::H2OAir<GetPropType<TypeTag, Properties::Scalar>>; static constexpr auto phaseIdx = H2OAir::liquidPhaseIdx; // simulate the water phase using type = FluidSystems::OnePAdapter<H2OAir, phaseIdx>; }; // Set the grid type -SET_TYPE_PROP(StokesOnePTwoC, Grid, Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 2> >); +SET_TYPE_PROP(StokesOnePTwoC, Grid, Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<GetPropType<TypeTag, Properties::Scalar>, 2> >); // Set the problem property SET_TYPE_PROP(StokesOnePTwoC, Problem, Dumux::StokesSubProblem<TypeTag> ); @@ -80,21 +80,21 @@ template <class TypeTag> class StokesSubProblem : public NavierStokesProblem<TypeTag> { using ParentType = NavierStokesProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: StokesSubProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, std::shared_ptr<CouplingManager> couplingManager) diff --git a/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/verticalflow/main.cc b/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/verticalflow/main.cc index a802ba5d0b..6628fbbe04 100644 --- a/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/verticalflow/main.cc +++ b/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/verticalflow/main.cc @@ -90,11 +90,11 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) // for both sub-domains - using DarcyGridManager = Dumux::GridManager<typename GET_PROP_TYPE(DarcyTypeTag, Grid)>; + using DarcyGridManager = Dumux::GridManager<GetPropType<DarcyTypeTag, Properties::Grid>>; DarcyGridManager darcyGridManager; darcyGridManager.init("Darcy"); // pass parameter group - using StokesGridManager = Dumux::GridManager<typename GET_PROP_TYPE(StokesTypeTag, Grid)>; + using StokesGridManager = Dumux::GridManager<GetPropType<StokesTypeTag, Properties::Grid>>; StokesGridManager stokesGridManager; stokesGridManager.init("Stokes"); // pass parameter group @@ -103,10 +103,10 @@ int main(int argc, char** argv) try const auto& stokesGridView = stokesGridManager.grid().leafGridView(); // create the finite volume grid geometry - using StokesFVGridGeometry = typename GET_PROP_TYPE(StokesTypeTag, FVGridGeometry); + using StokesFVGridGeometry = GetPropType<StokesTypeTag, Properties::FVGridGeometry>; auto stokesFvGridGeometry = std::make_shared<StokesFVGridGeometry>(stokesGridView); stokesFvGridGeometry->update(); - using DarcyFVGridGeometry = typename GET_PROP_TYPE(DarcyTypeTag, FVGridGeometry); + using DarcyFVGridGeometry = GetPropType<DarcyTypeTag, Properties::FVGridGeometry>; auto darcyFvGridGeometry = std::make_shared<DarcyFVGridGeometry>(darcyGridView); darcyFvGridGeometry->update(); @@ -122,7 +122,7 @@ int main(int argc, char** argv) try constexpr auto darcyIdx = CouplingManager::darcyIdx; // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(StokesTypeTag, Scalar); + using Scalar = GetPropType<StokesTypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); @@ -130,13 +130,13 @@ int main(int argc, char** argv) try const bool isDiffusionProblem = getParam<bool>("Problem.OnlyDiffusion", false); // the problem (initial and boundary conditions) - using StokesProblem = typename GET_PROP_TYPE(StokesTypeTag, Problem); + using StokesProblem = GetPropType<StokesTypeTag, Properties::Problem>; auto stokesProblem = std::make_shared<StokesProblem>(stokesFvGridGeometry, couplingManager); - using DarcyProblem = typename GET_PROP_TYPE(DarcyTypeTag, Problem); + using DarcyProblem = GetPropType<DarcyTypeTag, Properties::Problem>; auto darcyProblem = std::make_shared<DarcyProblem>(darcyFvGridGeometry, couplingManager); // initialize the fluidsystem (tabulation) - GET_PROP_TYPE(StokesTypeTag, FluidSystem)::init(); + GetPropType<StokesTypeTag, Properties::FluidSystem>::init(); // instantiate time loop auto timeLoop = std::make_shared<CheckPointTimeLoop<Scalar>>(0, dt, tEnd); @@ -160,7 +160,7 @@ int main(int argc, char** argv) try const auto& faceSol = sol[stokesFaceIdx]; // apply initial solution for instationary problems - typename GET_PROP_TYPE(StokesTypeTag, SolutionVector) stokesSol; + GetPropType<StokesTypeTag, Properties::SolutionVector> stokesSol; std::get<0>(stokesSol) = cellCenterSol; std::get<1>(stokesSol) = faceSol; stokesProblem->applyInitialSolution(stokesSol); @@ -176,22 +176,22 @@ int main(int argc, char** argv) try couplingManager->init(stokesProblem, darcyProblem, sol); // the grid variables - using StokesGridVariables = typename GET_PROP_TYPE(StokesTypeTag, GridVariables); + using StokesGridVariables = GetPropType<StokesTypeTag, Properties::GridVariables>; auto stokesGridVariables = std::make_shared<StokesGridVariables>(stokesProblem, stokesFvGridGeometry); stokesGridVariables->init(stokesSol, solStokesOld); - using DarcyGridVariables = typename GET_PROP_TYPE(DarcyTypeTag, GridVariables); + using DarcyGridVariables = GetPropType<DarcyTypeTag, Properties::GridVariables>; auto darcyGridVariables = std::make_shared<DarcyGridVariables>(darcyProblem, darcyFvGridGeometry); darcyGridVariables->init(sol[darcyIdx], solDarcyOld); // intialize the vtk output module - StaggeredVtkOutputModule<StokesGridVariables, typename GET_PROP_TYPE(StokesTypeTag, SolutionVector)> stokesVtkWriter(*stokesGridVariables, stokesSol, stokesProblem->name()); - GET_PROP_TYPE(StokesTypeTag, IOFields)::initOutputModule(stokesVtkWriter); + StaggeredVtkOutputModule<StokesGridVariables, GetPropType<StokesTypeTag, Properties::SolutionVector>> stokesVtkWriter(*stokesGridVariables, stokesSol, stokesProblem->name()); + GetPropType<StokesTypeTag, Properties::IOFields>::initOutputModule(stokesVtkWriter); stokesVtkWriter.write(0.0); - VtkOutputModule<DarcyGridVariables, typename GET_PROP_TYPE(DarcyTypeTag, SolutionVector)> darcyVtkWriter(*darcyGridVariables, sol[darcyIdx], darcyProblem->name()); - using DarcyVelocityOutput = typename GET_PROP_TYPE(DarcyTypeTag, VelocityOutput); + VtkOutputModule<DarcyGridVariables, GetPropType<DarcyTypeTag, Properties::SolutionVector>> darcyVtkWriter(*darcyGridVariables, sol[darcyIdx], darcyProblem->name()); + using DarcyVelocityOutput = GetPropType<DarcyTypeTag, Properties::VelocityOutput>; darcyVtkWriter.addVelocityOutput(std::make_shared<DarcyVelocityOutput>(*darcyGridVariables)); - GET_PROP_TYPE(DarcyTypeTag, IOFields)::initOutputModule(darcyVtkWriter); + GetPropType<DarcyTypeTag, Properties::IOFields>::initOutputModule(darcyVtkWriter); darcyVtkWriter.write(0.0); // the assembler with time loop for instationary problem diff --git a/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/verticalflow/problem_darcy.hh b/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/verticalflow/problem_darcy.hh index 2e8cca9fe9..53ca0938af 100644 --- a/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/verticalflow/problem_darcy.hh +++ b/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/verticalflow/problem_darcy.hh @@ -55,7 +55,7 @@ SET_TYPE_PROP(DarcyOnePTwoC, Problem, Dumux::DarcySubProblem<TypeTag>); // The fluid system SET_PROP(DarcyOnePTwoC, FluidSystem) { - using H2OAir = FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)>; + using H2OAir = FluidSystems::H2OAir<GetPropType<TypeTag, Properties::Scalar>>; static constexpr auto phaseIdx = H2OAir::liquidPhaseIdx; // simulate the water phase using type = FluidSystems::OnePAdapter<H2OAir, phaseIdx>; }; @@ -68,7 +68,7 @@ SET_INT_PROP(DarcyOnePTwoC, ReplaceCompEqIdx, 3); //! Use a model with constant tortuosity for the effective diffusivity SET_TYPE_PROP(DarcyOnePTwoC, EffectiveDiffusivityModel, - DiffusivityConstantTortuosity<typename GET_PROP_TYPE(TypeTag, Scalar)>); + DiffusivityConstantTortuosity<GetPropType<TypeTag, Properties::Scalar>>); // Set the grid type SET_TYPE_PROP(DarcyOnePTwoC, Grid, Dune::YaspGrid<2>); @@ -76,8 +76,8 @@ SET_TYPE_PROP(DarcyOnePTwoC, Grid, Dune::YaspGrid<2>); // Set the spatial paramaters type SET_PROP(DarcyOnePTwoC, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = OnePSpatialParams<FVGridGeometry, Scalar>; }; } @@ -86,21 +86,21 @@ template <class TypeTag> class DarcySubProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; // copy some indices for convenience - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { // grid and world dimension dim = GridView::dimension, @@ -114,7 +114,7 @@ class DarcySubProblem : public PorousMediumFlowProblem<TypeTag> using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: DarcySubProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, diff --git a/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/verticalflow/problem_stokes.hh b/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/verticalflow/problem_stokes.hh index b80dea23b0..b1376262ba 100644 --- a/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/verticalflow/problem_stokes.hh +++ b/test/multidomain/boundary/stokesdarcy/1p2c_1p2c/verticalflow/problem_stokes.hh @@ -48,13 +48,13 @@ struct StokesOnePTwoC { using InheritsFrom = std::tuple<NavierStokesNC, Staggere // The fluid system SET_PROP(StokesOnePTwoC, FluidSystem) { - using H2OAir = FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)>; + using H2OAir = FluidSystems::H2OAir<GetPropType<TypeTag, Properties::Scalar>>; static constexpr auto phaseIdx = H2OAir::liquidPhaseIdx; // simulate the water phase using type = FluidSystems::OnePAdapter<H2OAir, phaseIdx>; }; // Set the grid type -SET_TYPE_PROP(StokesOnePTwoC, Grid, Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 2> >); +SET_TYPE_PROP(StokesOnePTwoC, Grid, Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<GetPropType<TypeTag, Properties::Scalar>, 2> >); // Set the problem property SET_TYPE_PROP(StokesOnePTwoC, Problem, Dumux::StokesSubProblem<TypeTag> ); @@ -82,24 +82,24 @@ class StokesSubProblem : public NavierStokesProblem<TypeTag> { using ParentType = NavierStokesProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using Element = typename GridView::template Codim<0>::Entity; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using ElementFaceVariables = typename GET_PROP_TYPE(TypeTag, GridFaceVariables)::LocalView; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using ElementFaceVariables = typename GetPropType<TypeTag, Properties::GridFaceVariables>::LocalView; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; using TimeLoopPtr = std::shared_ptr<CheckPointTimeLoop<Scalar>>; public: diff --git a/test/multidomain/boundary/stokesdarcy/1p2c_2p2c/main.cc b/test/multidomain/boundary/stokesdarcy/1p2c_2p2c/main.cc index 442fd2e1a4..2553c864f6 100644 --- a/test/multidomain/boundary/stokesdarcy/1p2c_2p2c/main.cc +++ b/test/multidomain/boundary/stokesdarcy/1p2c_2p2c/main.cc @@ -90,11 +90,11 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) // for both sub-domains - using DarcyGridManager = Dumux::GridManager<typename GET_PROP_TYPE(DarcyTypeTag, Grid)>; + using DarcyGridManager = Dumux::GridManager<GetPropType<DarcyTypeTag, Properties::Grid>>; DarcyGridManager darcyGridManager; darcyGridManager.init("Darcy"); // pass parameter group - using StokesGridManager = Dumux::GridManager<typename GET_PROP_TYPE(StokesTypeTag, Grid)>; + using StokesGridManager = Dumux::GridManager<GetPropType<StokesTypeTag, Properties::Grid>>; StokesGridManager stokesGridManager; stokesGridManager.init("Stokes"); // pass parameter group @@ -103,10 +103,10 @@ int main(int argc, char** argv) try const auto& stokesGridView = stokesGridManager.grid().leafGridView(); // create the finite volume grid geometry - using StokesFVGridGeometry = typename GET_PROP_TYPE(StokesTypeTag, FVGridGeometry); + using StokesFVGridGeometry = GetPropType<StokesTypeTag, Properties::FVGridGeometry>; auto stokesFvGridGeometry = std::make_shared<StokesFVGridGeometry>(stokesGridView); stokesFvGridGeometry->update(); - using DarcyFVGridGeometry = typename GET_PROP_TYPE(DarcyTypeTag, FVGridGeometry); + using DarcyFVGridGeometry = GetPropType<DarcyTypeTag, Properties::FVGridGeometry>; auto darcyFvGridGeometry = std::make_shared<DarcyFVGridGeometry>(darcyGridView); darcyFvGridGeometry->update(); @@ -122,16 +122,16 @@ int main(int argc, char** argv) try constexpr auto darcyIdx = CouplingManager::darcyIdx; // the problem (initial and boundary conditions) - using StokesProblem = typename GET_PROP_TYPE(StokesTypeTag, Problem); + using StokesProblem = GetPropType<StokesTypeTag, Properties::Problem>; auto stokesProblem = std::make_shared<StokesProblem>(stokesFvGridGeometry, couplingManager); - using DarcyProblem = typename GET_PROP_TYPE(DarcyTypeTag, Problem); + using DarcyProblem = GetPropType<DarcyTypeTag, Properties::Problem>; auto darcyProblem = std::make_shared<DarcyProblem>(darcyFvGridGeometry, couplingManager); // initialize the fluidsystem (tabulation) - GET_PROP_TYPE(StokesTypeTag, FluidSystem)::init(); + GetPropType<StokesTypeTag, Properties::FluidSystem>::init(); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(StokesTypeTag, Scalar); + using Scalar = GetPropType<StokesTypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); @@ -152,7 +152,7 @@ int main(int argc, char** argv) try const auto& faceSol = sol[stokesFaceIdx]; // apply initial solution for instationary problems - typename GET_PROP_TYPE(StokesTypeTag, SolutionVector) stokesSol; + GetPropType<StokesTypeTag, Properties::SolutionVector> stokesSol; std::get<0>(stokesSol) = cellCenterSol; std::get<1>(stokesSol) = faceSol; stokesProblem->applyInitialSolution(stokesSol); @@ -168,22 +168,22 @@ int main(int argc, char** argv) try couplingManager->init(stokesProblem, darcyProblem, sol); // the grid variables - using StokesGridVariables = typename GET_PROP_TYPE(StokesTypeTag, GridVariables); + using StokesGridVariables = GetPropType<StokesTypeTag, Properties::GridVariables>; auto stokesGridVariables = std::make_shared<StokesGridVariables>(stokesProblem, stokesFvGridGeometry); stokesGridVariables->init(stokesSol, solStokesOld); - using DarcyGridVariables = typename GET_PROP_TYPE(DarcyTypeTag, GridVariables); + using DarcyGridVariables = GetPropType<DarcyTypeTag, Properties::GridVariables>; auto darcyGridVariables = std::make_shared<DarcyGridVariables>(darcyProblem, darcyFvGridGeometry); darcyGridVariables->init(sol[darcyIdx], solDarcyOld); // intialize the vtk output module - StaggeredVtkOutputModule<StokesGridVariables, typename GET_PROP_TYPE(StokesTypeTag, SolutionVector)> stokesVtkWriter(*stokesGridVariables, stokesSol, stokesProblem->name()); - GET_PROP_TYPE(StokesTypeTag, IOFields)::initOutputModule(stokesVtkWriter); + StaggeredVtkOutputModule<StokesGridVariables, GetPropType<StokesTypeTag, Properties::SolutionVector>> stokesVtkWriter(*stokesGridVariables, stokesSol, stokesProblem->name()); + GetPropType<StokesTypeTag, Properties::IOFields>::initOutputModule(stokesVtkWriter); stokesVtkWriter.write(0.0); - VtkOutputModule<DarcyGridVariables, typename GET_PROP_TYPE(DarcyTypeTag, SolutionVector)> darcyVtkWriter(*darcyGridVariables, sol[darcyIdx], darcyProblem->name()); - using DarcyVelocityOutput = typename GET_PROP_TYPE(DarcyTypeTag, VelocityOutput); + VtkOutputModule<DarcyGridVariables, GetPropType<DarcyTypeTag, Properties::SolutionVector>> darcyVtkWriter(*darcyGridVariables, sol[darcyIdx], darcyProblem->name()); + using DarcyVelocityOutput = GetPropType<DarcyTypeTag, Properties::VelocityOutput>; darcyVtkWriter.addVelocityOutput(std::make_shared<DarcyVelocityOutput>(*darcyGridVariables)); - GET_PROP_TYPE(DarcyTypeTag, IOFields)::initOutputModule(darcyVtkWriter); + GetPropType<DarcyTypeTag, Properties::IOFields>::initOutputModule(darcyVtkWriter); darcyVtkWriter.write(0.0); // the assembler with time loop for instationary problem @@ -203,7 +203,7 @@ int main(int argc, char** argv) try auto linearSolver = std::make_shared<LinearSolver>(); // the primary variable switches used by the sub models - using PriVarSwitchTuple = std::tuple<NoPrimaryVariableSwitch, NoPrimaryVariableSwitch, typename GET_PROP_TYPE(DarcyTypeTag, PrimaryVariableSwitch)>; + using PriVarSwitchTuple = std::tuple<NoPrimaryVariableSwitch, NoPrimaryVariableSwitch, GetPropType<DarcyTypeTag, Properties::PrimaryVariableSwitch>>; // the non-linear solver using NewtonSolver = MultiDomainPriVarSwitchNewtonSolver<Assembler, LinearSolver, CouplingManager, PriVarSwitchTuple>; diff --git a/test/multidomain/boundary/stokesdarcy/1p2c_2p2c/problem_darcy.hh b/test/multidomain/boundary/stokesdarcy/1p2c_2p2c/problem_darcy.hh index 98ff9bdb2c..7f41dabf60 100644 --- a/test/multidomain/boundary/stokesdarcy/1p2c_2p2c/problem_darcy.hh +++ b/test/multidomain/boundary/stokesdarcy/1p2c_2p2c/problem_darcy.hh @@ -55,7 +55,7 @@ struct DarcyTwoPTwoC { using InheritsFrom = std::tuple<TwoPTwoCNI, CCTpfaModel>; SET_TYPE_PROP(DarcyTwoPTwoC, Problem, Dumux::DarcySubProblem<TypeTag>); // the fluid system -SET_TYPE_PROP(DarcyTwoPTwoC, FluidSystem, FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(DarcyTwoPTwoC, FluidSystem, FluidSystems::H2OAir<GetPropType<TypeTag, Properties::Scalar>>); //! Set the default formulation to pw-Sn: This can be over written in the problem. SET_PROP(DarcyTwoPTwoC, Formulation) @@ -65,14 +65,14 @@ SET_PROP(DarcyTwoPTwoC, Formulation) SET_INT_PROP(DarcyTwoPTwoC, ReplaceCompEqIdx, 3); // Set the grid type -SET_TYPE_PROP(DarcyTwoPTwoC, Grid, Dune::YaspGrid<2, Dune::TensorProductCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 2> >); +SET_TYPE_PROP(DarcyTwoPTwoC, Grid, Dune::YaspGrid<2, Dune::TensorProductCoordinates<GetPropType<TypeTag, Properties::Scalar>, 2> >); SET_BOOL_PROP(DarcyTwoPTwoC, UseMoles, true); SET_PROP(DarcyTwoPTwoC, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = TwoPTwoCSpatialParams<FVGridGeometry, Scalar>; }; @@ -82,22 +82,22 @@ template <class TypeTag> class DarcySubProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; // copy some indices for convenience - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { // primary variable indices conti0EqIdx = Indices::conti0EqIdx, @@ -110,7 +110,7 @@ class DarcySubProblem : public PorousMediumFlowProblem<TypeTag> using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; using DiffusionCoefficientAveragingType = typename StokesDarcyCouplingOptions::DiffusionCoefficientAveragingType; diff --git a/test/multidomain/boundary/stokesdarcy/1p2c_2p2c/problem_stokes.hh b/test/multidomain/boundary/stokesdarcy/1p2c_2p2c/problem_stokes.hh index d76e0a5118..d6976b3d0c 100644 --- a/test/multidomain/boundary/stokesdarcy/1p2c_2p2c/problem_stokes.hh +++ b/test/multidomain/boundary/stokesdarcy/1p2c_2p2c/problem_stokes.hh @@ -51,12 +51,12 @@ struct StokesOnePTwoC { using InheritsFrom = std::tuple<NavierStokesNCNI, Stagge // Set the grid type -SET_TYPE_PROP(StokesOnePTwoC, Grid, Dune::YaspGrid<2, Dune::TensorProductCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 2> >); +SET_TYPE_PROP(StokesOnePTwoC, Grid, Dune::YaspGrid<2, Dune::TensorProductCoordinates<GetPropType<TypeTag, Properties::Scalar>, 2> >); // The fluid system SET_PROP(StokesOnePTwoC, FluidSystem) { - using H2OAir = FluidSystems::H2OAir<typename GET_PROP_TYPE(TypeTag, Scalar)>; + using H2OAir = FluidSystems::H2OAir<GetPropType<TypeTag, Properties::Scalar>>; static constexpr auto phaseIdx = H2OAir::gasPhaseIdx; // simulate the water phase using type = FluidSystems::OnePAdapter<H2OAir, phaseIdx>; }; @@ -86,31 +86,31 @@ class StokesSubProblem : public NavierStokesProblem<TypeTag> { using ParentType = NavierStokesProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using Element = typename GridView::template Codim<0>::Entity; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using ElementFaceVariables = typename GET_PROP_TYPE(TypeTag, GridFaceVariables)::LocalView; - using FluidState = typename GET_PROP_TYPE(TypeTag, FluidState); + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using ElementFaceVariables = typename GetPropType<TypeTag, Properties::GridFaceVariables>::LocalView; + using FluidState = GetPropType<TypeTag, Properties::FluidState>; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; using TimeLoopPtr = std::shared_ptr<TimeLoop<Scalar>>; using DiffusionCoefficientAveragingType = typename StokesDarcyCouplingOptions::DiffusionCoefficientAveragingType; - static constexpr bool useMoles = GET_PROP_TYPE(TypeTag, ModelTraits)::useMoles(); + static constexpr bool useMoles = GetPropType<TypeTag, Properties::ModelTraits>::useMoles(); public: StokesSubProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, std::shared_ptr<CouplingManager> couplingManager) diff --git a/test/multidomain/boundary/stokesdarcy/1p_1p/horizontalflow/main.cc b/test/multidomain/boundary/stokesdarcy/1p_1p/horizontalflow/main.cc index 0054073c47..7a7b4f6a43 100644 --- a/test/multidomain/boundary/stokesdarcy/1p_1p/horizontalflow/main.cc +++ b/test/multidomain/boundary/stokesdarcy/1p_1p/horizontalflow/main.cc @@ -90,11 +90,11 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) // for both sub-domains - using DarcyGridManager = Dumux::GridManager<typename GET_PROP_TYPE(DarcyTypeTag, Grid)>; + using DarcyGridManager = Dumux::GridManager<GetPropType<DarcyTypeTag, Properties::Grid>>; DarcyGridManager darcyGridManager; darcyGridManager.init("Darcy"); // pass parameter group - using StokesGridManager = Dumux::GridManager<typename GET_PROP_TYPE(StokesTypeTag, Grid)>; + using StokesGridManager = Dumux::GridManager<GetPropType<StokesTypeTag, Properties::Grid>>; StokesGridManager stokesGridManager; stokesGridManager.init("Stokes"); // pass parameter group @@ -103,10 +103,10 @@ int main(int argc, char** argv) try const auto& stokesGridView = stokesGridManager.grid().leafGridView(); // create the finite volume grid geometry - using StokesFVGridGeometry = typename GET_PROP_TYPE(StokesTypeTag, FVGridGeometry); + using StokesFVGridGeometry = GetPropType<StokesTypeTag, Properties::FVGridGeometry>; auto stokesFvGridGeometry = std::make_shared<StokesFVGridGeometry>(stokesGridView); stokesFvGridGeometry->update(); - using DarcyFVGridGeometry = typename GET_PROP_TYPE(DarcyTypeTag, FVGridGeometry); + using DarcyFVGridGeometry = GetPropType<DarcyTypeTag, Properties::FVGridGeometry>; auto darcyFvGridGeometry = std::make_shared<DarcyFVGridGeometry>(darcyGridView); darcyFvGridGeometry->update(); @@ -122,9 +122,9 @@ int main(int argc, char** argv) try constexpr auto darcyIdx = CouplingManager::darcyIdx; // the problem (initial and boundary conditions) - using StokesProblem = typename GET_PROP_TYPE(StokesTypeTag, Problem); + using StokesProblem = GetPropType<StokesTypeTag, Properties::Problem>; auto stokesProblem = std::make_shared<StokesProblem>(stokesFvGridGeometry, couplingManager); - using DarcyProblem = typename GET_PROP_TYPE(DarcyTypeTag, Problem); + using DarcyProblem = GetPropType<DarcyTypeTag, Properties::Problem>; auto darcyProblem = std::make_shared<DarcyProblem>(darcyFvGridGeometry, couplingManager); // the solution vector @@ -137,7 +137,7 @@ int main(int argc, char** argv) try const auto& faceSol = sol[stokesFaceIdx]; // apply initial solution for instationary problems - typename GET_PROP_TYPE(StokesTypeTag, SolutionVector) stokesSol; + GetPropType<StokesTypeTag, Properties::SolutionVector> stokesSol; std::get<0>(stokesSol) = cellCenterSol; std::get<1>(stokesSol) = faceSol; stokesProblem->applyInitialSolution(stokesSol); @@ -147,22 +147,22 @@ int main(int argc, char** argv) try couplingManager->init(stokesProblem, darcyProblem, sol); // the grid variables - using StokesGridVariables = typename GET_PROP_TYPE(StokesTypeTag, GridVariables); + using StokesGridVariables = GetPropType<StokesTypeTag, Properties::GridVariables>; auto stokesGridVariables = std::make_shared<StokesGridVariables>(stokesProblem, stokesFvGridGeometry); stokesGridVariables->init(stokesSol); - using DarcyGridVariables = typename GET_PROP_TYPE(DarcyTypeTag, GridVariables); + using DarcyGridVariables = GetPropType<DarcyTypeTag, Properties::GridVariables>; auto darcyGridVariables = std::make_shared<DarcyGridVariables>(darcyProblem, darcyFvGridGeometry); darcyGridVariables->init(sol[darcyIdx]); // intialize the vtk output module - StaggeredVtkOutputModule<StokesGridVariables, typename GET_PROP_TYPE(StokesTypeTag, SolutionVector)> stokesVtkWriter(*stokesGridVariables, stokesSol, stokesProblem->name()); - GET_PROP_TYPE(StokesTypeTag, IOFields)::initOutputModule(stokesVtkWriter); + StaggeredVtkOutputModule<StokesGridVariables, GetPropType<StokesTypeTag, Properties::SolutionVector>> stokesVtkWriter(*stokesGridVariables, stokesSol, stokesProblem->name()); + GetPropType<StokesTypeTag, Properties::IOFields>::initOutputModule(stokesVtkWriter); stokesVtkWriter.write(0.0); - VtkOutputModule<DarcyGridVariables, typename GET_PROP_TYPE(DarcyTypeTag, SolutionVector)> darcyVtkWriter(*darcyGridVariables, sol[darcyIdx], darcyProblem->name()); - using DarcyVelocityOutput = typename GET_PROP_TYPE(DarcyTypeTag, VelocityOutput); + VtkOutputModule<DarcyGridVariables, GetPropType<DarcyTypeTag, Properties::SolutionVector>> darcyVtkWriter(*darcyGridVariables, sol[darcyIdx], darcyProblem->name()); + using DarcyVelocityOutput = GetPropType<DarcyTypeTag, Properties::VelocityOutput>; darcyVtkWriter.addVelocityOutput(std::make_shared<DarcyVelocityOutput>(*darcyGridVariables)); - GET_PROP_TYPE(DarcyTypeTag, IOFields)::initOutputModule(darcyVtkWriter); + GetPropType<DarcyTypeTag, Properties::IOFields>::initOutputModule(darcyVtkWriter); darcyVtkWriter.write(0.0); // the assembler for a stationary problem diff --git a/test/multidomain/boundary/stokesdarcy/1p_1p/horizontalflow/problem_darcy.hh b/test/multidomain/boundary/stokesdarcy/1p_1p/horizontalflow/problem_darcy.hh index 534369dafb..8fa856b440 100644 --- a/test/multidomain/boundary/stokesdarcy/1p_1p/horizontalflow/problem_darcy.hh +++ b/test/multidomain/boundary/stokesdarcy/1p_1p/horizontalflow/problem_darcy.hh @@ -54,7 +54,7 @@ SET_TYPE_PROP(DarcyOneP, Problem, Dumux::DarcySubProblem<TypeTag>); // the fluid system SET_PROP(DarcyOneP, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Dumux::Components::SimpleH2O<Scalar> > ; }; @@ -63,8 +63,8 @@ SET_TYPE_PROP(DarcyOneP, Grid, Dune::YaspGrid<2>); SET_PROP(DarcyOneP, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = OnePSpatialParams<FVGridGeometry, Scalar>; }; } @@ -73,23 +73,23 @@ template <class TypeTag> class DarcySubProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: DarcySubProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, diff --git a/test/multidomain/boundary/stokesdarcy/1p_1p/horizontalflow/problem_stokes.hh b/test/multidomain/boundary/stokesdarcy/1p_1p/horizontalflow/problem_stokes.hh index e9601d4b14..c5c5bbedb4 100644 --- a/test/multidomain/boundary/stokesdarcy/1p_1p/horizontalflow/problem_stokes.hh +++ b/test/multidomain/boundary/stokesdarcy/1p_1p/horizontalflow/problem_stokes.hh @@ -48,12 +48,12 @@ struct StokesOneP { using InheritsFrom = std::tuple<NavierStokes, StaggeredFreeF // the fluid system SET_PROP(StokesOneP, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Dumux::Components::SimpleH2O<Scalar> > ; }; // Set the grid type -SET_TYPE_PROP(StokesOneP, Grid, Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 2> >); +SET_TYPE_PROP(StokesOneP, Grid, Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<GetPropType<TypeTag, Properties::Scalar>, 2> >); // Set the problem property SET_TYPE_PROP(StokesOneP, Problem, Dumux::StokesSubProblem<TypeTag> ); @@ -74,24 +74,24 @@ class StokesSubProblem : public NavierStokesProblem<TypeTag> { using ParentType = NavierStokesProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: StokesSubProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, std::shared_ptr<CouplingManager> couplingManager) diff --git a/test/multidomain/boundary/stokesdarcy/1p_1p/verticalflow/main.cc b/test/multidomain/boundary/stokesdarcy/1p_1p/verticalflow/main.cc index 67dbda0226..21fa15fca3 100644 --- a/test/multidomain/boundary/stokesdarcy/1p_1p/verticalflow/main.cc +++ b/test/multidomain/boundary/stokesdarcy/1p_1p/verticalflow/main.cc @@ -90,11 +90,11 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) // for both sub-domains - using DarcyGridManager = Dumux::GridManager<typename GET_PROP_TYPE(DarcyTypeTag, Grid)>; + using DarcyGridManager = Dumux::GridManager<GetPropType<DarcyTypeTag, Properties::Grid>>; DarcyGridManager darcyGridManager; darcyGridManager.init("Darcy"); // pass parameter group - using StokesGridManager = Dumux::GridManager<typename GET_PROP_TYPE(StokesTypeTag, Grid)>; + using StokesGridManager = Dumux::GridManager<GetPropType<StokesTypeTag, Properties::Grid>>; StokesGridManager stokesGridManager; stokesGridManager.init("Stokes"); // pass parameter group @@ -103,10 +103,10 @@ int main(int argc, char** argv) try const auto& stokesGridView = stokesGridManager.grid().leafGridView(); // create the finite volume grid geometry - using StokesFVGridGeometry = typename GET_PROP_TYPE(StokesTypeTag, FVGridGeometry); + using StokesFVGridGeometry = GetPropType<StokesTypeTag, Properties::FVGridGeometry>; auto stokesFvGridGeometry = std::make_shared<StokesFVGridGeometry>(stokesGridView); stokesFvGridGeometry->update(); - using DarcyFVGridGeometry = typename GET_PROP_TYPE(DarcyTypeTag, FVGridGeometry); + using DarcyFVGridGeometry = GetPropType<DarcyTypeTag, Properties::FVGridGeometry>; auto darcyFvGridGeometry = std::make_shared<DarcyFVGridGeometry>(darcyGridView); darcyFvGridGeometry->update(); @@ -122,9 +122,9 @@ int main(int argc, char** argv) try constexpr auto darcyIdx = CouplingManager::darcyIdx; // the problem (initial and boundary conditions) - using StokesProblem = typename GET_PROP_TYPE(StokesTypeTag, Problem); + using StokesProblem = GetPropType<StokesTypeTag, Properties::Problem>; auto stokesProblem = std::make_shared<StokesProblem>(stokesFvGridGeometry, couplingManager); - using DarcyProblem = typename GET_PROP_TYPE(DarcyTypeTag, Problem); + using DarcyProblem = GetPropType<DarcyTypeTag, Properties::Problem>; auto darcyProblem = std::make_shared<DarcyProblem>(darcyFvGridGeometry, couplingManager); // the solution vector @@ -137,7 +137,7 @@ int main(int argc, char** argv) try const auto& faceSol = sol[stokesFaceIdx]; // apply initial solution for instationary problems - typename GET_PROP_TYPE(StokesTypeTag, SolutionVector) stokesSol; + GetPropType<StokesTypeTag, Properties::SolutionVector> stokesSol; std::get<0>(stokesSol) = cellCenterSol; std::get<1>(stokesSol) = faceSol; stokesProblem->applyInitialSolution(stokesSol); @@ -150,22 +150,22 @@ int main(int argc, char** argv) try couplingManager->init(stokesProblem, darcyProblem, sol); // the grid variables - using StokesGridVariables = typename GET_PROP_TYPE(StokesTypeTag, GridVariables); + using StokesGridVariables = GetPropType<StokesTypeTag, Properties::GridVariables>; auto stokesGridVariables = std::make_shared<StokesGridVariables>(stokesProblem, stokesFvGridGeometry); stokesGridVariables->init(stokesSol); - using DarcyGridVariables = typename GET_PROP_TYPE(DarcyTypeTag, GridVariables); + using DarcyGridVariables = GetPropType<DarcyTypeTag, Properties::GridVariables>; auto darcyGridVariables = std::make_shared<DarcyGridVariables>(darcyProblem, darcyFvGridGeometry); darcyGridVariables->init(sol[darcyIdx]); // intialize the vtk output module - StaggeredVtkOutputModule<StokesGridVariables, typename GET_PROP_TYPE(StokesTypeTag, SolutionVector)> stokesVtkWriter(*stokesGridVariables, stokesSol, stokesProblem->name()); - GET_PROP_TYPE(StokesTypeTag, IOFields)::initOutputModule(stokesVtkWriter); + StaggeredVtkOutputModule<StokesGridVariables, GetPropType<StokesTypeTag, Properties::SolutionVector>> stokesVtkWriter(*stokesGridVariables, stokesSol, stokesProblem->name()); + GetPropType<StokesTypeTag, Properties::IOFields>::initOutputModule(stokesVtkWriter); stokesVtkWriter.write(0.0); - VtkOutputModule<DarcyGridVariables, typename GET_PROP_TYPE(DarcyTypeTag, SolutionVector)> darcyVtkWriter(*darcyGridVariables, sol[darcyIdx], darcyProblem->name()); - using DarcyVelocityOutput = typename GET_PROP_TYPE(DarcyTypeTag, VelocityOutput); + VtkOutputModule<DarcyGridVariables, GetPropType<DarcyTypeTag, Properties::SolutionVector>> darcyVtkWriter(*darcyGridVariables, sol[darcyIdx], darcyProblem->name()); + using DarcyVelocityOutput = GetPropType<DarcyTypeTag, Properties::VelocityOutput>; darcyVtkWriter.addVelocityOutput(std::make_shared<DarcyVelocityOutput>(*darcyGridVariables)); - GET_PROP_TYPE(DarcyTypeTag, IOFields)::initOutputModule(darcyVtkWriter); + GetPropType<DarcyTypeTag, Properties::IOFields>::initOutputModule(darcyVtkWriter); darcyVtkWriter.write(0.0); // the assembler for a stationary problem diff --git a/test/multidomain/boundary/stokesdarcy/1p_1p/verticalflow/problem_darcy.hh b/test/multidomain/boundary/stokesdarcy/1p_1p/verticalflow/problem_darcy.hh index 4e1405c9d3..98f944e5fd 100644 --- a/test/multidomain/boundary/stokesdarcy/1p_1p/verticalflow/problem_darcy.hh +++ b/test/multidomain/boundary/stokesdarcy/1p_1p/verticalflow/problem_darcy.hh @@ -54,7 +54,7 @@ SET_TYPE_PROP(DarcyOneP, Problem, Dumux::DarcySubProblem<TypeTag>); // the fluid system SET_PROP(DarcyOneP, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Dumux::Components::SimpleH2O<Scalar> > ; }; @@ -63,8 +63,8 @@ SET_TYPE_PROP(DarcyOneP, Grid, Dune::YaspGrid<2>); SET_PROP(DarcyOneP, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = OnePSpatialParams<FVGridGeometry, Scalar>; }; } @@ -73,20 +73,20 @@ template <class TypeTag> class DarcySubProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; // copy some indices for convenience - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { // grid and world dimension dim = GridView::dimension, @@ -100,7 +100,7 @@ class DarcySubProblem : public PorousMediumFlowProblem<TypeTag> using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: DarcySubProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, diff --git a/test/multidomain/boundary/stokesdarcy/1p_1p/verticalflow/problem_stokes.hh b/test/multidomain/boundary/stokesdarcy/1p_1p/verticalflow/problem_stokes.hh index adb30d5b84..aa90a2a634 100644 --- a/test/multidomain/boundary/stokesdarcy/1p_1p/verticalflow/problem_stokes.hh +++ b/test/multidomain/boundary/stokesdarcy/1p_1p/verticalflow/problem_stokes.hh @@ -48,12 +48,12 @@ struct StokesOneP { using InheritsFrom = std::tuple<NavierStokes, StaggeredFreeF // the fluid system SET_PROP(StokesOneP, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Dumux::Components::SimpleH2O<Scalar> > ; }; // Set the grid type -SET_TYPE_PROP(StokesOneP, Grid, Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 2> >); +SET_TYPE_PROP(StokesOneP, Grid, Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<GetPropType<TypeTag, Properties::Scalar>, 2> >); // Set the problem property SET_TYPE_PROP(StokesOneP, Problem, Dumux::StokesSubProblem<TypeTag> ); @@ -75,26 +75,26 @@ class StokesSubProblem : public NavierStokesProblem<TypeTag> { using ParentType = NavierStokesProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using Element = typename GridView::template Codim<0>::Entity; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using ElementFaceVariables = typename GET_PROP_TYPE(TypeTag, GridFaceVariables)::LocalView; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using ElementFaceVariables = typename GetPropType<TypeTag, Properties::GridFaceVariables>::LocalView; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: StokesSubProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, std::shared_ptr<CouplingManager> couplingManager) diff --git a/test/multidomain/boundary/stokesdarcy/1p_2p/main.cc b/test/multidomain/boundary/stokesdarcy/1p_2p/main.cc index bf690fee74..2c4e281469 100644 --- a/test/multidomain/boundary/stokesdarcy/1p_2p/main.cc +++ b/test/multidomain/boundary/stokesdarcy/1p_2p/main.cc @@ -78,7 +78,7 @@ SET_PROP(DarcyTwoP, CouplingManager) template<class TypeTag> struct CouplingFluidSystem { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using H2OType = Dumux::Components::SimpleH2O<Scalar>; using H2OPhase = Dumux::FluidSystems::OnePLiquid<Scalar, H2OType>; using AirType = Dumux::Components::TabulatedComponent<Components::Air<Scalar>, false >; @@ -122,11 +122,11 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) // for both sub-domains - using DarcyGridManager = Dumux::GridManager<typename GET_PROP_TYPE(DarcyTypeTag, Grid)>; + using DarcyGridManager = Dumux::GridManager<GetPropType<DarcyTypeTag, Properties::Grid>>; DarcyGridManager darcyGridManager; darcyGridManager.init("Darcy"); // pass parameter group - using StokesGridManager = Dumux::GridManager<typename GET_PROP_TYPE(StokesTypeTag, Grid)>; + using StokesGridManager = Dumux::GridManager<GetPropType<StokesTypeTag, Properties::Grid>>; StokesGridManager stokesGridManager; stokesGridManager.init("Stokes"); // pass parameter group @@ -135,10 +135,10 @@ int main(int argc, char** argv) try const auto& stokesGridView = stokesGridManager.grid().leafGridView(); // create the finite volume grid geometry - using StokesFVGridGeometry = typename GET_PROP_TYPE(StokesTypeTag, FVGridGeometry); + using StokesFVGridGeometry = GetPropType<StokesTypeTag, Properties::FVGridGeometry>; auto stokesFvGridGeometry = std::make_shared<StokesFVGridGeometry>(stokesGridView); stokesFvGridGeometry->update(); - using DarcyFVGridGeometry = typename GET_PROP_TYPE(DarcyTypeTag, FVGridGeometry); + using DarcyFVGridGeometry = GetPropType<DarcyTypeTag, Properties::FVGridGeometry>; auto darcyFvGridGeometry = std::make_shared<DarcyFVGridGeometry>(darcyGridView); darcyFvGridGeometry->update(); @@ -154,13 +154,13 @@ int main(int argc, char** argv) try constexpr auto darcyIdx = CouplingManager::darcyIdx; // the problem (initial and boundary conditions) - using StokesProblem = typename GET_PROP_TYPE(StokesTypeTag, Problem); + using StokesProblem = GetPropType<StokesTypeTag, Properties::Problem>; auto stokesProblem = std::make_shared<StokesProblem>(stokesFvGridGeometry, couplingManager); - using DarcyProblem = typename GET_PROP_TYPE(DarcyTypeTag, Problem); + using DarcyProblem = GetPropType<DarcyTypeTag, Properties::Problem>; auto darcyProblem = std::make_shared<DarcyProblem>(darcyFvGridGeometry, couplingManager); // initialize the fluidsystem (tabulation) - GET_PROP_TYPE(StokesTypeTag, FluidSystem)::init(/*tempMin=*/273.15, + GetPropType<StokesTypeTag, Properties::FluidSystem>::init(/*tempMin=*/273.15, /*tempMax=*/320, /*numTemp=*/100, /*pMin=*/1e4, @@ -177,7 +177,7 @@ int main(int argc, char** argv) try const auto& faceSol = sol[stokesFaceIdx]; // apply initial solution for instationary problems - typename GET_PROP_TYPE(StokesTypeTag, SolutionVector) stokesSol; + GetPropType<StokesTypeTag, Properties::SolutionVector> stokesSol; std::get<0>(stokesSol) = cellCenterSol; std::get<1>(stokesSol) = faceSol; stokesProblem->applyInitialSolution(stokesSol); @@ -193,28 +193,28 @@ int main(int argc, char** argv) try couplingManager->init(stokesProblem, darcyProblem, sol); // the grid variables - using StokesGridVariables = typename GET_PROP_TYPE(StokesTypeTag, GridVariables); + using StokesGridVariables = GetPropType<StokesTypeTag, Properties::GridVariables>; auto stokesGridVariables = std::make_shared<StokesGridVariables>(stokesProblem, stokesFvGridGeometry); stokesGridVariables->init(stokesSol, solStokesOld); - using DarcyGridVariables = typename GET_PROP_TYPE(DarcyTypeTag, GridVariables); + using DarcyGridVariables = GetPropType<DarcyTypeTag, Properties::GridVariables>; auto darcyGridVariables = std::make_shared<DarcyGridVariables>(darcyProblem, darcyFvGridGeometry); darcyGridVariables->init(sol[darcyIdx], solDarcyOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(StokesTypeTag, Scalar); + using Scalar = GetPropType<StokesTypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - StaggeredVtkOutputModule<StokesGridVariables, typename GET_PROP_TYPE(StokesTypeTag, SolutionVector)> stokesVtkWriter(*stokesGridVariables, stokesSol, stokesProblem->name()); - GET_PROP_TYPE(StokesTypeTag, IOFields)::initOutputModule(stokesVtkWriter); + StaggeredVtkOutputModule<StokesGridVariables, GetPropType<StokesTypeTag, Properties::SolutionVector>> stokesVtkWriter(*stokesGridVariables, stokesSol, stokesProblem->name()); + GetPropType<StokesTypeTag, Properties::IOFields>::initOutputModule(stokesVtkWriter); stokesVtkWriter.write(0.0); - VtkOutputModule<DarcyGridVariables, typename GET_PROP_TYPE(DarcyTypeTag, SolutionVector)> darcyVtkWriter(*darcyGridVariables, sol[darcyIdx], darcyProblem->name()); - using DarcyVelocityOutput = typename GET_PROP_TYPE(DarcyTypeTag, VelocityOutput); + VtkOutputModule<DarcyGridVariables, GetPropType<DarcyTypeTag, Properties::SolutionVector>> darcyVtkWriter(*darcyGridVariables, sol[darcyIdx], darcyProblem->name()); + using DarcyVelocityOutput = GetPropType<DarcyTypeTag, Properties::VelocityOutput>; darcyVtkWriter.addVelocityOutput(std::make_shared<DarcyVelocityOutput>(*darcyGridVariables)); - GET_PROP_TYPE(DarcyTypeTag, IOFields)::initOutputModule(darcyVtkWriter); + GetPropType<DarcyTypeTag, Properties::IOFields>::initOutputModule(darcyVtkWriter); darcyVtkWriter.write(0.0); // instantiate time loop diff --git a/test/multidomain/boundary/stokesdarcy/1p_2p/problem_darcy.hh b/test/multidomain/boundary/stokesdarcy/1p_2p/problem_darcy.hh index 0928244d64..64d6f61c1d 100644 --- a/test/multidomain/boundary/stokesdarcy/1p_2p/problem_darcy.hh +++ b/test/multidomain/boundary/stokesdarcy/1p_2p/problem_darcy.hh @@ -59,8 +59,8 @@ SET_BOOL_PROP(DarcyTwoP, UseMoles, false); SET_PROP(DarcyTwoP, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = ConservationSpatialParams<FVGridGeometry, Scalar>; }; @@ -73,22 +73,22 @@ template <class TypeTag> class DarcySubProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; // copy some indices for convenience - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { // primary variable indices conti0EqIdx = Indices::conti0EqIdx, @@ -99,7 +99,7 @@ class DarcySubProblem : public PorousMediumFlowProblem<TypeTag> using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: DarcySubProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, diff --git a/test/multidomain/boundary/stokesdarcy/1p_2p/problem_stokes.hh b/test/multidomain/boundary/stokesdarcy/1p_2p/problem_stokes.hh index fdaae67032..75bf45cfdf 100644 --- a/test/multidomain/boundary/stokesdarcy/1p_2p/problem_stokes.hh +++ b/test/multidomain/boundary/stokesdarcy/1p_2p/problem_stokes.hh @@ -43,7 +43,7 @@ struct StokesOneP { using InheritsFrom = std::tuple<NavierStokes, StaggeredFreeF } // end namespace TTag // Set the grid type -SET_TYPE_PROP(StokesOneP, Grid, Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 2> >); +SET_TYPE_PROP(StokesOneP, Grid, Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<GetPropType<TypeTag, Properties::Scalar>, 2> >); // Set the problem property SET_TYPE_PROP(StokesOneP, Problem, Dumux::StokesSubProblem<TypeTag> ); @@ -65,28 +65,28 @@ class StokesSubProblem : public NavierStokesProblem<TypeTag> { using ParentType = NavierStokesProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using Element = typename GridView::template Codim<0>::Entity; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using ElementFaceVariables = typename GET_PROP_TYPE(TypeTag, GridFaceVariables)::LocalView; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using ElementFaceVariables = typename GetPropType<TypeTag, Properties::GridFaceVariables>::LocalView; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: StokesSubProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, std::shared_ptr<CouplingManager> couplingManager) diff --git a/test/multidomain/embedded/1d3d/1p2c_richards2c/main.cc b/test/multidomain/embedded/1d3d/1p2c_richards2c/main.cc index cf436d3440..f4519a99f1 100644 --- a/test/multidomain/embedded/1d3d/1p2c_richards2c/main.cc +++ b/test/multidomain/embedded/1d3d/1p2c_richards2c/main.cc @@ -65,10 +65,10 @@ SET_PROP(Root, CouplingManager) using type = EmbeddedCouplingManager1d3d<Traits, EmbeddedCouplingMode::average>; }; -SET_TYPE_PROP(Soil, PointSource, typename GET_PROP_TYPE(TypeTag, CouplingManager)::PointSourceTraits::template PointSource<0>); -SET_TYPE_PROP(Root, PointSource, typename GET_PROP_TYPE(TypeTag, CouplingManager)::PointSourceTraits::template PointSource<1>); -SET_TYPE_PROP(Soil, PointSourceHelper, typename GET_PROP_TYPE(TypeTag, CouplingManager)::PointSourceTraits::template PointSourceHelper<0>); -SET_TYPE_PROP(Root, PointSourceHelper, typename GET_PROP_TYPE(TypeTag, CouplingManager)::PointSourceTraits::template PointSourceHelper<1>); +SET_TYPE_PROP(Soil, PointSource, typename GetPropType<TypeTag, Properties::CouplingManager>::PointSourceTraits::template PointSource<0>); +SET_TYPE_PROP(Root, PointSource, typename GetPropType<TypeTag, Properties::CouplingManager>::PointSourceTraits::template PointSource<1>); +SET_TYPE_PROP(Soil, PointSourceHelper, typename GetPropType<TypeTag, Properties::CouplingManager>::PointSourceTraits::template PointSourceHelper<0>); +SET_TYPE_PROP(Root, PointSourceHelper, typename GetPropType<TypeTag, Properties::CouplingManager>::PointSourceTraits::template PointSourceHelper<1>); } // end namespace Properties @@ -182,11 +182,11 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) // for both sub-domains - using BulkGridManager = Dumux::GridManager<typename GET_PROP_TYPE(BulkTypeTag, Grid)>; + using BulkGridManager = Dumux::GridManager<GetPropType<BulkTypeTag, Properties::Grid>>; BulkGridManager bulkGridManager; bulkGridManager.init("Soil"); // pass parameter group - using LowDimGridManager = Dumux::GridManager<typename GET_PROP_TYPE(LowDimTypeTag, Grid)>; + using LowDimGridManager = Dumux::GridManager<GetPropType<LowDimTypeTag, Properties::Grid>>; LowDimGridManager lowDimGridManager; lowDimGridManager.init("Root"); // pass parameter group @@ -199,10 +199,10 @@ int main(int argc, char** argv) try //////////////////////////////////////////////////////////// // create the finite volume grid geometry - using BulkFVGridGeometry = typename GET_PROP_TYPE(BulkTypeTag, FVGridGeometry); + using BulkFVGridGeometry = GetPropType<BulkTypeTag, Properties::FVGridGeometry>; auto bulkFvGridGeometry = std::make_shared<BulkFVGridGeometry>(bulkGridView); bulkFvGridGeometry->update(); - using LowDimFVGridGeometry = typename GET_PROP_TYPE(LowDimTypeTag, FVGridGeometry); + using LowDimFVGridGeometry = GetPropType<LowDimTypeTag, Properties::FVGridGeometry>; auto lowDimFvGridGeometry = std::make_shared<LowDimFVGridGeometry>(lowDimGridView); lowDimFvGridGeometry->update(); @@ -212,19 +212,19 @@ int main(int argc, char** argv) try constexpr auto lowDimIdx = Traits::template DomainIdx<1>(); // the coupling manager - using CouplingManager = typename GET_PROP_TYPE(BulkTypeTag, CouplingManager); + using CouplingManager = GetPropType<BulkTypeTag, Properties::CouplingManager>; auto couplingManager = std::make_shared<CouplingManager>(bulkFvGridGeometry, lowDimFvGridGeometry); // the bulk problem (initial and boundary conditions) - using BulkProblem = typename GET_PROP_TYPE(BulkTypeTag, Problem); + using BulkProblem = GetPropType<BulkTypeTag, Properties::Problem>; auto bulkProblem = std::make_shared<BulkProblem>(bulkFvGridGeometry, couplingManager); // the low dim spatial parameters - using LowDimSpatialParams = typename GET_PROP_TYPE(LowDimTypeTag, SpatialParams); + using LowDimSpatialParams = GetPropType<LowDimTypeTag, Properties::SpatialParams>; auto lowDimSpatialParams = std::make_shared<LowDimSpatialParams>(lowDimFvGridGeometry, lowDimGridManager.getGridData()); // the low dim problem (initial and boundary conditions) - using LowDimProblem = typename GET_PROP_TYPE(LowDimTypeTag, Problem); + using LowDimProblem = GetPropType<LowDimTypeTag, Properties::Problem>; auto lowDimProblem = std::make_shared<LowDimProblem>(lowDimFvGridGeometry, lowDimSpatialParams, couplingManager); // locally refine levels deep around the embedded grid @@ -232,8 +232,8 @@ int main(int argc, char** argv) try for (int i = 0; i < levels; ++i) { auto& soilGrid = bulkGridManager.grid(); - using BulkGridView = typename GET_PROP_TYPE(BulkTypeTag, GridView); - using LowDimGridView = typename GET_PROP_TYPE(LowDimTypeTag, GridView); + using BulkGridView = GetPropType<BulkTypeTag, Properties::GridView>; + using LowDimGridView = GetPropType<LowDimTypeTag, Properties::GridView>; MixedDimensionGlue<BulkGridView, LowDimGridView> glue(bulkFvGridGeometry->boundingBoxTree(), lowDimFvGridGeometry->boundingBoxTree()); @@ -331,10 +331,10 @@ int main(int argc, char** argv) try lowDimProblem->computePointSourceMap(); // the grid variables - using BulkGridVariables = typename GET_PROP_TYPE(BulkTypeTag, GridVariables); + using BulkGridVariables = GetPropType<BulkTypeTag, Properties::GridVariables>; auto bulkGridVariables = std::make_shared<BulkGridVariables>(bulkProblem, bulkFvGridGeometry); bulkGridVariables->init(sol[bulkIdx], oldSol[bulkIdx]); - using LowDimGridVariables = typename GET_PROP_TYPE(LowDimTypeTag, GridVariables); + using LowDimGridVariables = GetPropType<LowDimTypeTag, Properties::GridVariables>; auto lowDimGridVariables = std::make_shared<LowDimGridVariables>(lowDimProblem, lowDimFvGridGeometry); lowDimGridVariables->init(sol[lowDimIdx], oldSol[lowDimIdx]); @@ -350,12 +350,12 @@ int main(int argc, char** argv) try // intialize the vtk output module using BulkSolutionVector = std::decay_t<decltype(sol[bulkIdx])>; VtkOutputModule<BulkGridVariables, BulkSolutionVector> bulkVtkWriter(*bulkGridVariables, sol[bulkIdx], bulkProblem->name()); - GET_PROP_TYPE(BulkTypeTag, IOFields)::initOutputModule(bulkVtkWriter); + GetPropType<BulkTypeTag, Properties::IOFields>::initOutputModule(bulkVtkWriter); bulkVtkWriter.write(0.0); using LowDimSolutionVector = std::decay_t<decltype(sol[lowDimIdx])>; VtkOutputModule<LowDimGridVariables, LowDimSolutionVector> lowDimVtkWriter(*lowDimGridVariables, sol[lowDimIdx], lowDimProblem->name()); - GET_PROP_TYPE(LowDimTypeTag, IOFields)::initOutputModule(lowDimVtkWriter); + GetPropType<LowDimTypeTag, Properties::IOFields>::initOutputModule(lowDimVtkWriter); lowDimProblem->addVtkOutputFields(lowDimVtkWriter); lowDimVtkWriter.write(0.0); diff --git a/test/multidomain/embedded/1d3d/1p2c_richards2c/problem_root.hh b/test/multidomain/embedded/1d3d/1p2c_richards2c/problem_root.hh index 4b0ccda285..830e3a7fd9 100644 --- a/test/multidomain/embedded/1d3d/1p2c_richards2c/problem_root.hh +++ b/test/multidomain/embedded/1d3d/1p2c_richards2c/problem_root.hh @@ -66,14 +66,14 @@ SET_TYPE_PROP(Root, Problem, RootProblem<TypeTag>); // Set the fluid system SET_PROP(Root, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::LiquidPhaseTwoC<Scalar, Components::SimpleH2O<Scalar>, Components::Constant<1, Scalar>>; }; // Set the spatial parameters -SET_TYPE_PROP(Root, SpatialParams, RootSpatialParams<typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(Root, SpatialParams, RootSpatialParams<GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::Scalar>>); SET_BOOL_PROP(Root, UseMoles, true); @@ -87,26 +87,26 @@ template <class TypeTag> class RootProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PointSource = typename GET_PROP_TYPE(TypeTag, PointSource); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NeumannFluxes = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using SourceValues = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PointSource = GetPropType<TypeTag, Properties::PointSource>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NeumannFluxes = GetPropType<TypeTag, Properties::NumEqVector>; + using SourceValues = GetPropType<TypeTag, Properties::NumEqVector>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using GridView = typename FVGridGeometry::GridView; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVGridGeometry::SubControlVolume; using SubControlVolumeFace = typename FVGridGeometry::SubControlVolumeFace; using GlobalPosition = typename FVGridGeometry::GlobalCoordinate; using Element = typename GridView::template Codim<0>::Entity; - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; enum Indices { // Grid and world dimension dim = GridView::dimension, diff --git a/test/multidomain/embedded/1d3d/1p2c_richards2c/problem_soil.hh b/test/multidomain/embedded/1d3d/1p2c_richards2c/problem_soil.hh index 08e5800809..444bb0943c 100644 --- a/test/multidomain/embedded/1d3d/1p2c_richards2c/problem_soil.hh +++ b/test/multidomain/embedded/1d3d/1p2c_richards2c/problem_soil.hh @@ -70,13 +70,13 @@ SET_BOOL_PROP(Soil, SolutionDependentHeatConduction, false); SET_TYPE_PROP(Soil, Problem, SoilProblem<TypeTag>); // Set the spatial parameters -SET_TYPE_PROP(Soil, SpatialParams, SoilSpatialParams<typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(Soil, SpatialParams, SoilSpatialParams<GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::Scalar>>); // Set the fluid system SET_PROP(Soil, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::LiquidPhaseTwoC<Scalar, Components::SimpleH2O<Scalar>, Components::Constant<1, Scalar>>; }; @@ -93,24 +93,24 @@ template <class TypeTag> class SoilProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVGridGeometry::SubControlVolume; using GridView = typename FVGridGeometry::GridView; using GlobalPosition = typename FVGridGeometry::GlobalCoordinate; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PointSource = typename GET_PROP_TYPE(TypeTag, PointSource); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PointSource = GetPropType<TypeTag, Properties::PointSource>; using Element = typename GridView::template Codim<0>::Entity; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; enum Indices { // world dimension dim = GridView::dimension, @@ -136,7 +136,7 @@ public: // for initial conditions const Scalar sw = getParam<Scalar>("Problem.InitTopSaturation", 0.3); // start with 30% saturation on top - using MaterialLaw = typename GET_PROP_TYPE(TypeTag, SpatialParams)::MaterialLaw; + using MaterialLaw = typename GetPropType<TypeTag, Properties::SpatialParams>::MaterialLaw; pcTop_ = MaterialLaw::pc(this->spatialParams().materialLawParamsAtPos(fvGridGeometry->bBoxMax()), sw); } diff --git a/test/multidomain/embedded/1d3d/1p_1p/main.cc b/test/multidomain/embedded/1d3d/1p_1p/main.cc index 58f0e09f9d..482ebb1a08 100644 --- a/test/multidomain/embedded/1d3d/1p_1p/main.cc +++ b/test/multidomain/embedded/1d3d/1p_1p/main.cc @@ -69,12 +69,12 @@ template<class Traits> using TheCouplingManager = EmbeddedCouplingManager1d3d<Traits, COUPLINGMODE>; SET_TYPE_PROP(BULKTYPETAG, CouplingManager, TheCouplingManager<MultiDomainTraits<TypeTag, TTAG(LOWDIMTYPETAG)>>); -SET_TYPE_PROP(BULKTYPETAG, PointSource, typename GET_PROP_TYPE(TypeTag, CouplingManager)::PointSourceTraits::template PointSource<0>); -SET_TYPE_PROP(BULKTYPETAG, PointSourceHelper, typename GET_PROP_TYPE(TypeTag, CouplingManager)::PointSourceTraits::template PointSourceHelper<0>); +SET_TYPE_PROP(BULKTYPETAG, PointSource, typename GetPropType<TypeTag, Properties::CouplingManager>::PointSourceTraits::template PointSource<0>); +SET_TYPE_PROP(BULKTYPETAG, PointSourceHelper, typename GetPropType<TypeTag, Properties::CouplingManager>::PointSourceTraits::template PointSourceHelper<0>); SET_TYPE_PROP(LOWDIMTYPETAG, CouplingManager, TheCouplingManager<MultiDomainTraits<TTAG(BULKTYPETAG), TypeTag>>); -SET_TYPE_PROP(LOWDIMTYPETAG, PointSource, typename GET_PROP_TYPE(TypeTag, CouplingManager)::PointSourceTraits::template PointSource<1>); -SET_TYPE_PROP(LOWDIMTYPETAG, PointSourceHelper, typename GET_PROP_TYPE(TypeTag, CouplingManager)::PointSourceTraits::template PointSourceHelper<1>); +SET_TYPE_PROP(LOWDIMTYPETAG, PointSource, typename GetPropType<TypeTag, Properties::CouplingManager>::PointSourceTraits::template PointSource<1>); +SET_TYPE_PROP(LOWDIMTYPETAG, PointSourceHelper, typename GetPropType<TypeTag, Properties::CouplingManager>::PointSourceTraits::template PointSourceHelper<1>); } // end namespace Properties } // end namespace Dumux @@ -99,11 +99,11 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) // for both sub-domains - using BulkGridManager = Dumux::GridManager<typename GET_PROP_TYPE(BulkTypeTag, Grid)>; + using BulkGridManager = Dumux::GridManager<GetPropType<BulkTypeTag, Properties::Grid>>; BulkGridManager bulkGridManager; bulkGridManager.init("Tissue"); // pass parameter group - using LowDimGridManager = Dumux::GridManager<typename GET_PROP_TYPE(LowDimTypeTag, Grid)>; + using LowDimGridManager = Dumux::GridManager<GetPropType<LowDimTypeTag, Properties::Grid>>; LowDimGridManager lowDimGridManager; lowDimGridManager.init("Vessel"); // pass parameter group @@ -116,10 +116,10 @@ int main(int argc, char** argv) try const auto& lowDimGridView = lowDimGridManager.grid().leafGridView(); // create the finite volume grid geometry - using BulkFVGridGeometry = typename GET_PROP_TYPE(BulkTypeTag, FVGridGeometry); + using BulkFVGridGeometry = GetPropType<BulkTypeTag, Properties::FVGridGeometry>; auto bulkFvGridGeometry = std::make_shared<BulkFVGridGeometry>(bulkGridView); bulkFvGridGeometry->update(); - using LowDimFVGridGeometry = typename GET_PROP_TYPE(LowDimTypeTag, FVGridGeometry); + using LowDimFVGridGeometry = GetPropType<LowDimTypeTag, Properties::FVGridGeometry>; auto lowDimFvGridGeometry = std::make_shared<LowDimFVGridGeometry>(lowDimGridView); lowDimFvGridGeometry->update(); @@ -129,13 +129,13 @@ int main(int argc, char** argv) try constexpr auto lowDimIdx = Traits::template DomainIdx<1>(); // the coupling manager - using CouplingManager = typename GET_PROP_TYPE(BulkTypeTag, CouplingManager); + using CouplingManager = GetPropType<BulkTypeTag, Properties::CouplingManager>; auto couplingManager = std::make_shared<CouplingManager>(bulkFvGridGeometry, lowDimFvGridGeometry); // the problem (initial and boundary conditions) - using BulkProblem = typename GET_PROP_TYPE(BulkTypeTag, Problem); + using BulkProblem = GetPropType<BulkTypeTag, Properties::Problem>; auto bulkProblem = std::make_shared<BulkProblem>(bulkFvGridGeometry, couplingManager); - using LowDimProblem = typename GET_PROP_TYPE(LowDimTypeTag, Problem); + using LowDimProblem = GetPropType<LowDimTypeTag, Properties::Problem>; auto lowDimProblem = std::make_shared<LowDimProblem>(lowDimFvGridGeometry, couplingManager); // the solution vector @@ -151,23 +151,23 @@ int main(int argc, char** argv) try lowDimProblem->computePointSourceMap(); // the grid variables - using BulkGridVariables = typename GET_PROP_TYPE(BulkTypeTag, GridVariables); + using BulkGridVariables = GetPropType<BulkTypeTag, Properties::GridVariables>; auto bulkGridVariables = std::make_shared<BulkGridVariables>(bulkProblem, bulkFvGridGeometry); bulkGridVariables->init(sol[bulkIdx], oldSol[bulkIdx]); - using LowDimGridVariables = typename GET_PROP_TYPE(LowDimTypeTag, GridVariables); + using LowDimGridVariables = GetPropType<LowDimTypeTag, Properties::GridVariables>; auto lowDimGridVariables = std::make_shared<LowDimGridVariables>(lowDimProblem, lowDimFvGridGeometry); lowDimGridVariables->init(sol[lowDimIdx], oldSol[lowDimIdx]); // intialize the vtk output module using BulkSolutionVector = std::decay_t<decltype(sol[bulkIdx])>; VtkOutputModule<BulkGridVariables, BulkSolutionVector> bulkVtkWriter(*bulkGridVariables, sol[bulkIdx], bulkProblem->name()); - GET_PROP_TYPE(BulkTypeTag, IOFields)::initOutputModule(bulkVtkWriter); + GetPropType<BulkTypeTag, Properties::IOFields>::initOutputModule(bulkVtkWriter); bulkProblem->addVtkOutputFields(bulkVtkWriter); bulkVtkWriter.write(0.0); using LowDimSolutionVector = std::decay_t<decltype(sol[lowDimIdx])>; VtkOutputModule<LowDimGridVariables, LowDimSolutionVector> lowDimVtkWriter(*lowDimGridVariables, sol[lowDimIdx], lowDimProblem->name()); - GET_PROP_TYPE(LowDimTypeTag, IOFields)::initOutputModule(lowDimVtkWriter); + GetPropType<LowDimTypeTag, Properties::IOFields>::initOutputModule(lowDimVtkWriter); lowDimProblem->addVtkOutputFields(lowDimVtkWriter); lowDimVtkWriter.write(0.0); diff --git a/test/multidomain/embedded/1d3d/1p_1p/problem_bloodflow.hh b/test/multidomain/embedded/1d3d/1p_1p/problem_bloodflow.hh index 7055c0dfa1..e3880ef466 100644 --- a/test/multidomain/embedded/1d3d/1p_1p/problem_bloodflow.hh +++ b/test/multidomain/embedded/1d3d/1p_1p/problem_bloodflow.hh @@ -70,7 +70,7 @@ SET_TYPE_PROP(BloodFlow, Problem, BloodFlowProblem<TypeTag>); // the fluid system SET_PROP(BloodFlow, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Components::Constant<1, Scalar> >; }; @@ -79,8 +79,8 @@ SET_TYPE_PROP(BloodFlow, LocalResidual, OnePIncompressibleLocalResidual<TypeTag> // Set the spatial parameters SET_TYPE_PROP(BloodFlow, SpatialParams, - BloodFlowSpatialParams<typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, Scalar)>); + BloodFlowSpatialParams<GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::Scalar>>); } // end namespace Properties /*! @@ -91,20 +91,20 @@ template <class TypeTag> class BloodFlowProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PointSource = typename GET_PROP_TYPE(TypeTag, PointSource); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PointSource = GetPropType<TypeTag, Properties::PointSource>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using GridView = typename FVGridGeometry::GridView; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVGridGeometry::SubControlVolume; - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename FVGridGeometry::GlobalCoordinate; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: BloodFlowProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, diff --git a/test/multidomain/embedded/1d3d/1p_1p/problem_tissue.hh b/test/multidomain/embedded/1d3d/1p_1p/problem_tissue.hh index 550f565783..fc1f8afe1b 100644 --- a/test/multidomain/embedded/1d3d/1p_1p/problem_tissue.hh +++ b/test/multidomain/embedded/1d3d/1p_1p/problem_tissue.hh @@ -61,7 +61,7 @@ struct TissueBox { using InheritsFrom = std::tuple<Tissue, BoxModel>; }; } // end namespace TTag // Set the grid type -SET_TYPE_PROP(Tissue, Grid, Dune::YaspGrid<3, Dune::EquidistantOffsetCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 3> >); +SET_TYPE_PROP(Tissue, Grid, Dune::YaspGrid<3, Dune::EquidistantOffsetCoordinates<GetPropType<TypeTag, Properties::Scalar>, 3> >); SET_BOOL_PROP(Tissue, EnableFVGridGeometryCache, true); SET_BOOL_PROP(Tissue, EnableGridVolumeVariablesCache, true); @@ -79,14 +79,14 @@ SET_TYPE_PROP(Tissue, LocalResidual, OnePIncompressibleLocalResidual<TypeTag>); // the fluid system SET_PROP(Tissue, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Components::Constant<1, Scalar> >; }; // Set the spatial parameters SET_TYPE_PROP(Tissue, SpatialParams, - TissueSpatialParams<typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, Scalar)>); + TissueSpatialParams<GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::Scalar>>); } // end namespace Properties @@ -97,22 +97,22 @@ template <class TypeTag> class TissueProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVGridGeometry::SubControlVolume; using GridView = typename FVGridGeometry::GridView; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PointSource = typename GET_PROP_TYPE(TypeTag, PointSource); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PointSource = GetPropType<TypeTag, Properties::PointSource>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename FVGridGeometry::GlobalCoordinate; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: TissueProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, diff --git a/test/multidomain/embedded/1d3d/1p_richards/main.cc b/test/multidomain/embedded/1d3d/1p_richards/main.cc index 4bc32344da..9184173c59 100644 --- a/test/multidomain/embedded/1d3d/1p_richards/main.cc +++ b/test/multidomain/embedded/1d3d/1p_richards/main.cc @@ -64,10 +64,10 @@ SET_PROP(Root, CouplingManager) using type = EmbeddedCouplingManager1d3d<Traits, EmbeddedCouplingMode::average>; }; -SET_TYPE_PROP(SOILTYPETAG, PointSource, typename GET_PROP_TYPE(TypeTag, CouplingManager)::PointSourceTraits::template PointSource<0>); -SET_TYPE_PROP(Root, PointSource, typename GET_PROP_TYPE(TypeTag, CouplingManager)::PointSourceTraits::template PointSource<1>); -SET_TYPE_PROP(SOILTYPETAG, PointSourceHelper, typename GET_PROP_TYPE(TypeTag, CouplingManager)::PointSourceTraits::template PointSourceHelper<0>); -SET_TYPE_PROP(Root, PointSourceHelper, typename GET_PROP_TYPE(TypeTag, CouplingManager)::PointSourceTraits::template PointSourceHelper<1>); +SET_TYPE_PROP(SOILTYPETAG, PointSource, typename GetPropType<TypeTag, Properties::CouplingManager>::PointSourceTraits::template PointSource<0>); +SET_TYPE_PROP(Root, PointSource, typename GetPropType<TypeTag, Properties::CouplingManager>::PointSourceTraits::template PointSource<1>); +SET_TYPE_PROP(SOILTYPETAG, PointSourceHelper, typename GetPropType<TypeTag, Properties::CouplingManager>::PointSourceTraits::template PointSourceHelper<0>); +SET_TYPE_PROP(Root, PointSourceHelper, typename GetPropType<TypeTag, Properties::CouplingManager>::PointSourceTraits::template PointSourceHelper<1>); } // end namespace Properties } // end namespace Dumux @@ -92,11 +92,11 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) // for both sub-domains - using BulkGridManager = Dumux::GridManager<typename GET_PROP_TYPE(BulkTypeTag, Grid)>; + using BulkGridManager = Dumux::GridManager<GetPropType<BulkTypeTag, Properties::Grid>>; BulkGridManager bulkGridManager; bulkGridManager.init("Soil"); // pass parameter group - using LowDimGridManager = Dumux::GridManager<typename GET_PROP_TYPE(LowDimTypeTag, Grid)>; + using LowDimGridManager = Dumux::GridManager<GetPropType<LowDimTypeTag, Properties::Grid>>; LowDimGridManager lowDimGridManager; lowDimGridManager.init("Root"); // pass parameter group @@ -109,10 +109,10 @@ int main(int argc, char** argv) try const auto& lowDimGridView = lowDimGridManager.grid().leafGridView(); // create the finite volume grid geometry - using BulkFVGridGeometry = typename GET_PROP_TYPE(BulkTypeTag, FVGridGeometry); + using BulkFVGridGeometry = GetPropType<BulkTypeTag, Properties::FVGridGeometry>; auto bulkFvGridGeometry = std::make_shared<BulkFVGridGeometry>(bulkGridView); bulkFvGridGeometry->update(); - using LowDimFVGridGeometry = typename GET_PROP_TYPE(LowDimTypeTag, FVGridGeometry); + using LowDimFVGridGeometry = GetPropType<LowDimTypeTag, Properties::FVGridGeometry>; auto lowDimFvGridGeometry = std::make_shared<LowDimFVGridGeometry>(lowDimGridView); lowDimFvGridGeometry->update(); @@ -122,19 +122,19 @@ int main(int argc, char** argv) try constexpr auto lowDimIdx = Traits::template DomainIdx<1>(); // the coupling manager - using CouplingManager = typename GET_PROP_TYPE(BulkTypeTag, CouplingManager); + using CouplingManager = GetPropType<BulkTypeTag, Properties::CouplingManager>; auto couplingManager = std::make_shared<CouplingManager>(bulkFvGridGeometry, lowDimFvGridGeometry); // the problem (initial and boundary conditions) - using BulkProblem = typename GET_PROP_TYPE(BulkTypeTag, Problem); + using BulkProblem = GetPropType<BulkTypeTag, Properties::Problem>; auto bulkProblem = std::make_shared<BulkProblem>(bulkFvGridGeometry, couplingManager); // the low dim spatial parameters - using LowDimSpatialParams = typename GET_PROP_TYPE(LowDimTypeTag, SpatialParams); + using LowDimSpatialParams = GetPropType<LowDimTypeTag, Properties::SpatialParams>; auto lowDimSpatialParams = std::make_shared<LowDimSpatialParams>(lowDimFvGridGeometry, lowDimGridManager.getGridData()); // the low dim problem (initial and boundary conditions) - using LowDimProblem = typename GET_PROP_TYPE(LowDimTypeTag, Problem); + using LowDimProblem = GetPropType<LowDimTypeTag, Properties::Problem>; auto lowDimProblem = std::make_shared<LowDimProblem>(lowDimFvGridGeometry, lowDimSpatialParams, couplingManager); // the solution vector @@ -150,10 +150,10 @@ int main(int argc, char** argv) try lowDimProblem->computePointSourceMap(); // the grid variables - using BulkGridVariables = typename GET_PROP_TYPE(BulkTypeTag, GridVariables); + using BulkGridVariables = GetPropType<BulkTypeTag, Properties::GridVariables>; auto bulkGridVariables = std::make_shared<BulkGridVariables>(bulkProblem, bulkFvGridGeometry); bulkGridVariables->init(sol[bulkIdx], oldSol[bulkIdx]); - using LowDimGridVariables = typename GET_PROP_TYPE(LowDimTypeTag, GridVariables); + using LowDimGridVariables = GetPropType<LowDimTypeTag, Properties::GridVariables>; auto lowDimGridVariables = std::make_shared<LowDimGridVariables>(lowDimProblem, lowDimFvGridGeometry); lowDimGridVariables->init(sol[lowDimIdx], oldSol[lowDimIdx]); @@ -167,12 +167,12 @@ int main(int argc, char** argv) try // intialize the vtk output module using BulkSolutionVector = std::decay_t<decltype(sol[bulkIdx])>; VtkOutputModule<BulkGridVariables, BulkSolutionVector> bulkVtkWriter(*bulkGridVariables, sol[bulkIdx], bulkProblem->name()); - GET_PROP_TYPE(BulkTypeTag, IOFields)::initOutputModule(bulkVtkWriter); + GetPropType<BulkTypeTag, Properties::IOFields>::initOutputModule(bulkVtkWriter); bulkVtkWriter.write(0.0); using LowDimSolutionVector = std::decay_t<decltype(sol[lowDimIdx])>; VtkOutputModule<LowDimGridVariables, LowDimSolutionVector> lowDimVtkWriter(*lowDimGridVariables, sol[lowDimIdx], lowDimProblem->name()); - GET_PROP_TYPE(LowDimTypeTag, IOFields)::initOutputModule(lowDimVtkWriter); + GetPropType<LowDimTypeTag, Properties::IOFields>::initOutputModule(lowDimVtkWriter); lowDimProblem->addVtkOutputFields(lowDimVtkWriter); lowDimVtkWriter.write(0.0); diff --git a/test/multidomain/embedded/1d3d/1p_richards/problem_root.hh b/test/multidomain/embedded/1d3d/1p_richards/problem_root.hh index 5b9596466f..fa2a006aba 100644 --- a/test/multidomain/embedded/1d3d/1p_richards/problem_root.hh +++ b/test/multidomain/embedded/1d3d/1p_richards/problem_root.hh @@ -67,7 +67,7 @@ SET_TYPE_PROP(Root, Problem, RootProblem<TypeTag>); // the fluid system SET_PROP(Root, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Components::SimpleH2O<Scalar> >; }; @@ -75,8 +75,8 @@ SET_PROP(Root, FluidSystem) SET_TYPE_PROP(Root, LocalResidual, OnePIncompressibleLocalResidual<TypeTag>); // Set the spatial parameters -SET_TYPE_PROP(Root, SpatialParams, RootSpatialParams<typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(Root, SpatialParams, RootSpatialParams<GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::Scalar>>); } // end namespace Properties @@ -88,22 +88,22 @@ template <class TypeTag> class RootProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PointSource = typename GET_PROP_TYPE(TypeTag, PointSource); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NeumannFluxes = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PointSource = GetPropType<TypeTag, Properties::PointSource>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NeumannFluxes = GetPropType<TypeTag, Properties::NumEqVector>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using GridView = typename FVGridGeometry::GridView; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVGridGeometry::SubControlVolume; using SubControlVolumeFace = typename FVGridGeometry::SubControlVolumeFace; using GlobalPosition = typename FVGridGeometry::GlobalCoordinate; - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using Element = typename GridView::template Codim<0>::Entity; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: diff --git a/test/multidomain/embedded/1d3d/1p_richards/problem_soil.hh b/test/multidomain/embedded/1d3d/1p_richards/problem_soil.hh index 4c3c0ea8b3..163625c871 100644 --- a/test/multidomain/embedded/1d3d/1p_richards/problem_soil.hh +++ b/test/multidomain/embedded/1d3d/1p_richards/problem_soil.hh @@ -55,7 +55,7 @@ struct SoilBox { using InheritsFrom = std::tuple<Soil, BoxModel>; }; } // end namespace TTag // Set the grid type -SET_TYPE_PROP(Soil, Grid, Dune::YaspGrid<3, Dune::EquidistantOffsetCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 3> >); +SET_TYPE_PROP(Soil, Grid, Dune::YaspGrid<3, Dune::EquidistantOffsetCoordinates<GetPropType<TypeTag, Properties::Scalar>, 3> >); SET_BOOL_PROP(Soil, EnableFVGridGeometryCache, true); SET_BOOL_PROP(Soil, EnableGridVolumeVariablesCache, true); @@ -68,8 +68,8 @@ SET_BOOL_PROP(Soil, SolutionDependentHeatConduction, false); SET_TYPE_PROP(Soil, Problem, SoilProblem<TypeTag>); // Set the spatial parameters -SET_TYPE_PROP(Soil, SpatialParams, SoilSpatialParams<typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(Soil, SpatialParams, SoilSpatialParams<GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::Scalar>>); } // end namespace Properties @@ -81,20 +81,20 @@ template <class TypeTag> class SoilProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + 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 FVGridGeometry::SubControlVolume; using GlobalPosition = typename FVGridGeometry::GlobalCoordinate; using Element = typename GridView::template Codim<0>::Entity; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PointSource = typename GET_PROP_TYPE(TypeTag, PointSource); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PointSource = GetPropType<TypeTag, Properties::PointSource>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: SoilProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, diff --git a/test/multidomain/embedded/2d3d/1p_1p/main.cc b/test/multidomain/embedded/2d3d/1p_1p/main.cc index 06ec41bf46..b72543d34c 100644 --- a/test/multidomain/embedded/2d3d/1p_1p/main.cc +++ b/test/multidomain/embedded/2d3d/1p_1p/main.cc @@ -66,10 +66,10 @@ SET_PROP(Fracture, CouplingManager) using type = EmbeddedCouplingManager2d3d<Traits>; }; -SET_TYPE_PROP(Matrix, PointSource, typename GET_PROP_TYPE(TypeTag, CouplingManager)::PointSourceTraits::template PointSource<0>); -SET_TYPE_PROP(Fracture, PointSource, typename GET_PROP_TYPE(TypeTag, CouplingManager)::PointSourceTraits::template PointSource<1>); -SET_TYPE_PROP(Matrix, PointSourceHelper, typename GET_PROP_TYPE(TypeTag, CouplingManager)::PointSourceTraits::template PointSourceHelper<0>); -SET_TYPE_PROP(Fracture, PointSourceHelper, typename GET_PROP_TYPE(TypeTag, CouplingManager)::PointSourceTraits::template PointSourceHelper<1>); +SET_TYPE_PROP(Matrix, PointSource, typename GetPropType<TypeTag, Properties::CouplingManager>::PointSourceTraits::template PointSource<0>); +SET_TYPE_PROP(Fracture, PointSource, typename GetPropType<TypeTag, Properties::CouplingManager>::PointSourceTraits::template PointSource<1>); +SET_TYPE_PROP(Matrix, PointSourceHelper, typename GetPropType<TypeTag, Properties::CouplingManager>::PointSourceTraits::template PointSourceHelper<0>); +SET_TYPE_PROP(Fracture, PointSourceHelper, typename GetPropType<TypeTag, Properties::CouplingManager>::PointSourceTraits::template PointSourceHelper<1>); } // end namespace Properties @@ -147,11 +147,11 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) // for both sub-domains - using BulkGridManager = Dumux::GridManager<typename GET_PROP_TYPE(BulkTypeTag, Grid)>; + using BulkGridManager = Dumux::GridManager<GetPropType<BulkTypeTag, Properties::Grid>>; BulkGridManager bulkGridManager; bulkGridManager.init("Matrix"); // pass parameter group - using LowDimGridManager = Dumux::GridManager<typename GET_PROP_TYPE(LowDimTypeTag, Grid)>; + using LowDimGridManager = Dumux::GridManager<GetPropType<LowDimTypeTag, Properties::Grid>>; LowDimGridManager lowDimGridManager; lowDimGridManager.init("Fracture"); // pass parameter group @@ -164,10 +164,10 @@ int main(int argc, char** argv) try const auto& lowDimGridView = lowDimGridManager.grid().leafGridView(); // create the finite volume grid geometry - using BulkFVGridGeometry = typename GET_PROP_TYPE(BulkTypeTag, FVGridGeometry); + using BulkFVGridGeometry = GetPropType<BulkTypeTag, Properties::FVGridGeometry>; auto bulkFvGridGeometry = std::make_shared<BulkFVGridGeometry>(bulkGridView); bulkFvGridGeometry->update(); - using LowDimFVGridGeometry = typename GET_PROP_TYPE(LowDimTypeTag, FVGridGeometry); + using LowDimFVGridGeometry = GetPropType<LowDimTypeTag, Properties::FVGridGeometry>; auto lowDimFvGridGeometry = std::make_shared<LowDimFVGridGeometry>(lowDimGridView); lowDimFvGridGeometry->update(); @@ -177,14 +177,14 @@ int main(int argc, char** argv) try constexpr auto lowDimIdx = Traits::template DomainIdx<1>(); // the coupling manager - using CouplingManager = typename GET_PROP_TYPE(BulkTypeTag, CouplingManager); + using CouplingManager = GetPropType<BulkTypeTag, Properties::CouplingManager>; auto couplingManager = std::make_shared<CouplingManager>(bulkFvGridGeometry, lowDimFvGridGeometry); // the problem (initial and boundary conditions) - using BulkProblem = typename GET_PROP_TYPE(BulkTypeTag, Problem); + using BulkProblem = GetPropType<BulkTypeTag, Properties::Problem>; auto bulkSpatialParams = std::make_shared<typename BulkProblem::SpatialParams>(bulkFvGridGeometry, "Matrix"); auto bulkProblem = std::make_shared<BulkProblem>(bulkFvGridGeometry, bulkSpatialParams, couplingManager, "Matrix"); - using LowDimProblem = typename GET_PROP_TYPE(LowDimTypeTag, Problem); + using LowDimProblem = GetPropType<LowDimTypeTag, Properties::Problem>; auto lowDimSpatialParams = std::make_shared<typename LowDimProblem::SpatialParams>(lowDimFvGridGeometry, "Fracture"); auto lowDimProblem = std::make_shared<LowDimProblem>(lowDimFvGridGeometry, lowDimSpatialParams, couplingManager, "Fracture"); @@ -201,22 +201,22 @@ int main(int argc, char** argv) try lowDimProblem->computePointSourceMap(); // the grid variables - using BulkGridVariables = typename GET_PROP_TYPE(BulkTypeTag, GridVariables); + using BulkGridVariables = GetPropType<BulkTypeTag, Properties::GridVariables>; auto bulkGridVariables = std::make_shared<BulkGridVariables>(bulkProblem, bulkFvGridGeometry); bulkGridVariables->init(sol[bulkIdx], oldSol[bulkIdx]); - using LowDimGridVariables = typename GET_PROP_TYPE(LowDimTypeTag, GridVariables); + using LowDimGridVariables = GetPropType<LowDimTypeTag, Properties::GridVariables>; auto lowDimGridVariables = std::make_shared<LowDimGridVariables>(lowDimProblem, lowDimFvGridGeometry); lowDimGridVariables->init(sol[lowDimIdx], oldSol[lowDimIdx]); // intialize the vtk output module using BulkSolutionVector = std::decay_t<decltype(sol[bulkIdx])>; VtkOutputModule<BulkGridVariables, BulkSolutionVector> bulkVtkWriter(*bulkGridVariables, sol[bulkIdx], bulkProblem->name()); - GET_PROP_TYPE(BulkTypeTag, IOFields)::initOutputModule(bulkVtkWriter); + GetPropType<BulkTypeTag, Properties::IOFields>::initOutputModule(bulkVtkWriter); bulkVtkWriter.write(0.0); using LowDimSolutionVector = std::decay_t<decltype(sol[lowDimIdx])>; VtkOutputModule<LowDimGridVariables, LowDimSolutionVector> lowDimVtkWriter(*lowDimGridVariables, sol[lowDimIdx], lowDimProblem->name()); - GET_PROP_TYPE(LowDimTypeTag, IOFields)::initOutputModule(lowDimVtkWriter); + GetPropType<LowDimTypeTag, Properties::IOFields>::initOutputModule(lowDimVtkWriter); lowDimVtkWriter.write(0.0); // the assembler with time loop for instationary problem diff --git a/test/multidomain/embedded/2d3d/1p_1p/problem_fracture.hh b/test/multidomain/embedded/2d3d/1p_1p/problem_fracture.hh index 0fab1d3f91..5ae0d1dd2f 100644 --- a/test/multidomain/embedded/2d3d/1p_1p/problem_fracture.hh +++ b/test/multidomain/embedded/2d3d/1p_1p/problem_fracture.hh @@ -66,7 +66,7 @@ SET_TYPE_PROP(Fracture, Problem, FractureProblem<TypeTag>); // the fluid system SET_PROP(Fracture, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Components::Constant<1, Scalar> >; }; @@ -74,8 +74,8 @@ SET_PROP(Fracture, FluidSystem) SET_TYPE_PROP(Fracture, LocalResidual, OnePIncompressibleLocalResidual<TypeTag>); // Set the spatial parameters -SET_TYPE_PROP(Fracture, SpatialParams, MatrixFractureSpatialParams<typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(Fracture, SpatialParams, MatrixFractureSpatialParams<GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::Scalar>>); } // end namespace Properties @@ -87,22 +87,22 @@ template <class TypeTag> class FractureProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PointSource = typename GET_PROP_TYPE(TypeTag, PointSource); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PointSource = GetPropType<TypeTag, Properties::PointSource>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using GridView = typename FVGridGeometry::GridView; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVGridGeometry::SubControlVolume; - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: FractureProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, diff --git a/test/multidomain/embedded/2d3d/1p_1p/problem_matrix.hh b/test/multidomain/embedded/2d3d/1p_1p/problem_matrix.hh index ab505964b6..6d65026270 100644 --- a/test/multidomain/embedded/2d3d/1p_1p/problem_matrix.hh +++ b/test/multidomain/embedded/2d3d/1p_1p/problem_matrix.hh @@ -56,7 +56,7 @@ struct Matrix { using InheritsFrom = std::tuple<OneP, CCTpfaModel>; }; } // end namespace TTag // Set the grid type -SET_TYPE_PROP(Matrix, Grid, Dune::YaspGrid<3, Dune::EquidistantOffsetCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 3> >); +SET_TYPE_PROP(Matrix, Grid, Dune::YaspGrid<3, Dune::EquidistantOffsetCoordinates<GetPropType<TypeTag, Properties::Scalar>, 3> >); SET_BOOL_PROP(Matrix, EnableFVGridGeometryCache, true); SET_BOOL_PROP(Matrix, EnableGridVolumeVariablesCache, true); @@ -74,13 +74,13 @@ SET_TYPE_PROP(Matrix, LocalResidual, OnePIncompressibleLocalResidual<TypeTag>); // the fluid system SET_PROP(Matrix, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Components::Constant<1, Scalar> >; }; // Set the spatial parameters -SET_TYPE_PROP(Matrix, SpatialParams, MatrixFractureSpatialParams<typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(Matrix, SpatialParams, MatrixFractureSpatialParams<GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::Scalar>>); } // end namespace Properties @@ -91,18 +91,18 @@ template <class TypeTag> class MatrixProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + 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 FVGridGeometry::SubControlVolume; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PointSource = typename GET_PROP_TYPE(TypeTag, PointSource); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PointSource = GetPropType<TypeTag, Properties::PointSource>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { // world dimension @@ -113,7 +113,7 @@ class MatrixProblem : public PorousMediumFlowProblem<TypeTag> using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = Dune::FieldVector<Scalar, dimWorld>; - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: MatrixProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, diff --git a/test/multidomain/facet/1p_1p/analytical/main.cc b/test/multidomain/facet/1p_1p/analytical/main.cc index 37700776e4..83d47a6a96 100644 --- a/test/multidomain/facet/1p_1p/analytical/main.cc +++ b/test/multidomain/facet/1p_1p/analytical/main.cc @@ -57,8 +57,8 @@ template< class BulkTypeTag, class LowDimTypeTag > class TestTraits { - using BulkFVGridGeometry = typename GET_PROP_TYPE(BulkTypeTag, FVGridGeometry); - using LowDimFVGridGeometry = typename GET_PROP_TYPE(LowDimTypeTag, FVGridGeometry); + using BulkFVGridGeometry = Dumux::GetPropType<BulkTypeTag, Dumux::Properties::FVGridGeometry>; + using LowDimFVGridGeometry = Dumux::GetPropType<LowDimTypeTag, Dumux::Properties::FVGridGeometry>; public: using MDTraits = Dumux::MultiDomainTraits<BulkTypeTag, LowDimTypeTag>; using CouplingMapper = Dumux::FacetCouplingMapper<BulkFVGridGeometry, LowDimFVGridGeometry>; @@ -200,8 +200,8 @@ int main(int argc, char** argv) try ////////////////////////////////////////////////////// using BulkProblemTypeTag = TTAG(BULKTYPETAG); using LowDimProblemTypeTag = TTAG(LOWDIMTYPETAG); - using BulkGrid = typename GET_PROP_TYPE(BulkProblemTypeTag, Grid); - using LowDimGrid = typename GET_PROP_TYPE(LowDimProblemTypeTag, Grid); + using BulkGrid = GetPropType<BulkProblemTypeTag, Properties::Grid>; + using LowDimGrid = GetPropType<LowDimProblemTypeTag, Properties::Grid>; using GridManager = FacetCouplingGridManager<BulkGrid, LowDimGrid>; GridManager gridManager; @@ -217,8 +217,8 @@ int main(int argc, char** argv) try const auto& lowDimGridView = gridManager.template grid<1>().leafGridView(); // create the finite volume grid geometries - using BulkFVGridGeometry = typename GET_PROP_TYPE(BulkProblemTypeTag, FVGridGeometry); - using LowDimFVGridGeometry = typename GET_PROP_TYPE(LowDimProblemTypeTag, FVGridGeometry); + using BulkFVGridGeometry = GetPropType<BulkProblemTypeTag, Properties::FVGridGeometry>; + using LowDimFVGridGeometry = GetPropType<LowDimProblemTypeTag, Properties::FVGridGeometry>; auto bulkFvGridGeometry = std::make_shared<BulkFVGridGeometry>(bulkGridView); auto lowDimFvGridGeometry = std::make_shared<LowDimFVGridGeometry>(lowDimGridView); updateBulkFVGridGeometry(*bulkFvGridGeometry, gridManager, lowDimGridView); @@ -230,8 +230,8 @@ int main(int argc, char** argv) try auto couplingManager = std::make_shared<CouplingManager>(); // the problems (boundary conditions) - using BulkProblem = typename GET_PROP_TYPE(BulkProblemTypeTag, Problem); - using LowDimProblem = typename GET_PROP_TYPE(LowDimProblemTypeTag, Problem); + using BulkProblem = GetPropType<BulkProblemTypeTag, Properties::Problem>; + using LowDimProblem = GetPropType<LowDimProblemTypeTag, Properties::Problem>; auto bulkSpatialParams = std::make_shared<typename BulkProblem::SpatialParams>(bulkFvGridGeometry, "Bulk"); auto bulkProblem = std::make_shared<BulkProblem>(bulkFvGridGeometry, bulkSpatialParams, couplingManager, "Bulk"); auto lowDimSpatialParams = std::make_shared<typename LowDimProblem::SpatialParams>(lowDimFvGridGeometry, "LowDim"); @@ -257,8 +257,8 @@ int main(int argc, char** argv) try couplingManager->init(bulkProblem, lowDimProblem, couplingMapper, x); // the grid variables - using BulkGridVariables = typename GET_PROP_TYPE(BulkProblemTypeTag, GridVariables); - using LowDimGridVariables = typename GET_PROP_TYPE(LowDimProblemTypeTag, GridVariables); + using BulkGridVariables = GetPropType<BulkProblemTypeTag, Properties::GridVariables>; + using LowDimGridVariables = GetPropType<LowDimProblemTypeTag, Properties::GridVariables>; auto bulkGridVariables = std::make_shared<BulkGridVariables>(bulkProblem, bulkFvGridGeometry); auto lowDimGridVariables = std::make_shared<LowDimGridVariables>(lowDimProblem, lowDimFvGridGeometry); bulkGridVariables->init(x[bulkId]); @@ -272,15 +272,15 @@ int main(int argc, char** argv) try VtkOutputModule<LowDimGridVariables, LowDimSolutionVector> lowDimVtkWriter(*lowDimGridVariables, x[lowDimId], lowDimProblem->name(), "LowDim"); // container for the output of the exact solutions - std::vector<typename GET_PROP_TYPE(BulkProblemTypeTag, Scalar)> bulkExact; - std::vector<typename GET_PROP_TYPE(LowDimProblemTypeTag, Scalar)> lowDimExact; + std::vector<GetPropType<BulkProblemTypeTag, Properties::Scalar>> bulkExact; + std::vector<GetPropType<LowDimProblemTypeTag, Properties::Scalar>> lowDimExact; // Add model specific output fields const bool writeVTK = getParam<bool>("Output.EnableVTK"); if (writeVTK) { - using BulkIOFields = typename GET_PROP_TYPE(BulkProblemTypeTag, IOFields); - using LowDimIOFields = typename GET_PROP_TYPE(LowDimProblemTypeTag, IOFields); + using BulkIOFields = GetPropType<BulkProblemTypeTag, Properties::IOFields>; + using LowDimIOFields = GetPropType<LowDimProblemTypeTag, Properties::IOFields>; BulkIOFields::initOutputModule(bulkVtkWriter); LowDimIOFields::initOutputModule(lowDimVtkWriter); diff --git a/test/multidomain/facet/1p_1p/analytical/problem_bulk.hh b/test/multidomain/facet/1p_1p/analytical/problem_bulk.hh index dca3ae83ca..d3551584b0 100644 --- a/test/multidomain/facet/1p_1p/analytical/problem_bulk.hh +++ b/test/multidomain/facet/1p_1p/analytical/problem_bulk.hh @@ -56,14 +56,14 @@ SET_TYPE_PROP(OnePBulk, Grid, Dune::ALUGrid<2, 2, Dune::cube, Dune::nonconformin // Set the problem type SET_TYPE_PROP(OnePBulk, Problem, OnePBulkProblem<TypeTag>); // set the spatial params -SET_TYPE_PROP(OnePBulk, SpatialParams, OnePSpatialParams< typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, Scalar) >); +SET_TYPE_PROP(OnePBulk, SpatialParams, OnePSpatialParams< GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::Scalar> >); // the fluid system SET_PROP(OnePBulk, FluidSystem) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = FluidSystems::OnePLiquid< Scalar, Components::Constant<1, Scalar> >; }; @@ -79,7 +79,7 @@ class OnePBulkProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using PrimaryVariables = typename GridVariables::PrimaryVariables; using Scalar = typename GridVariables::Scalar; @@ -91,9 +91,9 @@ class OnePBulkProblem : public PorousMediumFlowProblem<TypeTag> using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; public: OnePBulkProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, diff --git a/test/multidomain/facet/1p_1p/analytical/problem_lowdim.hh b/test/multidomain/facet/1p_1p/analytical/problem_lowdim.hh index dc43d849eb..93b62211a1 100644 --- a/test/multidomain/facet/1p_1p/analytical/problem_lowdim.hh +++ b/test/multidomain/facet/1p_1p/analytical/problem_lowdim.hh @@ -56,14 +56,14 @@ SET_TYPE_PROP(OnePLowDim, Grid, Dune::FoamGrid<1, 2>); // Set the problem type SET_TYPE_PROP(OnePLowDim, Problem, OnePLowDimProblem<TypeTag>); // set the spatial params -SET_TYPE_PROP(OnePLowDim, SpatialParams, OnePSpatialParams< typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, Scalar) >); +SET_TYPE_PROP(OnePLowDim, SpatialParams, OnePSpatialParams< GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::Scalar> >); // the fluid system SET_PROP(OnePLowDim, FluidSystem) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = FluidSystems::OnePLiquid< Scalar, Components::Constant<1, Scalar> >; }; @@ -79,7 +79,7 @@ class OnePLowDimProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using ElementVolumeVariables = typename GridVariables::GridVolumeVariables::LocalView; using PrimaryVariables = typename GridVariables::PrimaryVariables; using Scalar = typename GridVariables::Scalar; @@ -91,9 +91,9 @@ class OnePLowDimProblem : public PorousMediumFlowProblem<TypeTag> using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; public: OnePLowDimProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, diff --git a/test/multidomain/facet/1p_1p/threedomain/main.cc b/test/multidomain/facet/1p_1p/threedomain/main.cc index c15870ea83..94b18e285c 100644 --- a/test/multidomain/facet/1p_1p/threedomain/main.cc +++ b/test/multidomain/facet/1p_1p/threedomain/main.cc @@ -52,9 +52,9 @@ // obtain/define some types to be used below in the property definitions and in main class TestTraits { - using BulkFVG = typename GET_PROP_TYPE(TTAG(OnePBulkTpfa), FVGridGeometry); - using FacetFVG = typename GET_PROP_TYPE(TTAG(OnePFacetTpfa), FVGridGeometry); - using EdgeFVG = typename GET_PROP_TYPE(TTAG(OnePEdgeTpfa), FVGridGeometry); + using BulkFVG = Dumux::GetPropType<TTAG(OnePBulkTpfa), Dumux::Properties::FVGridGeometry>; + using FacetFVG = Dumux::GetPropType<TTAG(OnePFacetTpfa), Dumux::Properties::FVGridGeometry>; + using EdgeFVG = Dumux::GetPropType<TTAG(OnePEdgeTpfa), Dumux::Properties::FVGridGeometry>; public: using MDTraits = Dumux::MultiDomainTraits<TTAG(OnePBulkTpfa), TTAG(OnePFacetTpfa), TTAG(OnePEdgeTpfa)>; using CouplingMapper = Dumux::FacetCouplingThreeDomainMapper<BulkFVG, FacetFVG, EdgeFVG>; @@ -93,9 +93,9 @@ int main(int argc, char** argv) try using BulkProblemTypeTag = TTAG(OnePBulkTpfa); using FacetProblemTypeTag = TTAG(OnePFacetTpfa); using EdgeProblemTypeTag = TTAG(OnePEdgeTpfa); - using BulkGrid = typename GET_PROP_TYPE(BulkProblemTypeTag, Grid); - using FacetGrid = typename GET_PROP_TYPE(FacetProblemTypeTag, Grid); - using EdgeGrid = typename GET_PROP_TYPE(EdgeProblemTypeTag, Grid); + using BulkGrid = GetPropType<BulkProblemTypeTag, Properties::Grid>; + using FacetGrid = GetPropType<FacetProblemTypeTag, Properties::Grid>; + using EdgeGrid = GetPropType<EdgeProblemTypeTag, Properties::Grid>; using GridManager = FacetCouplingGridManager<BulkGrid, FacetGrid, EdgeGrid>; GridManager gridManager; @@ -112,9 +112,9 @@ int main(int argc, char** argv) try const auto& edgeGridView = gridManager.template grid<2>().leafGridView(); // create the finite volume grid geometries - using BulkFVGridGeometry = typename GET_PROP_TYPE(BulkProblemTypeTag, FVGridGeometry); - using FacetFVGridGeometry = typename GET_PROP_TYPE(FacetProblemTypeTag, FVGridGeometry); - using EdgeFVGridGeometry = typename GET_PROP_TYPE(EdgeProblemTypeTag, FVGridGeometry); + using BulkFVGridGeometry = GetPropType<BulkProblemTypeTag, Properties::FVGridGeometry>; + using FacetFVGridGeometry = GetPropType<FacetProblemTypeTag, Properties::FVGridGeometry>; + using EdgeFVGridGeometry = GetPropType<EdgeProblemTypeTag, Properties::FVGridGeometry>; auto bulkFvGridGeometry = std::make_shared<BulkFVGridGeometry>(bulkGridView); auto facetFvGridGeometry = std::make_shared<FacetFVGridGeometry>(facetGridView); auto edgeFvGridGeometry = std::make_shared<EdgeFVGridGeometry>(edgeGridView); @@ -127,9 +127,9 @@ int main(int argc, char** argv) try auto couplingManager = std::make_shared<CouplingManager>(); // the problems (boundary conditions) - using BulkProblem = typename GET_PROP_TYPE(BulkProblemTypeTag, Problem); - using FacetProblem = typename GET_PROP_TYPE(FacetProblemTypeTag, Problem); - using EdgeProblem = typename GET_PROP_TYPE(EdgeProblemTypeTag, Problem); + using BulkProblem = GetPropType<BulkProblemTypeTag, Properties::Problem>; + using FacetProblem = GetPropType<FacetProblemTypeTag, Properties::Problem>; + using EdgeProblem = GetPropType<EdgeProblemTypeTag, Properties::Problem>; auto bulkSpatialParams = std::make_shared<typename BulkProblem::SpatialParams>(bulkFvGridGeometry, "Bulk"); auto bulkProblem = std::make_shared<BulkProblem>(bulkFvGridGeometry, bulkSpatialParams, couplingManager, "Bulk"); auto facetSpatialParams = std::make_shared<typename FacetProblem::SpatialParams>(facetFvGridGeometry, "Facet"); @@ -161,9 +161,9 @@ int main(int argc, char** argv) try couplingManager->init(bulkProblem, facetProblem, edgeProblem, couplingMapper, x); // the grid variables - using BulkGridVariables = typename GET_PROP_TYPE(BulkProblemTypeTag, GridVariables); - using FacetGridVariables = typename GET_PROP_TYPE(FacetProblemTypeTag, GridVariables); - using EdgeGridVariables = typename GET_PROP_TYPE(EdgeProblemTypeTag, GridVariables); + using BulkGridVariables = GetPropType<BulkProblemTypeTag, Properties::GridVariables>; + using FacetGridVariables = GetPropType<FacetProblemTypeTag, Properties::GridVariables>; + using EdgeGridVariables = GetPropType<EdgeProblemTypeTag, Properties::GridVariables>; auto bulkGridVariables = std::make_shared<BulkGridVariables>(bulkProblem, bulkFvGridGeometry); auto facetGridVariables = std::make_shared<FacetGridVariables>(facetProblem, facetFvGridGeometry); auto edgeGridVariables = std::make_shared<EdgeGridVariables>(edgeProblem, edgeFvGridGeometry); @@ -182,9 +182,9 @@ int main(int argc, char** argv) try VtkOutputModule<EdgeGridVariables, EdgeSolutionVector> edgeVtkWriter(*edgeGridVariables, x[edgeId], edgeProblem->name()); // Add model specific output fields - using BulkIOFields = typename GET_PROP_TYPE(BulkProblemTypeTag, IOFields); - using FacetIOFields = typename GET_PROP_TYPE(FacetProblemTypeTag, IOFields); - using EdgeIOFields = typename GET_PROP_TYPE(EdgeProblemTypeTag, IOFields); + using BulkIOFields = GetPropType<BulkProblemTypeTag, Properties::IOFields>; + using FacetIOFields = GetPropType<FacetProblemTypeTag, Properties::IOFields>; + using EdgeIOFields = GetPropType<EdgeProblemTypeTag, Properties::IOFields>; BulkIOFields::initOutputModule(bulkVtkWriter); FacetIOFields::initOutputModule(facetVtkWriter); EdgeIOFields::initOutputModule(edgeVtkWriter); diff --git a/test/multidomain/facet/1p_1p/threedomain/problem_bulk.hh b/test/multidomain/facet/1p_1p/threedomain/problem_bulk.hh index f6a285f751..f16b090ed4 100644 --- a/test/multidomain/facet/1p_1p/threedomain/problem_bulk.hh +++ b/test/multidomain/facet/1p_1p/threedomain/problem_bulk.hh @@ -55,8 +55,8 @@ SET_TYPE_PROP(OnePBulk, Problem, OnePBulkProblem<TypeTag>); // set the spatial params SET_PROP(OnePBulk, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = OnePSpatialParams<FVGridGeometry, Scalar>; }; @@ -64,7 +64,7 @@ SET_PROP(OnePBulk, SpatialParams) SET_PROP(OnePBulk, FluidSystem) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = FluidSystems::OnePLiquid< Scalar, Components::Constant<1, Scalar> >; }; @@ -81,8 +81,8 @@ class OnePBulkProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using PrimaryVariables = typename GridVariables::PrimaryVariables; using Scalar = typename GridVariables::Scalar; @@ -92,8 +92,8 @@ class OnePBulkProblem : public PorousMediumFlowProblem<TypeTag> using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: //! The constructor diff --git a/test/multidomain/facet/1p_1p/threedomain/problem_edge.hh b/test/multidomain/facet/1p_1p/threedomain/problem_edge.hh index 14a11953d1..d20bcbe731 100644 --- a/test/multidomain/facet/1p_1p/threedomain/problem_edge.hh +++ b/test/multidomain/facet/1p_1p/threedomain/problem_edge.hh @@ -57,8 +57,8 @@ SET_TYPE_PROP(OnePEdge, Problem, OnePEdgeProblem<TypeTag>); // set the spatial params SET_PROP(OnePEdge, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = OnePSpatialParams<FVGridGeometry, Scalar>; }; @@ -66,7 +66,7 @@ SET_PROP(OnePEdge, SpatialParams) SET_PROP(OnePEdge, FluidSystem) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = FluidSystems::OnePLiquid< Scalar, Components::Constant<1, Scalar> >; }; @@ -82,8 +82,8 @@ class OnePEdgeProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using ElementVolumeVariables = typename GridVariables::GridVolumeVariables::LocalView; using PrimaryVariables = typename GridVariables::PrimaryVariables; using Scalar = typename GridVariables::Scalar; @@ -96,8 +96,8 @@ class OnePEdgeProblem : public PorousMediumFlowProblem<TypeTag> using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: //! The constructor diff --git a/test/multidomain/facet/1p_1p/threedomain/problem_facet.hh b/test/multidomain/facet/1p_1p/threedomain/problem_facet.hh index 9087cf6fbd..d46e594c27 100644 --- a/test/multidomain/facet/1p_1p/threedomain/problem_facet.hh +++ b/test/multidomain/facet/1p_1p/threedomain/problem_facet.hh @@ -56,8 +56,8 @@ SET_TYPE_PROP(OnePFacet, Problem, OnePFacetProblem<TypeTag>); // set the spatial params SET_PROP(OnePFacet, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = OnePSpatialParams<FVGridGeometry, Scalar>; }; @@ -65,7 +65,7 @@ SET_PROP(OnePFacet, SpatialParams) SET_PROP(OnePFacet, FluidSystem) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = FluidSystems::OnePLiquid< Scalar, Components::Constant<1, Scalar> >; }; @@ -82,8 +82,8 @@ class OnePFacetProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using ElementVolumeVariables = typename GridVariables::GridVolumeVariables::LocalView; using PrimaryVariables = typename GridVariables::PrimaryVariables; using Scalar = typename GridVariables::Scalar; @@ -96,8 +96,8 @@ class OnePFacetProblem : public PorousMediumFlowProblem<TypeTag> using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; public: //! The constructor diff --git a/test/multidomain/poromechanics/el1p/main.cc b/test/multidomain/poromechanics/el1p/main.cc index fcaef59db5..56488203fe 100644 --- a/test/multidomain/poromechanics/el1p/main.cc +++ b/test/multidomain/poromechanics/el1p/main.cc @@ -49,20 +49,22 @@ namespace Dumux { namespace Properties { -SET_PROP(OnePSub, CouplingManager) +template<class TypeTag> +struct CouplingManager<TypeTag, TTag::OnePSub> { private: // define traits etc. as below in main - using Traits = MultiDomainTraits<TTAG(OnePSub), TTAG(PoroElasticSub)>; + using Traits = MultiDomainTraits<TTag::OnePSub, TTag::PoroElasticSub>; public: using type = PoroMechanicsCouplingManager< Traits >; }; -SET_PROP(PoroElasticSub, CouplingManager) +template<class TypeTag> +struct CouplingManager<TypeTag, TTag::PoroElasticSub> { private: // define traits etc. as below in main - using Traits = MultiDomainTraits<TTAG(OnePSub), TTAG(PoroElasticSub)>; + using Traits = MultiDomainTraits<TTag::OnePSub, TTag::PoroElasticSub>; public: using type = PoroMechanicsCouplingManager< Traits >; }; @@ -93,7 +95,7 @@ int main(int argc, char** argv) try using PoroMechTypeTag = TTAG(PoroElasticSub); // we simply extract the grid creator from one of the type tags - using GridManager = Dumux::GridManager<typename GET_PROP_TYPE(OnePTypeTag, Grid)>; + using GridManager = Dumux::GridManager<GetPropType<OnePTypeTag, Properties::Grid>>; GridManager gridManager; gridManager.init(); @@ -105,8 +107,8 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometries - using OnePFVGridGeometry = typename GET_PROP_TYPE(OnePTypeTag, FVGridGeometry); - using PoroMechFVGridGeometry = typename GET_PROP_TYPE(PoroMechTypeTag, FVGridGeometry); + using OnePFVGridGeometry = GetPropType<OnePTypeTag, Properties::FVGridGeometry>; + using PoroMechFVGridGeometry = GetPropType<PoroMechTypeTag, Properties::FVGridGeometry>; auto onePFvGridGeometry = std::make_shared<OnePFVGridGeometry>(leafGridView); auto poroMechFvGridGeometry = std::make_shared<PoroMechFVGridGeometry>(leafGridView); onePFvGridGeometry->update(); @@ -118,8 +120,8 @@ int main(int argc, char** argv) try auto couplingManager = std::make_shared<CouplingManager>(); // the problems (boundary conditions) - using OnePProblem = typename GET_PROP_TYPE(OnePTypeTag, Problem); - using PoroMechProblem = typename GET_PROP_TYPE(PoroMechTypeTag, Problem); + using OnePProblem = GetPropType<OnePTypeTag, Properties::Problem>; + using PoroMechProblem = GetPropType<PoroMechTypeTag, Properties::Problem>; auto onePSpatialParams = std::make_shared<typename OnePProblem::SpatialParams>(onePFvGridGeometry, couplingManager); auto onePProblem = std::make_shared<OnePProblem>(onePFvGridGeometry, onePSpatialParams, "OneP"); auto poroMechProblem = std::make_shared<PoroMechProblem>(poroMechFvGridGeometry, couplingManager, "PoroElastic"); @@ -140,22 +142,22 @@ int main(int argc, char** argv) try couplingManager->init(onePProblem, poroMechProblem, x); // the grid variables - using OnePGridVariables = typename GET_PROP_TYPE(OnePTypeTag, GridVariables); - using PoroMechGridVariables = typename GET_PROP_TYPE(PoroMechTypeTag, GridVariables); + using OnePGridVariables = GetPropType<OnePTypeTag, Properties::GridVariables>; + using PoroMechGridVariables = GetPropType<PoroMechTypeTag, Properties::GridVariables>; auto onePGridVariables = std::make_shared<OnePGridVariables>(onePProblem, onePFvGridGeometry); auto poroMechGridVariables = std::make_shared<PoroMechGridVariables>(poroMechProblem, poroMechFvGridGeometry); onePGridVariables->init(x[onePId]); poroMechGridVariables->init(x[poroMechId]); // intialize the vtk output module - using OnePVtkOutputModule = Dumux::VtkOutputModule<OnePGridVariables, typename GET_PROP_TYPE(OnePTypeTag, SolutionVector)>; - using PoroMechVtkOutputModule = Dumux::VtkOutputModule<PoroMechGridVariables, typename GET_PROP_TYPE(PoroMechTypeTag, SolutionVector)>; + using OnePVtkOutputModule = Dumux::VtkOutputModule<OnePGridVariables, GetPropType<OnePTypeTag, Properties::SolutionVector>>; + using PoroMechVtkOutputModule = Dumux::VtkOutputModule<PoroMechGridVariables, GetPropType<PoroMechTypeTag, Properties::SolutionVector>>; OnePVtkOutputModule onePVtkWriter(*onePGridVariables, x[onePId], onePProblem->name()); PoroMechVtkOutputModule poroMechVtkWriter(*poroMechGridVariables, x[poroMechId], poroMechProblem->name()); // add output fields to writers - using OnePOutputFields = typename GET_PROP_TYPE(OnePTypeTag, IOFields); - using PoroMechOutputFields = typename GET_PROP_TYPE(PoroMechTypeTag, IOFields); + using OnePOutputFields = GetPropType<OnePTypeTag, Properties::IOFields>; + using PoroMechOutputFields = GetPropType<PoroMechTypeTag, Properties::IOFields>; OnePOutputFields::initOutputModule(onePVtkWriter); PoroMechOutputFields::initOutputModule(poroMechVtkWriter); diff --git a/test/multidomain/poromechanics/el1p/problem_1p.hh b/test/multidomain/poromechanics/el1p/problem_1p.hh index db866106cd..29b56d68fd 100644 --- a/test/multidomain/poromechanics/el1p/problem_1p.hh +++ b/test/multidomain/poromechanics/el1p/problem_1p.hh @@ -54,8 +54,8 @@ struct OnePSub { using InheritsFrom = std::tuple<OneP, CCTpfaModel>; }; // The fluid phase consists of one constant component SET_TYPE_PROP(OnePSub, FluidSystem, - Dumux::FluidSystems::OnePLiquid< typename GET_PROP_TYPE(TypeTag, Scalar), - Dumux::Components::Constant<0, typename GET_PROP_TYPE(TypeTag, Scalar)> >); + Dumux::FluidSystems::OnePLiquid< GetPropType<TypeTag, Properties::Scalar>, + Dumux::Components::Constant<0, GetPropType<TypeTag, Properties::Scalar>> >); // Set the grid type SET_TYPE_PROP(OnePSub, Grid, Dune::YaspGrid<2>); @@ -64,9 +64,9 @@ SET_TYPE_PROP(OnePSub, Problem, OnePSubProblem<TypeTag> ); // Set the spatial parameters SET_PROP(OnePSub, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; using type = OnePSpatialParams<FVGridGeometry, Scalar, CouplingManager>; }; } // end namespace Properties @@ -83,22 +83,22 @@ class OnePSubProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; // copy pressure index for convenience - enum { pressureIdx = GET_PROP_TYPE(TypeTag, ModelTraits)::Indices::pressureIdx }; + enum { pressureIdx = GetPropType<TypeTag, Properties::ModelTraits>::Indices::pressureIdx }; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; public: OnePSubProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, - std::shared_ptr<typename GET_PROP_TYPE(TypeTag, SpatialParams)> spatialParams, + std::shared_ptr<GetPropType<TypeTag, Properties::SpatialParams>> spatialParams, const std::string& paramGroup = "OneP") : ParentType(fvGridGeometry, spatialParams, paramGroup) { diff --git a/test/multidomain/poromechanics/el1p/problem_poroelastic.hh b/test/multidomain/poromechanics/el1p/problem_poroelastic.hh index 2edbaeb5c5..e62b8498f0 100644 --- a/test/multidomain/poromechanics/el1p/problem_poroelastic.hh +++ b/test/multidomain/poromechanics/el1p/problem_poroelastic.hh @@ -56,11 +56,11 @@ SET_TYPE_PROP(PoroElasticSub, Problem, Dumux::PoroElasticSubProblem<TypeTag>); // The fluid phase consists of one constant component SET_TYPE_PROP(PoroElasticSub, FluidSystem, - Dumux::FluidSystems::OnePLiquid< typename GET_PROP_TYPE(TypeTag, Scalar), - Dumux::Components::Constant<0, typename GET_PROP_TYPE(TypeTag, Scalar)> >); + Dumux::FluidSystems::OnePLiquid< GetPropType<TypeTag, Properties::Scalar>, + Dumux::Components::Constant<0, GetPropType<TypeTag, Properties::Scalar>> >); // The spatial parameters property -SET_TYPE_PROP(PoroElasticSub, SpatialParams, PoroElasticSpatialParams< typename GET_PROP_TYPE(TypeTag, Scalar), - typename GET_PROP_TYPE(TypeTag, FVGridGeometry) >); +SET_TYPE_PROP(PoroElasticSub, SpatialParams, PoroElasticSpatialParams< GetPropType<TypeTag, Properties::Scalar>, + GetPropType<TypeTag, Properties::FVGridGeometry> >); } // end namespace Properties @@ -76,18 +76,18 @@ class PoroElasticSubProblem : public GeomechanicsFVProblem<TypeTag> { using ParentType = GeomechanicsFVProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVGridGeometry::SubControlVolume; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; diff --git a/test/multidomain/poromechanics/el2p/main.cc b/test/multidomain/poromechanics/el2p/main.cc index 7faac67223..99857126ea 100644 --- a/test/multidomain/poromechanics/el2p/main.cc +++ b/test/multidomain/poromechanics/el2p/main.cc @@ -95,7 +95,7 @@ int main(int argc, char** argv) try using PoroMechTypeTag = TTAG(PoroElasticSub); // we simply extract the grid creator from one of the type tags - using GridManager = Dumux::GridManager<typename GET_PROP_TYPE(TwoPTypeTag, Grid)>; + using GridManager = Dumux::GridManager<GetPropType<TwoPTypeTag, Properties::Grid>>; GridManager gridManager; gridManager.init(); @@ -107,8 +107,8 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometries - using TwoPFVGridGeometry = typename GET_PROP_TYPE(TwoPTypeTag, FVGridGeometry); - using PoroMechFVGridGeometry = typename GET_PROP_TYPE(PoroMechTypeTag, FVGridGeometry); + using TwoPFVGridGeometry = GetPropType<TwoPTypeTag, Properties::FVGridGeometry>; + using PoroMechFVGridGeometry = GetPropType<PoroMechTypeTag, Properties::FVGridGeometry>; auto twoPFvGridGeometry = std::make_shared<TwoPFVGridGeometry>(leafGridView); auto poroMechFvGridGeometry = std::make_shared<PoroMechFVGridGeometry>(leafGridView); twoPFvGridGeometry->update(); @@ -120,8 +120,8 @@ int main(int argc, char** argv) try auto couplingManager = std::make_shared<CouplingManager>(); // the problems (boundary conditions) - using TwoPProblem = typename GET_PROP_TYPE(TwoPTypeTag, Problem); - using PoroMechProblem = typename GET_PROP_TYPE(PoroMechTypeTag, Problem); + using TwoPProblem = GetPropType<TwoPTypeTag, Properties::Problem>; + using PoroMechProblem = GetPropType<PoroMechTypeTag, Properties::Problem>; auto twoPSpatialParams = std::make_shared<typename TwoPProblem::SpatialParams>(twoPFvGridGeometry, couplingManager); auto twoPProblem = std::make_shared<TwoPProblem>(twoPFvGridGeometry, twoPSpatialParams, "TwoP"); auto poroMechProblem = std::make_shared<PoroMechProblem>(poroMechFvGridGeometry, couplingManager, "PoroElastic"); @@ -142,28 +142,28 @@ int main(int argc, char** argv) try couplingManager->init(twoPProblem, poroMechProblem, x); // the grid variables - using TwoPGridVariables = typename GET_PROP_TYPE(TwoPTypeTag, GridVariables); - using PoroMechGridVariables = typename GET_PROP_TYPE(PoroMechTypeTag, GridVariables); + using TwoPGridVariables = GetPropType<TwoPTypeTag, Properties::GridVariables>; + using PoroMechGridVariables = GetPropType<PoroMechTypeTag, Properties::GridVariables>; auto twoPGridVariables = std::make_shared<TwoPGridVariables>(twoPProblem, twoPFvGridGeometry); auto poroMechGridVariables = std::make_shared<PoroMechGridVariables>(poroMechProblem, poroMechFvGridGeometry); twoPGridVariables->init(x[twoPId]); poroMechGridVariables->init(x[poroMechId]); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TwoPTypeTag, Scalar); + using Scalar = GetPropType<TwoPTypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDT = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using TwoPVtkOutputModule = Dumux::VtkOutputModule<TwoPGridVariables, typename GET_PROP_TYPE(TwoPTypeTag, SolutionVector)>; - using PoroMechVtkOutputModule = Dumux::VtkOutputModule<PoroMechGridVariables, typename GET_PROP_TYPE(PoroMechTypeTag, SolutionVector)>; + using TwoPVtkOutputModule = Dumux::VtkOutputModule<TwoPGridVariables, GetPropType<TwoPTypeTag, Properties::SolutionVector>>; + using PoroMechVtkOutputModule = Dumux::VtkOutputModule<PoroMechGridVariables, GetPropType<PoroMechTypeTag, Properties::SolutionVector>>; TwoPVtkOutputModule twoPVtkWriter(*twoPGridVariables, x[twoPId], twoPProblem->name()); PoroMechVtkOutputModule poroMechVtkWriter(*poroMechGridVariables, x[poroMechId], poroMechProblem->name()); // add output fields to writers - using TwoPOutputFields = typename GET_PROP_TYPE(TwoPTypeTag, IOFields); - using PoroMechOutputFields = typename GET_PROP_TYPE(PoroMechTypeTag, IOFields); + using TwoPOutputFields = GetPropType<TwoPTypeTag, Properties::IOFields>; + using PoroMechOutputFields = GetPropType<PoroMechTypeTag, Properties::IOFields>; TwoPOutputFields::initOutputModule(twoPVtkWriter); PoroMechOutputFields::initOutputModule(poroMechVtkWriter); @@ -212,7 +212,7 @@ int main(int argc, char** argv) try // report statistics of this time step timeLoop->reportTimeStep(); - using TwoPPrimaryVariables = typename GET_PROP_TYPE(TwoPTypeTag, PrimaryVariables); + using TwoPPrimaryVariables = GetPropType<TwoPTypeTag, Properties::PrimaryVariables>; TwoPPrimaryVariables storage(0); const auto& twoPLocalResidual = assembler->localResidual(twoPId); for (const auto& element : elements(leafGridView, Dune::Partitions::interior)) diff --git a/test/multidomain/poromechanics/el2p/problem_2p.hh b/test/multidomain/poromechanics/el2p/problem_2p.hh index 3372ad8477..ac31b7f9bc 100644 --- a/test/multidomain/poromechanics/el2p/problem_2p.hh +++ b/test/multidomain/poromechanics/el2p/problem_2p.hh @@ -54,7 +54,7 @@ struct TwoPSub { using InheritsFrom = std::tuple<TwoP, CCTpfaModel>; }; // Set the fluid system for TwoPSubProblem SET_PROP(TwoPSub, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::BrineCO2<Scalar, El2P::CO2Tables>; }; @@ -65,9 +65,9 @@ SET_TYPE_PROP(TwoPSub, Problem, TwoPSubProblem<TypeTag> ); // Set the spatial parameters SET_PROP(TwoPSub, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; using type = TwoPSpatialParams<FVGridGeometry, Scalar, CouplingManager>; }; } // end namespace Properties @@ -84,29 +84,29 @@ class TwoPSubProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; // copy pressure index for convenience enum { - pressureIdx = GET_PROP_TYPE(TypeTag, ModelTraits)::Indices::pressureIdx, - saturationNIdx = GET_PROP_TYPE(TypeTag, ModelTraits)::Indices::saturationIdx, + pressureIdx = GetPropType<TypeTag, Properties::ModelTraits>::Indices::pressureIdx, + saturationNIdx = GetPropType<TypeTag, Properties::ModelTraits>::Indices::saturationIdx, waterPhaseIdx = FluidSystem::phase0Idx, gasPhaseIdx = FluidSystem::phase1Idx, dimWorld = GridView::dimensionworld }; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; public: TwoPSubProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, - std::shared_ptr<typename GET_PROP_TYPE(TypeTag, SpatialParams)> spatialParams, + std::shared_ptr<GetPropType<TypeTag, Properties::SpatialParams>> spatialParams, const std::string& paramGroup = "TwoP") : ParentType(fvGridGeometry, spatialParams, paramGroup) { diff --git a/test/multidomain/poromechanics/el2p/problem_poroelastic.hh b/test/multidomain/poromechanics/el2p/problem_poroelastic.hh index 05cf221710..ffbaee0648 100644 --- a/test/multidomain/poromechanics/el2p/problem_poroelastic.hh +++ b/test/multidomain/poromechanics/el2p/problem_poroelastic.hh @@ -57,13 +57,13 @@ SET_TYPE_PROP(PoroElasticSub, Problem, Dumux::PoroElasticSubProblem<TypeTag>); // Set the fluid system for TwoPSubProblem SET_PROP(PoroElasticSub, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::BrineCO2<Scalar, El2P::CO2Tables>; }; // The spatial parameters property -SET_TYPE_PROP(PoroElasticSub, SpatialParams, PoroElasticSpatialParams< typename GET_PROP_TYPE(TypeTag, Scalar), - typename GET_PROP_TYPE(TypeTag, FVGridGeometry) >); +SET_TYPE_PROP(PoroElasticSub, SpatialParams, PoroElasticSpatialParams< GetPropType<TypeTag, Properties::Scalar>, + GetPropType<TypeTag, Properties::FVGridGeometry> >); } // end namespace Properties @@ -79,19 +79,19 @@ class PoroElasticSubProblem : public GeomechanicsFVProblem<TypeTag> { using ParentType = GeomechanicsFVProblem<TypeTag>; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using CouplingManager = typename GET_PROP_TYPE(TypeTag, CouplingManager); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVGridGeometry::SubControlVolume; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; diff --git a/test/porousmediumflow/1p/implicit/compressible/instationary/main.cc b/test/porousmediumflow/1p/implicit/compressible/instationary/main.cc index 6fe1de6b04..73b1de919c 100644 --- a/test/porousmediumflow/1p/implicit/compressible/instationary/main.cc +++ b/test/porousmediumflow/1p/implicit/compressible/instationary/main.cc @@ -73,7 +73,7 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) ///////////////////////////////////////////////////////////////////// - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -84,36 +84,36 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); // intialize the vtk output module VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/1p/implicit/compressible/instationary/problem.hh b/test/porousmediumflow/1p/implicit/compressible/instationary/problem.hh index 77ad650130..0d980d1bbb 100644 --- a/test/porousmediumflow/1p/implicit/compressible/instationary/problem.hh +++ b/test/porousmediumflow/1p/implicit/compressible/instationary/problem.hh @@ -64,8 +64,8 @@ SET_TYPE_PROP(OnePCompressible, Problem, OnePTestProblem<TypeTag>); // set the spatial params SET_PROP(OnePCompressible, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = OnePTestSpatialParams<FVGridGeometry, Scalar>; }; @@ -73,7 +73,7 @@ SET_PROP(OnePCompressible, SpatialParams) SET_PROP(OnePCompressible, FluidSystem) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = FluidSystems::OnePLiquid<Scalar, Components::TabulatedComponent<Components::H2O<Scalar>>>; }; @@ -95,12 +95,12 @@ template<class TypeTag> class OnePTestProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; static constexpr int dimWorld = GridView::dimensionworld; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; diff --git a/test/porousmediumflow/1p/implicit/compressible/stationary/main.cc b/test/porousmediumflow/1p/implicit/compressible/stationary/main.cc index 832cadca5e..bdf799ee16 100644 --- a/test/porousmediumflow/1p/implicit/compressible/stationary/main.cc +++ b/test/porousmediumflow/1p/implicit/compressible/stationary/main.cc @@ -71,7 +71,7 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) ///////////////////////////////////////////////////////////////////// - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -82,27 +82,27 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/1p/implicit/compressible/stationary/problem.hh b/test/porousmediumflow/1p/implicit/compressible/stationary/problem.hh index 77ad650130..0d980d1bbb 100644 --- a/test/porousmediumflow/1p/implicit/compressible/stationary/problem.hh +++ b/test/porousmediumflow/1p/implicit/compressible/stationary/problem.hh @@ -64,8 +64,8 @@ SET_TYPE_PROP(OnePCompressible, Problem, OnePTestProblem<TypeTag>); // set the spatial params SET_PROP(OnePCompressible, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = OnePTestSpatialParams<FVGridGeometry, Scalar>; }; @@ -73,7 +73,7 @@ SET_PROP(OnePCompressible, SpatialParams) SET_PROP(OnePCompressible, FluidSystem) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = FluidSystems::OnePLiquid<Scalar, Components::TabulatedComponent<Components::H2O<Scalar>>>; }; @@ -95,12 +95,12 @@ template<class TypeTag> class OnePTestProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; static constexpr int dimWorld = GridView::dimensionworld; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; diff --git a/test/porousmediumflow/1p/implicit/fracture2d3d/main.cc b/test/porousmediumflow/1p/implicit/fracture2d3d/main.cc index d03b4fc751..1e4ad33081 100644 --- a/test/porousmediumflow/1p/implicit/fracture2d3d/main.cc +++ b/test/porousmediumflow/1p/implicit/fracture2d3d/main.cc @@ -94,7 +94,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -105,35 +105,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/1p/implicit/fracture2d3d/problem.hh b/test/porousmediumflow/1p/implicit/fracture2d3d/problem.hh index 1726648adc..77e2edd482 100644 --- a/test/porousmediumflow/1p/implicit/fracture2d3d/problem.hh +++ b/test/porousmediumflow/1p/implicit/fracture2d3d/problem.hh @@ -70,14 +70,14 @@ SET_TYPE_PROP(Fracture, Problem, Dumux::FractureProblem<TypeTag>); // the fluid system SET_PROP(Fracture, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Components::SimpleH2O<Scalar> >; }; // Set the spatial parameters SET_PROP(Fracture, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FractureSpatialParams<FVGridGeometry, Scalar>; }; @@ -94,8 +94,8 @@ template <class TypeTag> class FractureProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { dimWorld = GridView::dimensionworld }; @@ -104,12 +104,12 @@ class FractureProblem : public PorousMediumFlowProblem<TypeTag> pressureIdx = Indices::pressureIdx }; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; public: /*! diff --git a/test/porousmediumflow/1p/implicit/incompressible/main.cc b/test/porousmediumflow/1p/implicit/incompressible/main.cc index 2d9c502979..13be7dd0e5 100644 --- a/test/porousmediumflow/1p/implicit/incompressible/main.cc +++ b/test/porousmediumflow/1p/implicit/incompressible/main.cc @@ -73,42 +73,42 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) ///////////////////////////////////////////////////////////////////// - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); // we compute on the leaf grid view const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x); // intialize the vtk output module VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); // make assemble and attach linear system using Assembler = FVAssembler<TypeTag, NUMDIFFMETHOD>; auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables); - using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); + using JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix>; auto A = std::make_shared<JacobianMatrix>(); auto r = std::make_shared<SolutionVector>(); assembler->setLinearSystem(A, r); diff --git a/test/porousmediumflow/1p/implicit/incompressible/problem.hh b/test/porousmediumflow/1p/implicit/incompressible/problem.hh index 389ce2dbba..8ce9b4e963 100644 --- a/test/porousmediumflow/1p/implicit/incompressible/problem.hh +++ b/test/porousmediumflow/1p/implicit/incompressible/problem.hh @@ -64,8 +64,8 @@ SET_TYPE_PROP(OnePIncompressible, Problem, OnePTestProblem<TypeTag>); // set the spatial params SET_PROP(OnePIncompressible, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = OnePTestSpatialParams<FVGridGeometry, Scalar>; }; @@ -75,7 +75,7 @@ SET_TYPE_PROP(OnePIncompressible, LocalResidual, OnePIncompressibleLocalResidual // the fluid system SET_PROP(OnePIncompressible, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Components::SimpleH2O<Scalar> >; }; @@ -102,12 +102,12 @@ template<class TypeTag> class OnePTestProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; static constexpr int dimWorld = GridView::dimensionworld; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; diff --git a/test/porousmediumflow/1p/implicit/isothermal/main.cc b/test/porousmediumflow/1p/implicit/isothermal/main.cc index 7f55a62f83..39b83f33e4 100644 --- a/test/porousmediumflow/1p/implicit/isothermal/main.cc +++ b/test/porousmediumflow/1p/implicit/isothermal/main.cc @@ -100,7 +100,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -111,35 +111,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields diff --git a/test/porousmediumflow/1p/implicit/network1d3d/main.cc b/test/porousmediumflow/1p/implicit/network1d3d/main.cc index adca4c3010..e709c96b44 100644 --- a/test/porousmediumflow/1p/implicit/network1d3d/main.cc +++ b/test/porousmediumflow/1p/implicit/network1d3d/main.cc @@ -94,7 +94,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -105,35 +105,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/1p/implicit/network1d3d/problem.hh b/test/porousmediumflow/1p/implicit/network1d3d/problem.hh index b41c7a28fe..4b1f6ad27f 100644 --- a/test/porousmediumflow/1p/implicit/network1d3d/problem.hh +++ b/test/porousmediumflow/1p/implicit/network1d3d/problem.hh @@ -68,7 +68,7 @@ SET_PROP(TubesTestCCTpfa, FVGridGeometry) { private: static constexpr bool enableCache = GET_PROP_VALUE(TypeTag, EnableFVGridGeometryCache); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using ElementMapper = ReorderingDofMapper<GridView>; using VertexMapper = Dune::MultipleCodimMultipleGeomTypeMapper<GridView>; @@ -82,8 +82,8 @@ SET_PROP(TubesTestBox, FVGridGeometry) { private: static constexpr bool enableCache = GET_PROP_VALUE(TypeTag, EnableFVGridGeometryCache); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using ElementMapper = Dune::MultipleCodimMultipleGeomTypeMapper<GridView>; using VertexMapper = ReorderingDofMapper<GridView>; @@ -98,15 +98,15 @@ SET_TYPE_PROP(TubesTest, Problem, TubesTestProblem<TypeTag>); // Set the spatial parameters SET_PROP(TubesTest, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = TubesTestSpatialParams<FVGridGeometry, Scalar>; }; // the fluid system SET_PROP(TubesTest, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Components::Constant<1, Scalar> >; }; } // end namespace Properties @@ -120,32 +120,32 @@ template <class TypeTag> class TubesTestProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; // Grid and world dimension static const int dim = GridView::dimension; static const int dimWorld = GridView::dimensionworld; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { // indices of the primary variables conti0EqIdx = Indices::conti0EqIdx, pressureIdx = Indices::pressureIdx }; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; using Element = typename GridView::template Codim<0>::Entity; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - enum { isBox = GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod == DiscretizationMethod::box }; + enum { isBox = GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::box }; public: TubesTestProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry) diff --git a/test/porousmediumflow/1p/implicit/nonisothermal/main.cc b/test/porousmediumflow/1p/implicit/nonisothermal/main.cc index d4b8591968..3640642f8a 100644 --- a/test/porousmediumflow/1p/implicit/nonisothermal/main.cc +++ b/test/porousmediumflow/1p/implicit/nonisothermal/main.cc @@ -97,7 +97,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -108,17 +108,17 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; const std::string paramGroup = FVGridGeometry::discMethod == DiscretizationMethod::ccmpfa ? "MpfaTest" : ""; auto problem = std::make_shared<Problem>(fvGridGeometry, paramGroup); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); @@ -127,13 +127,13 @@ int main(int argc, char** argv) try Scalar restartTime = getParam<Scalar>("Restart.Time", 0); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); if (restartTime > 0) { - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; const auto fileName = getParam<std::string>("Restart.File"); loadSolution(x, fileName, createPVNameFunction<IOFields, PrimaryVariables, ModelTraits>(), *fvGridGeometry); } @@ -142,14 +142,14 @@ int main(int argc, char** argv) try auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.addField(problem->getExactTemperature(), "temperatureExact"); diff --git a/test/porousmediumflow/1p/implicit/nonisothermal/problem_conduction.hh b/test/porousmediumflow/1p/implicit/nonisothermal/problem_conduction.hh index da26b144de..975b2f1ad6 100644 --- a/test/porousmediumflow/1p/implicit/nonisothermal/problem_conduction.hh +++ b/test/porousmediumflow/1p/implicit/nonisothermal/problem_conduction.hh @@ -67,13 +67,13 @@ SET_TYPE_PROP(OnePNIConduction, Problem, // Set the fluid system SET_TYPE_PROP(OnePNIConduction, FluidSystem, - FluidSystems::OnePLiquid<typename GET_PROP_TYPE(TypeTag, Scalar), - Components::H2O<typename GET_PROP_TYPE(TypeTag, Scalar)> >); + FluidSystems::OnePLiquid<GetPropType<TypeTag, Properties::Scalar>, + Components::H2O<GetPropType<TypeTag, Properties::Scalar>> >); // Set the spatial parameters SET_PROP(OnePNIConduction, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = OnePNISpatialParams<FVGridGeometry, Scalar>; }; } @@ -103,20 +103,20 @@ template <class TypeTag> class OnePNIConductionProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using ThermalConductivityModel = typename GET_PROP_TYPE(TypeTag, ThermalConductivityModel); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using ThermalConductivityModel = GetPropType<TypeTag, Properties::ThermalConductivityModel>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; using IapwsH2O = Components::H2O<Scalar>; enum { dimWorld = GridView::dimensionworld }; // copy some indices for convenience - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { // indices of the primary variables pressureIdx = Indices::pressureIdx, @@ -125,7 +125,7 @@ class OnePNIConductionProblem : public PorousMediumFlowProblem<TypeTag> using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; public: OnePNIConductionProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, const std::string& paramGroup) diff --git a/test/porousmediumflow/1p/implicit/nonisothermal/problem_convection.hh b/test/porousmediumflow/1p/implicit/nonisothermal/problem_convection.hh index f4da60efa8..69f44a421b 100644 --- a/test/porousmediumflow/1p/implicit/nonisothermal/problem_convection.hh +++ b/test/porousmediumflow/1p/implicit/nonisothermal/problem_convection.hh @@ -65,14 +65,14 @@ SET_TYPE_PROP(OnePNIConvection, Problem, OnePNIConvectionProblem<TypeTag>); // Set the fluid system SET_TYPE_PROP(OnePNIConvection, FluidSystem, - FluidSystems::OnePLiquid<typename GET_PROP_TYPE(TypeTag, Scalar), - Components::H2O<typename GET_PROP_TYPE(TypeTag, Scalar)> >); + FluidSystems::OnePLiquid<GetPropType<TypeTag, Properties::Scalar>, + Components::H2O<GetPropType<TypeTag, Properties::Scalar>> >); // Set the spatial parameters SET_PROP(OnePNIConvection, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = OnePNISpatialParams<FVGridGeometry, Scalar>; }; } // end namespace Properties @@ -104,22 +104,22 @@ template <class TypeTag> class OnePNIConvectionProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; using IapwsH2O = Components::H2O<Scalar>; enum { dimWorld = GridView::dimensionworld }; // copy some indices for convenience - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { // indices of the primary variables pressureIdx = Indices::pressureIdx, @@ -131,10 +131,10 @@ class OnePNIConvectionProblem : public PorousMediumFlowProblem<TypeTag> energyEqIdx = Indices::energyEqIdx }; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; public: OnePNIConvectionProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry, const std::string& paramGroup) diff --git a/test/porousmediumflow/1p/implicit/periodicbc/main.cc b/test/porousmediumflow/1p/implicit/periodicbc/main.cc index 160f8afe73..f7a0c9df08 100644 --- a/test/porousmediumflow/1p/implicit/periodicbc/main.cc +++ b/test/porousmediumflow/1p/implicit/periodicbc/main.cc @@ -70,14 +70,14 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) ///////////////////////////////////////////////////////////////////// - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); // we compute on the leaf grid view const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry (and make it periodic) - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); @@ -87,29 +87,29 @@ int main(int argc, char** argv) try DUNE_THROW(Dune::GridError, "Your grid is not periodic. Maybe the grid manager doesn't support periodic boundaries."); // the problem (boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); problem->computePointSourceMap(); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x); // intialize the vtk output module VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); // make assemble and attach linear system using Assembler = FVAssembler<TypeTag, DiffMethod::analytic>; auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables); - using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); + using JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix>; auto A = std::make_shared<JacobianMatrix>(); auto r = std::make_shared<SolutionVector>(); assembler->setLinearSystem(A, r); diff --git a/test/porousmediumflow/1p/implicit/periodicbc/problem.hh b/test/porousmediumflow/1p/implicit/periodicbc/problem.hh index 119b9ba568..b7bf19f053 100644 --- a/test/porousmediumflow/1p/implicit/periodicbc/problem.hh +++ b/test/porousmediumflow/1p/implicit/periodicbc/problem.hh @@ -78,7 +78,7 @@ SET_TYPE_PROP(OnePIncompressible, LocalResidual, OnePIncompressibleLocalResidual // the fluid system SET_PROP(OnePIncompressible, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Components::SimpleH2O<Scalar> >; }; @@ -99,13 +99,13 @@ template<class TypeTag> class OnePTestProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using SourceValues = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using SourceValues = GetPropType<TypeTag, Properties::NumEqVector>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; static constexpr int dimWorld = GridView::dimensionworld; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; diff --git a/test/porousmediumflow/1p/implicit/periodicbc/spatialparams.hh b/test/porousmediumflow/1p/implicit/periodicbc/spatialparams.hh index 749052ac0f..6f37c1772c 100644 --- a/test/porousmediumflow/1p/implicit/periodicbc/spatialparams.hh +++ b/test/porousmediumflow/1p/implicit/periodicbc/spatialparams.hh @@ -36,12 +36,12 @@ namespace Dumux { */ template<class TypeTag> class OnePTestSpatialParams -: public FVSpatialParamsOneP<typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, Scalar), +: public FVSpatialParamsOneP<GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::Scalar>, OnePTestSpatialParams<TypeTag>> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using GridView = typename FVGridGeometry::GridView; using Element = typename GridView::template Codim<0>::Entity; using FVElementGeometry = typename FVGridGeometry::LocalView; diff --git a/test/porousmediumflow/1p/implicit/pointsources/timedependent/main.cc b/test/porousmediumflow/1p/implicit/pointsources/timedependent/main.cc index 849a2f57b9..ca2f2a8cf6 100644 --- a/test/porousmediumflow/1p/implicit/pointsources/timedependent/main.cc +++ b/test/porousmediumflow/1p/implicit/pointsources/timedependent/main.cc @@ -69,7 +69,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -80,36 +80,36 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); problem->computePointSourceMap(); // enable point sources // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/1p/implicit/pointsources/timedependent/problem.hh b/test/porousmediumflow/1p/implicit/pointsources/timedependent/problem.hh index f132538b39..039b0e5621 100644 --- a/test/porousmediumflow/1p/implicit/pointsources/timedependent/problem.hh +++ b/test/porousmediumflow/1p/implicit/pointsources/timedependent/problem.hh @@ -64,17 +64,17 @@ template <class TypeTag> class OnePSingularityProblemTimeDependent : public OnePSingularityProblem<TypeTag> { using ParentType = OnePSingularityProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using PointSource = typename GET_PROP_TYPE(TypeTag, PointSource); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using PointSource = GetPropType<TypeTag, Properties::PointSource>; - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; using Element = typename GridView::template Codim<0>::Entity; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; public: OnePSingularityProblemTimeDependent(std::shared_ptr<const FVGridGeometry> fvGridGeometry) diff --git a/test/porousmediumflow/1p/implicit/pointsources/timeindependent/main.cc b/test/porousmediumflow/1p/implicit/pointsources/timeindependent/main.cc index 9c6ab49263..dac4a53987 100644 --- a/test/porousmediumflow/1p/implicit/pointsources/timeindependent/main.cc +++ b/test/porousmediumflow/1p/implicit/pointsources/timeindependent/main.cc @@ -69,7 +69,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -80,36 +80,36 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); problem->computePointSourceMap(); // enable point sources // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/1p/implicit/pointsources/timeindependent/problem.hh b/test/porousmediumflow/1p/implicit/pointsources/timeindependent/problem.hh index 6a34c055bc..d92ab838c6 100644 --- a/test/porousmediumflow/1p/implicit/pointsources/timeindependent/problem.hh +++ b/test/porousmediumflow/1p/implicit/pointsources/timeindependent/problem.hh @@ -53,13 +53,13 @@ struct OnePSingularityCCTpfa { using InheritsFrom = std::tuple<OnePSingularity, // the fluid system SET_PROP(OnePSingularity, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Components::SimpleH2O<Scalar> >; }; // Set the grid type SET_TYPE_PROP(OnePSingularity, Grid, - Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 2> >); + Dune::YaspGrid<2, Dune::EquidistantOffsetCoordinates<GetPropType<TypeTag, Properties::Scalar>, 2> >); // Set the problem property SET_TYPE_PROP(OnePSingularity, Problem, OnePSingularityProblem<TypeTag> ); @@ -67,8 +67,8 @@ SET_TYPE_PROP(OnePSingularity, Problem, OnePSingularityProblem<TypeTag> ); // Set the spatial parameters SET_PROP(OnePSingularity, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = OnePSingularitySpatialParams<FVGridGeometry, Scalar>; }; } @@ -90,21 +90,21 @@ template <class TypeTag> class OnePSingularityProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; // copy some indices for convenience - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { dimWorld = GridView::dimensionworld }; enum { // index of the primary variable pressureIdx = Indices::pressureIdx }; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PointSource = typename GET_PROP_TYPE(TypeTag, PointSource); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PointSource = GetPropType<TypeTag, Properties::PointSource>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using Element = typename FVGridGeometry::GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; diff --git a/test/porousmediumflow/1pnc/implicit/1p2c/isothermal/main.cc b/test/porousmediumflow/1pnc/implicit/1p2c/isothermal/main.cc index 568d8e5c42..bcba509352 100644 --- a/test/porousmediumflow/1pnc/implicit/1p2c/isothermal/main.cc +++ b/test/porousmediumflow/1pnc/implicit/1p2c/isothermal/main.cc @@ -73,7 +73,7 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) ///////////////////////////////////////////////////////////////////// - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -84,36 +84,36 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); // intialize the vtk output module VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/1pnc/implicit/1p2c/isothermal/problem.hh b/test/porousmediumflow/1pnc/implicit/1p2c/isothermal/problem.hh index 83df66612c..49ecd2544e 100644 --- a/test/porousmediumflow/1pnc/implicit/1p2c/isothermal/problem.hh +++ b/test/porousmediumflow/1pnc/implicit/1p2c/isothermal/problem.hh @@ -71,7 +71,7 @@ SET_TYPE_PROP(OnePTwoCTest, Problem, OnePTwoCTestProblem<TypeTag>); // Set fluid configuration SET_PROP(OnePTwoCTest, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using H2ON2 = FluidSystems::H2ON2<Scalar, FluidSystems::H2ON2DefaultPolicy</*simplified=*/true>>; using type = FluidSystems::OnePAdapter<H2ON2, H2ON2::liquidPhaseIdx>; }; @@ -79,8 +79,8 @@ SET_PROP(OnePTwoCTest, FluidSystem) // Set the spatial parameters SET_PROP(OnePTwoCTest, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = OnePNCTestSpatialParams<FVGridGeometry, Scalar>; }; @@ -118,16 +118,16 @@ class OnePTwoCTestProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using Element = typename GridView::template Codim<0>::Entity; @@ -148,7 +148,7 @@ class OnePTwoCTestProblem : public PorousMediumFlowProblem<TypeTag> //! property that defines whether mole or mass fractions are used static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); - static const bool isBox = GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod == DiscretizationMethod::box; + static const bool isBox = GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::box; static const int dimWorld = GridView::dimensionworld; using GlobalPosition = typename SubControlVolumeFace::GlobalPosition; diff --git a/test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/main.cc b/test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/main.cc index 5731304f66..4bae0ab12f 100644 --- a/test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/main.cc +++ b/test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/main.cc @@ -73,7 +73,7 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) ///////////////////////////////////////////////////////////////////// - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -84,36 +84,36 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); // intialize the vtk output module VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh b/test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh index 3c611f6305..969af5e72a 100644 --- a/test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh +++ b/test/porousmediumflow/1pnc/implicit/1p2c/isothermal/saltwaterintrusion/problem.hh @@ -52,13 +52,13 @@ SET_TYPE_PROP(SaltWaterIntrusionTest, Problem, SaltWaterIntrusionTestProblem<Typ // Set fluid configuration SET_TYPE_PROP(SaltWaterIntrusionTest, FluidSystem, - FluidSystems::Brine< typename GET_PROP_TYPE(TypeTag, Scalar) >); + FluidSystems::Brine< GetPropType<TypeTag, Properties::Scalar> >); // Set the spatial parameters SET_PROP(SaltWaterIntrusionTest, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = OnePNCTestSpatialParams<FVGridGeometry, Scalar>; }; @@ -80,15 +80,15 @@ class SaltWaterIntrusionTestProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; // copy pressure index for convenience enum { pressureIdx = Indices::pressureIdx }; diff --git a/test/porousmediumflow/1pnc/implicit/1p2c/nonisothermal/conduction/main.cc b/test/porousmediumflow/1pnc/implicit/1p2c/nonisothermal/conduction/main.cc index acb788c48d..b9942f2cb6 100644 --- a/test/porousmediumflow/1pnc/implicit/1p2c/nonisothermal/conduction/main.cc +++ b/test/porousmediumflow/1pnc/implicit/1p2c/nonisothermal/conduction/main.cc @@ -73,7 +73,7 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) ///////////////////////////////////////////////////////////////////// - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -84,36 +84,36 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); // intialize the vtk output module VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.addField(problem->getExactTemperature(), "temperatureExact"); vtkWriter.write(0.0); diff --git a/test/porousmediumflow/1pnc/implicit/1p2c/nonisothermal/conduction/problem.hh b/test/porousmediumflow/1pnc/implicit/1p2c/nonisothermal/conduction/problem.hh index ff234297e7..ab5503bbfd 100644 --- a/test/porousmediumflow/1pnc/implicit/1p2c/nonisothermal/conduction/problem.hh +++ b/test/porousmediumflow/1pnc/implicit/1p2c/nonisothermal/conduction/problem.hh @@ -71,7 +71,7 @@ SET_TYPE_PROP(OnePTwoCNIConduction, Problem, OnePTwoCNIConductionProblem<TypeTag // Set fluid configuration SET_PROP(OnePTwoCNIConduction, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using H2ON2 = FluidSystems::H2ON2<Scalar, FluidSystems::H2ON2DefaultPolicy</*simplified=*/true>>; using type = FluidSystems::OnePAdapter<H2ON2, H2ON2::liquidPhaseIdx>; }; @@ -79,8 +79,8 @@ SET_PROP(OnePTwoCNIConduction, FluidSystem) // Set the spatial parameters SET_PROP(OnePTwoCNIConduction, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = OnePNCTestSpatialParams<FVGridGeometry, Scalar>; }; @@ -118,18 +118,18 @@ class OnePTwoCNIConductionProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; using Element = typename GridView::template Codim<0>::Entity; - using ThermalConductivityModel = typename GET_PROP_TYPE(TypeTag, ThermalConductivityModel); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); + using ThermalConductivityModel = GetPropType<TypeTag, Properties::ThermalConductivityModel>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; using IapwsH2O = Components::H2O<Scalar>; // copy some indices for convenience diff --git a/test/porousmediumflow/1pnc/implicit/1p2c/nonisothermal/convection/main.cc b/test/porousmediumflow/1pnc/implicit/1p2c/nonisothermal/convection/main.cc index e56585e7f6..74794a2531 100644 --- a/test/porousmediumflow/1pnc/implicit/1p2c/nonisothermal/convection/main.cc +++ b/test/porousmediumflow/1pnc/implicit/1p2c/nonisothermal/convection/main.cc @@ -73,7 +73,7 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) ///////////////////////////////////////////////////////////////////// - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -84,36 +84,36 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); // intialize the vtk output module VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.addField(problem->getExactTemperature(), "temperatureExact"); vtkWriter.write(0.0); diff --git a/test/porousmediumflow/1pnc/implicit/1p2c/nonisothermal/convection/problem.hh b/test/porousmediumflow/1pnc/implicit/1p2c/nonisothermal/convection/problem.hh index 178938754a..c44f74fa2c 100644 --- a/test/porousmediumflow/1pnc/implicit/1p2c/nonisothermal/convection/problem.hh +++ b/test/porousmediumflow/1pnc/implicit/1p2c/nonisothermal/convection/problem.hh @@ -71,7 +71,7 @@ SET_TYPE_PROP(OnePTwoCNIConvection, Problem, OnePTwoCNIConvectionProblem<TypeTag // Set fluid configuration SET_PROP(OnePTwoCNIConvection, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using H2ON2 = FluidSystems::H2ON2<Scalar, FluidSystems::H2ON2DefaultPolicy</*simplified=*/true>>; using type = FluidSystems::OnePAdapter<H2ON2, H2ON2::liquidPhaseIdx>; }; @@ -79,8 +79,8 @@ SET_PROP(OnePTwoCNIConvection, FluidSystem) // Set the spatial parameters SET_PROP(OnePTwoCNIConvection, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = OnePNCTestSpatialParams<FVGridGeometry, Scalar>; }; @@ -118,20 +118,20 @@ class OnePTwoCNIConvectionProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using Element = typename GridView::template Codim<0>::Entity; - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; using IapwsH2O = Components::H2O<Scalar>; // copy some indices for convenience diff --git a/test/porousmediumflow/1pncmin/implicit/nonisothermal/main.cc b/test/porousmediumflow/1pncmin/implicit/nonisothermal/main.cc index ca43aac356..3fa7f0f80a 100644 --- a/test/porousmediumflow/1pncmin/implicit/nonisothermal/main.cc +++ b/test/porousmediumflow/1pncmin/implicit/nonisothermal/main.cc @@ -99,7 +99,7 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) ///////////////////////////////////////////////////////////////////// - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -110,34 +110,34 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); // intialize the vtk output module VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; IOFields::initOutputModule(vtkWriter); // Add model specific output fields diff --git a/test/porousmediumflow/1pncmin/implicit/nonisothermal/problem.hh b/test/porousmediumflow/1pncmin/implicit/nonisothermal/problem.hh index e07bc819f6..dfd844abb6 100644 --- a/test/porousmediumflow/1pncmin/implicit/nonisothermal/problem.hh +++ b/test/porousmediumflow/1pncmin/implicit/nonisothermal/problem.hh @@ -62,7 +62,7 @@ SET_TYPE_PROP(ThermoChem, Problem, ThermoChemProblem<TypeTag>); // The fluid system SET_PROP(ThermoChem, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using H2ON2 = FluidSystems::H2ON2<Scalar>; static constexpr auto phaseIdx = H2ON2::gasPhaseIdx; // simulate the air phase using type = FluidSystems::OnePAdapter<H2ON2, phaseIdx>; @@ -70,7 +70,7 @@ SET_PROP(ThermoChem, FluidSystem) SET_PROP(ThermoChem, SolidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using ComponentOne = Components::ModifiedCaO<Scalar>; using ComponentTwo = Components::CaO2H2<Scalar>; using type = SolidSystems::CompositionalSolidPhase<Scalar, ComponentOne, ComponentTwo>; @@ -82,8 +82,8 @@ SET_PROP(ThermoChem, SolidSystem) // Set the spatial parameters SET_PROP(ThermoChem, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = ThermoChemSpatialParams<FVGridGeometry, Scalar>; }; @@ -107,22 +107,22 @@ template <class TypeTag> class ThermoChemProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using SolidSystem = typename GET_PROP_TYPE(TypeTag, SolidSystem); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using SolidSystem = GetPropType<TypeTag, Properties::SolidSystem>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; using Element = typename GridView::template Codim<0>::Entity; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; using ReactionRate = ThermoChemReaction; enum { dim = GridView::dimension }; @@ -171,7 +171,7 @@ public: boundaryVaporMoleFrac_ = getParam<Scalar>("Problem.BoundaryMoleFraction"); boundaryTemperature_ = getParam<Scalar>("Problem.BoundaryTemperature"); - unsigned int codim = GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod == DiscretizationMethod::box ? dim : 0; + unsigned int codim = GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::box ? dim : 0; permeability_.resize(fvGridGeometry->gridView().size(codim)); porosity_.resize(fvGridGeometry->gridView().size(codim)); reactionRate_.resize(fvGridGeometry->gridView().size(codim)); diff --git a/test/porousmediumflow/2p/implicit/adaptive/main.cc b/test/porousmediumflow/2p/implicit/adaptive/main.cc index ce62151f84..090260cf99 100644 --- a/test/porousmediumflow/2p/implicit/adaptive/main.cc +++ b/test/porousmediumflow/2p/implicit/adaptive/main.cc @@ -104,7 +104,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -115,28 +115,28 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); problem->computePointSourceMap(); // enable point sources // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // instantiate indicator & data transfer, read parameters for indicator - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const Scalar refineTol = getParam<Scalar>("Adaptive.RefineTolerance"); const Scalar coarsenTol = getParam<Scalar>("Adaptive.CoarsenTolerance"); TwoPGridAdaptIndicator<TypeTag> indicator(fvGridGeometry); @@ -180,15 +180,15 @@ int main(int argc, char** argv) try } // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/2p/implicit/adaptive/pointsourceproblem.hh b/test/porousmediumflow/2p/implicit/adaptive/pointsourceproblem.hh index 470308c28c..a0ce5017e3 100644 --- a/test/porousmediumflow/2p/implicit/adaptive/pointsourceproblem.hh +++ b/test/porousmediumflow/2p/implicit/adaptive/pointsourceproblem.hh @@ -35,7 +35,7 @@ template <class TypeTag > class PointSourceTestProblem : public TwoPTestProblemAdaptive<TypeTag> { using ParentType = TwoPTestProblemAdaptive<TypeTag>; - using PointSource = typename GET_PROP_TYPE(TypeTag, PointSource); + using PointSource = GetPropType<TypeTag, Properties::PointSource>; public: //! Use parent's constructor diff --git a/test/porousmediumflow/2p/implicit/adaptive/problem.hh b/test/porousmediumflow/2p/implicit/adaptive/problem.hh index 1c777055cf..4e84296690 100644 --- a/test/porousmediumflow/2p/implicit/adaptive/problem.hh +++ b/test/porousmediumflow/2p/implicit/adaptive/problem.hh @@ -37,12 +37,12 @@ template <class TypeTag > class TwoPTestProblemAdaptive : public TwoPTestProblem<TypeTag> { using ParentType = TwoPTestProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; using Vertex = typename GridView::template Codim<GridView::dimensionworld>::Entity; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; static constexpr bool isBox = FVGridGeometry::discMethod == DiscretizationMethod::box; diff --git a/test/porousmediumflow/2p/implicit/boxdfm/main.cc b/test/porousmediumflow/2p/implicit/boxdfm/main.cc index 084faa366a..107754059d 100644 --- a/test/porousmediumflow/2p/implicit/boxdfm/main.cc +++ b/test/porousmediumflow/2p/implicit/boxdfm/main.cc @@ -101,7 +101,7 @@ int main(int argc, char** argv) try // we reuse the facet coupling grid manager to create the grid // from a mesh file with the fractures being incorporated as // lower-dimensional elements. - using Grid = typename GET_PROP_TYPE(TypeTag, Grid); + using Grid = GetPropType<TypeTag, Properties::Grid>; using FractureGrid = FRACTUREGRIDTYPE; using GridManager = FacetCouplingGridManager<Grid, FractureGrid>; GridManager gridManager; @@ -118,16 +118,16 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.template grid<0>().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(fractureGridAdapter); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; @@ -136,19 +136,19 @@ int main(int argc, char** argv) try problem->spatialParams().updateMaterialInterfaceParams(x); // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module using VtkOutputModule = BoxDfmVtkOutputModule<GridVariables, SolutionVector, FractureGrid>; - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule vtkWriter(*gridVariables, x, problem->name(), fractureGridAdapter, "", Dune::VTK::nonconforming); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/2p/implicit/boxdfm/problem.hh b/test/porousmediumflow/2p/implicit/boxdfm/problem.hh index 40347d1bae..53887a537c 100644 --- a/test/porousmediumflow/2p/implicit/boxdfm/problem.hh +++ b/test/porousmediumflow/2p/implicit/boxdfm/problem.hh @@ -71,8 +71,8 @@ SET_TYPE_PROP(TwoPIncompressibleBoxDfm, Problem, TwoPTestProblem<TypeTag>); SET_PROP(TwoPIncompressibleBoxDfm, SpatialParams) { private: - using FVG = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVG = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = TwoPTestSpatialParams<FVG, Scalar>; }; @@ -83,7 +83,7 @@ SET_TYPE_PROP(TwoPIncompressibleBoxDfm, LocalResidual, TwoPIncompressibleLocalRe // Set the fluid system SET_PROP(TwoPIncompressibleBoxDfm, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using WettingPhase = FluidSystems::OnePLiquid<Scalar, Components::SimpleH2O<Scalar> >; using NonwettingPhase = FluidSystems::OnePLiquid<Scalar, Components::Trichloroethene<Scalar> >; using type = FluidSystems::TwoPImmiscible<Scalar, WettingPhase, NonwettingPhase>; @@ -107,20 +107,20 @@ class TwoPTestProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using SubControlVolume = typename FVGridGeometry::SubControlVolume; // some indices for convenience - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { pressureH2OIdx = Indices::pressureIdx, diff --git a/test/porousmediumflow/2p/implicit/cornerpoint/main.cc b/test/porousmediumflow/2p/implicit/cornerpoint/main.cc index 379702c849..49461786b0 100644 --- a/test/porousmediumflow/2p/implicit/cornerpoint/main.cc +++ b/test/porousmediumflow/2p/implicit/cornerpoint/main.cc @@ -119,37 +119,37 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto spatialParams = std::make_shared<typename Problem::SpatialParams>(fvGridGeometry, gridManager.getDeck()); auto problem = std::make_shared<Problem>(fvGridGeometry, spatialParams); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name(), "", Dune::VTK::conforming); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields problem->addFieldsToWriter(vtkWriter); //!< Add some more problem dependent fields diff --git a/test/porousmediumflow/2p/implicit/cornerpoint/problem.hh b/test/porousmediumflow/2p/implicit/cornerpoint/problem.hh index 5712bc7c88..68b474debb 100644 --- a/test/porousmediumflow/2p/implicit/cornerpoint/problem.hh +++ b/test/porousmediumflow/2p/implicit/cornerpoint/problem.hh @@ -60,7 +60,7 @@ SET_TYPE_PROP(TwoPCornerPoint, LocalResidual, TwoPIncompressibleLocalResidual<Ty // Set the fluid system SET_PROP(TwoPCornerPoint, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using WettingPhase = FluidSystems::OnePLiquid<Scalar, Components::SimpleH2O<Scalar> >; using NonwettingPhase = FluidSystems::OnePLiquid<Scalar, Components::Trichloroethene<Scalar> >; using type = FluidSystems::TwoPImmiscible<Scalar, WettingPhase, NonwettingPhase>; @@ -70,8 +70,8 @@ SET_PROP(TwoPCornerPoint, FluidSystem) SET_PROP(TwoPCornerPoint, SpatialParams) { private: - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = TwoPCornerPointTestSpatialParams<FVGridGeometry, Scalar>; }; @@ -90,20 +90,20 @@ template<class TypeTag> class TwoPCornerPointTestProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using GridView = typename FVGridGeometry::GridView; using Element = typename GridView::template Codim<0>::Entity; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { dimWorld = GridView::dimensionworld }; public: diff --git a/test/porousmediumflow/2p/implicit/fracture/main.cc b/test/porousmediumflow/2p/implicit/fracture/main.cc index be8f72b903..27535f3d3c 100644 --- a/test/porousmediumflow/2p/implicit/fracture/main.cc +++ b/test/porousmediumflow/2p/implicit/fracture/main.cc @@ -83,7 +83,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -94,35 +94,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/2p/implicit/fracture/problem.hh b/test/porousmediumflow/2p/implicit/fracture/problem.hh index aebc1d2cc0..d5b3e4b038 100644 --- a/test/porousmediumflow/2p/implicit/fracture/problem.hh +++ b/test/porousmediumflow/2p/implicit/fracture/problem.hh @@ -68,7 +68,7 @@ SET_TYPE_PROP(Fracture, Problem, Dumux::FractureProblem<TypeTag>); // Set the fluid system SET_PROP(Fracture, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using WettingPhase = FluidSystems::OnePLiquid<Scalar, Components::SimpleH2O<Scalar> >; using NonwettingPhase = FluidSystems::OnePLiquid<Scalar, Components::Trichloroethene<Scalar> >; using type = FluidSystems::TwoPImmiscible<Scalar, WettingPhase, NonwettingPhase>; @@ -77,8 +77,8 @@ SET_PROP(Fracture, FluidSystem) // Set the spatial parameters SET_PROP(Fracture, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FractureSpatialParams<FVGridGeometry, Scalar>; }; @@ -99,14 +99,14 @@ template <class TypeTag> class FractureProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; enum { diff --git a/test/porousmediumflow/2p/implicit/incompressible/main.cc b/test/porousmediumflow/2p/implicit/incompressible/main.cc index 00a96c92d3..d8008385bd 100644 --- a/test/porousmediumflow/2p/implicit/incompressible/main.cc +++ b/test/porousmediumflow/2p/implicit/incompressible/main.cc @@ -103,7 +103,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -114,16 +114,16 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); @@ -132,14 +132,14 @@ int main(int argc, char** argv) try Scalar restartTime = getParam<Scalar>("Restart.Time", 0); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); if (restartTime > 0) { - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; const auto fileName = getParam<std::string>("Restart.File"); loadSolution(x, fileName, createPVNameFunction<IOFields, PrimaryVariables, ModelTraits, FluidSystem>(), *fvGridGeometry); } @@ -152,18 +152,18 @@ int main(int argc, char** argv) try problem->spatialParams().updateMaterialInterfaceParams(x); // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; // use non-conforming output for the test with interface solver const auto ncOutput = getParam<bool>("Problem.UseNonConformingOutput", false); VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name(), "", ncOutput ? Dune::VTK::nonconforming : Dune::VTK::conforming); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(restartTime); diff --git a/test/porousmediumflow/2p/implicit/incompressible/problem.hh b/test/porousmediumflow/2p/implicit/incompressible/problem.hh index f41129d348..967e35b259 100644 --- a/test/porousmediumflow/2p/implicit/incompressible/problem.hh +++ b/test/porousmediumflow/2p/implicit/incompressible/problem.hh @@ -69,7 +69,7 @@ SET_TYPE_PROP(TwoPIncompressible, LocalResidual, TwoPIncompressibleLocalResidual // Set the fluid system SET_PROP(TwoPIncompressible, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using WettingPhase = FluidSystems::OnePLiquid<Scalar, Components::SimpleH2O<Scalar> >; using NonwettingPhase = FluidSystems::OnePLiquid<Scalar, Components::Trichloroethene<Scalar> >; using type = FluidSystems::TwoPImmiscible<Scalar, WettingPhase, NonwettingPhase>; @@ -79,8 +79,8 @@ SET_PROP(TwoPIncompressible, FluidSystem) SET_PROP(TwoPIncompressible, SpatialParams) { private: - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = TwoPTestSpatialParams<FVGridGeometry, Scalar>; }; @@ -102,16 +102,16 @@ template<class TypeTag> class TwoPTestProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { pressureH2OIdx = Indices::pressureIdx, saturationDNAPLIdx = Indices::saturationIdx, @@ -152,7 +152,7 @@ public: PrimaryVariables dirichletAtPos(const GlobalPosition &globalPos) const { PrimaryVariables values; - typename GET_PROP_TYPE(TypeTag, FluidState) fluidState; + GetPropType<TypeTag, Properties::FluidState> fluidState; fluidState.setTemperature(temperature()); fluidState.setPressure(waterPhaseIdx, /*pressure=*/1e5); fluidState.setPressure(dnaplPhaseIdx, /*pressure=*/1e5); @@ -206,7 +206,7 @@ public: PrimaryVariables initialAtPos(const GlobalPosition &globalPos) const { PrimaryVariables values; - typename GET_PROP_TYPE(TypeTag, FluidState) fluidState; + GetPropType<TypeTag, Properties::FluidState> fluidState; fluidState.setTemperature(temperature()); fluidState.setPressure(waterPhaseIdx, /*pressure=*/1e5); fluidState.setPressure(dnaplPhaseIdx, /*pressure=*/1e5); diff --git a/test/porousmediumflow/2p/implicit/nonisothermal/main.cc b/test/porousmediumflow/2p/implicit/nonisothermal/main.cc index dc2a091754..1d8afb4c62 100644 --- a/test/porousmediumflow/2p/implicit/nonisothermal/main.cc +++ b/test/porousmediumflow/2p/implicit/nonisothermal/main.cc @@ -94,7 +94,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -105,35 +105,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); @@ -155,7 +155,7 @@ int main(int argc, char** argv) try NewtonSolver nonLinearSolver(assembler, linearSolver); //the convergence writer - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using NewtonConvergenceWriter = Dumux::NewtonConvergenceWriter<GridView, SolutionVector>; auto convergenceWriter = std::make_shared<NewtonConvergenceWriter>(leafGridView, fvGridGeometry->numDofs()); diff --git a/test/porousmediumflow/2p/implicit/nonisothermal/problem.hh b/test/porousmediumflow/2p/implicit/nonisothermal/problem.hh index 86ca1d1c23..1f727c9a99 100644 --- a/test/porousmediumflow/2p/implicit/nonisothermal/problem.hh +++ b/test/porousmediumflow/2p/implicit/nonisothermal/problem.hh @@ -72,13 +72,13 @@ SET_TYPE_PROP(Injection2PNITypeTag, Grid, GRIDTYPE); SET_TYPE_PROP(Injection2PNITypeTag, Problem, InjectionProblem2PNI<TypeTag>); // Use the same fluid system as the 2p2c injection problem -SET_TYPE_PROP(Injection2PNITypeTag, FluidSystem, FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); +SET_TYPE_PROP(Injection2PNITypeTag, FluidSystem, FluidSystems::H2ON2<GetPropType<TypeTag, Properties::Scalar>, FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); // Set the spatial parameters SET_PROP(Injection2PNITypeTag, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = InjectionSpatialParams<FVGridGeometry, Scalar>; }; @@ -116,13 +116,13 @@ template<class TypeTag> class InjectionProblem2PNI : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; enum @@ -144,13 +144,13 @@ class InjectionProblem2PNI : public PorousMediumFlowProblem<TypeTag> dimWorld = GridView::dimensionworld }; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; public: /*! @@ -266,7 +266,7 @@ public: values[contiN2EqIdx] = -1e-3; // kg/(s*m^2) // compute enthalpy flux associated with this injection [(J/(kg*s)] - using FluidState = typename GET_PROP_TYPE(TypeTag, FluidState); + using FluidState = GetPropType<TypeTag, Properties::FluidState>; FluidState fs; const auto initialValues = initialAtPos(globalPos); diff --git a/test/porousmediumflow/2p1c/implicit/main.cc b/test/porousmediumflow/2p1c/implicit/main.cc index 2f8a0152db..130a0b8349 100644 --- a/test/porousmediumflow/2p1c/implicit/main.cc +++ b/test/porousmediumflow/2p1c/implicit/main.cc @@ -73,7 +73,7 @@ int main(int argc, char** argv) try // try to create a grid (from the given grid file or the input file) ///////////////////////////////////////////////////////////////////// - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -84,34 +84,34 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); // intialize the vtk output module VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); @@ -128,7 +128,7 @@ int main(int argc, char** argv) try auto linearSolver = std::make_shared<LinearSolver>(); // the non-linear solver - using PrimaryVariableSwitch = typename GET_PROP_TYPE(TypeTag, PrimaryVariableSwitch); + using PrimaryVariableSwitch = GetPropType<TypeTag, Properties::PrimaryVariableSwitch>; using NewtonSolver = Dumux::PriVarSwitchNewtonSolver<Assembler, LinearSolver, PrimaryVariableSwitch>; NewtonSolver nonLinearSolver(assembler, linearSolver); diff --git a/test/porousmediumflow/2p1c/implicit/problem.hh b/test/porousmediumflow/2p1c/implicit/problem.hh index 313886717b..d10438bf10 100644 --- a/test/porousmediumflow/2p1c/implicit/problem.hh +++ b/test/porousmediumflow/2p1c/implicit/problem.hh @@ -61,7 +61,7 @@ SET_TYPE_PROP(InjectionProblem, Problem, InjectionProblem<TypeTag>); SET_PROP(InjectionProblem, FluidSystem) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using H2OType = Dumux::Components::TabulatedComponent<Dumux::Components::H2O<Scalar> >; public: using type = Dumux::FluidSystems::TwoPOneC<Scalar, H2OType >; @@ -70,8 +70,8 @@ public: // Set the spatial parameters SET_PROP(InjectionProblem, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = InjectionProblemSpatialParams<FVGridGeometry, Scalar>; }; @@ -91,19 +91,19 @@ class InjectionProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + 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 Element = typename GridView::template Codim<0>::Entity; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; // copy some indices for convenience enum { diff --git a/test/porousmediumflow/2p2c/implicit/injection/main.cc b/test/porousmediumflow/2p2c/implicit/injection/main.cc index d64d5cf562..91a162f30e 100644 --- a/test/porousmediumflow/2p2c/implicit/injection/main.cc +++ b/test/porousmediumflow/2p2c/implicit/injection/main.cc @@ -70,7 +70,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -81,16 +81,16 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); @@ -99,14 +99,14 @@ int main(int argc, char** argv) try Scalar restartTime = getParam<Scalar>("Restart.Time", 0); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); if (restartTime > 0) { - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; const auto fileName = getParam<std::string>("Restart.File"); const auto pvName = createPVNameFunction<IOFields, PrimaryVariables, ModelTraits, FluidSystem>(); loadSolution(x, fileName, pvName, *fvGridGeometry); @@ -116,14 +116,14 @@ int main(int argc, char** argv) try auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // intialize the vtk output module - using VtkOutputFields = typename GET_PROP_TYPE(TypeTag, VtkOutputFields); + using VtkOutputFields = GetPropType<TypeTag, Properties::VtkOutputFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); VtkOutputFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(restartTime); @@ -142,7 +142,7 @@ int main(int argc, char** argv) try // the non-linear solver using NewtonSolver = PriVarSwitchNewtonSolver<Assembler, LinearSolver, - typename GET_PROP_TYPE(TypeTag, PrimaryVariableSwitch)>; + GetPropType<TypeTag, Properties::PrimaryVariableSwitch>>; NewtonSolver nonLinearSolver(assembler, linearSolver); // time loop diff --git a/test/porousmediumflow/2p2c/implicit/injection/problem.hh b/test/porousmediumflow/2p2c/implicit/injection/problem.hh index a9cb7b787c..8c090ecc91 100644 --- a/test/porousmediumflow/2p2c/implicit/injection/problem.hh +++ b/test/porousmediumflow/2p2c/implicit/injection/problem.hh @@ -63,13 +63,13 @@ SET_TYPE_PROP(Injection, Problem, InjectionProblem<TypeTag>); // Set fluid configuration SET_TYPE_PROP(Injection, FluidSystem, - FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); + FluidSystems::H2ON2<GetPropType<TypeTag, Properties::Scalar>, FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); // Set the spatial parameters SET_PROP(Injection, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = InjectionSpatialParams<FVGridGeometry, Scalar>; }; @@ -108,12 +108,12 @@ template <class TypeTag> class InjectionProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; // primary variable indices @@ -141,13 +141,13 @@ class InjectionProblem : public PorousMediumFlowProblem<TypeTag> N2Idx = FluidSystem::N2Idx }; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; //! property that defines whether mole or mass fractions are used diff --git a/test/porousmediumflow/2p2c/implicit/mpnccomparison/main.cc b/test/porousmediumflow/2p2c/implicit/mpnccomparison/main.cc index 0c26d3f02c..949342d7c9 100644 --- a/test/porousmediumflow/2p2c/implicit/mpnccomparison/main.cc +++ b/test/porousmediumflow/2p2c/implicit/mpnccomparison/main.cc @@ -95,7 +95,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -106,35 +106,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); @@ -153,7 +153,7 @@ int main(int argc, char** argv) try // the non-linear solver using NewtonSolver = PriVarSwitchNewtonSolver<Assembler, LinearSolver, - typename GET_PROP_TYPE(TypeTag, PrimaryVariableSwitch)>; + GetPropType<TypeTag, Properties::PrimaryVariableSwitch>>; NewtonSolver nonLinearSolver(assembler, linearSolver); // time loop diff --git a/test/porousmediumflow/2p2c/implicit/mpnccomparison/problem.hh b/test/porousmediumflow/2p2c/implicit/mpnccomparison/problem.hh index 410866ab3c..9b782d8bfb 100644 --- a/test/porousmediumflow/2p2c/implicit/mpnccomparison/problem.hh +++ b/test/porousmediumflow/2p2c/implicit/mpnccomparison/problem.hh @@ -65,13 +65,13 @@ SET_TYPE_PROP(TwoPTwoCComparison, // Set fluid configuration SET_TYPE_PROP(TwoPTwoCComparison, FluidSystem, - FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); + FluidSystems::H2ON2<GetPropType<TypeTag, Properties::Scalar>, FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); // Set the spatial parameters SET_PROP(TwoPTwoCComparison, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = TwoPTwoCComparisonSpatialParams<FVGridGeometry, Scalar>; }; @@ -98,20 +98,20 @@ template <class TypeTag> class TwoPTwoCComparisonProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NeumannFluxes = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NeumannFluxes = GetPropType<TypeTag, Properties::NumEqVector>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; public: diff --git a/test/porousmediumflow/2p2c/implicit/waterair/main.cc b/test/porousmediumflow/2p2c/implicit/waterair/main.cc index f2c995ea73..4b29fac4db 100644 --- a/test/porousmediumflow/2p2c/implicit/waterair/main.cc +++ b/test/porousmediumflow/2p2c/implicit/waterair/main.cc @@ -70,7 +70,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -81,16 +81,16 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); @@ -99,14 +99,14 @@ int main(int argc, char** argv) try Scalar restartTime = getParam<Scalar>("Restart.Time", 0); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); if (restartTime > 0) { - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; const auto fileName = getParam<std::string>("Restart.File"); const auto pvName = createPVNameFunction<IOFields, PrimaryVariables, ModelTraits, FluidSystem>(); loadSolution(x, fileName, pvName, *fvGridGeometry); @@ -116,14 +116,14 @@ int main(int argc, char** argv) try auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(restartTime); @@ -142,7 +142,7 @@ int main(int argc, char** argv) try // the non-linear solver using NewtonSolver = PriVarSwitchNewtonSolver<Assembler, LinearSolver, - typename GET_PROP_TYPE(TypeTag, PrimaryVariableSwitch)>; + GetPropType<TypeTag, Properties::PrimaryVariableSwitch>>; NewtonSolver nonLinearSolver(assembler, linearSolver); // time loop diff --git a/test/porousmediumflow/2p2c/implicit/waterair/problem.hh b/test/porousmediumflow/2p2c/implicit/waterair/problem.hh index 34e0765bbb..e81752684a 100644 --- a/test/porousmediumflow/2p2c/implicit/waterair/problem.hh +++ b/test/porousmediumflow/2p2c/implicit/waterair/problem.hh @@ -62,13 +62,13 @@ SET_TYPE_PROP(WaterAir, Grid, Dune::YaspGrid<2>); SET_TYPE_PROP(WaterAir, Problem, WaterAirProblem<TypeTag>); // Set the wetting phase -SET_TYPE_PROP(WaterAir, FluidSystem, FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(WaterAir, FluidSystem, FluidSystems::H2ON2<GetPropType<TypeTag, Properties::Scalar>>); // Set the spatial parameters SET_PROP(WaterAir, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = WaterAirSpatialParams<FVGridGeometry, Scalar>; }; @@ -115,10 +115,10 @@ class WaterAirProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; // primary variable indices @@ -142,15 +142,15 @@ class WaterAirProblem : public PorousMediumFlowProblem<TypeTag> // component index enum { N2Idx = FluidSystem::N2Idx }; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; //! property that defines whether mole or mass fractions are used static constexpr bool useMoles = ModelTraits::useMoles(); diff --git a/test/porousmediumflow/2pnc/implicit/diffusion/main.cc b/test/porousmediumflow/2pnc/implicit/diffusion/main.cc index 4f9fa283d3..7e3e3a445c 100644 --- a/test/porousmediumflow/2pnc/implicit/diffusion/main.cc +++ b/test/porousmediumflow/2pnc/implicit/diffusion/main.cc @@ -92,7 +92,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -103,35 +103,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //! Add model specific output fields vtkWriter.write(0.0); @@ -150,7 +150,7 @@ int main(int argc, char** argv) try // the non-linear solver using NewtonSolver = PriVarSwitchNewtonSolver<Assembler, LinearSolver, - typename GET_PROP_TYPE(TypeTag, PrimaryVariableSwitch)>; + GetPropType<TypeTag, Properties::PrimaryVariableSwitch>>; NewtonSolver nonLinearSolver(assembler, linearSolver); // time loop diff --git a/test/porousmediumflow/2pnc/implicit/diffusion/problem.hh b/test/porousmediumflow/2pnc/implicit/diffusion/problem.hh index 4552640dc3..6bed53cc24 100644 --- a/test/porousmediumflow/2pnc/implicit/diffusion/problem.hh +++ b/test/porousmediumflow/2pnc/implicit/diffusion/problem.hh @@ -60,13 +60,13 @@ SET_TYPE_PROP(TwoPNCDiffusion, Problem, TwoPNCDiffusionProblem<TypeTag>); // // Set fluid configuration SET_TYPE_PROP(TwoPNCDiffusion, FluidSystem, - FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); + FluidSystems::H2ON2<GetPropType<TypeTag, Properties::Scalar>, FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); // Set the spatial parameters SET_PROP(TwoPNCDiffusion, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = TwoPNCDiffusionSpatialParams<FVGridGeometry, Scalar>; }; @@ -91,9 +91,9 @@ template <class TypeTag> class TwoPNCDiffusionProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; enum { // Grid and world dimension @@ -101,13 +101,13 @@ class TwoPNCDiffusionProblem : public PorousMediumFlowProblem<TypeTag> dimWorld = GridView::dimensionworld }; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; //! property that defines whether mole or mass fractions are used static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); diff --git a/test/porousmediumflow/2pnc/implicit/fuelcell/main.cc b/test/porousmediumflow/2pnc/implicit/fuelcell/main.cc index ff94252551..06bf864da9 100644 --- a/test/porousmediumflow/2pnc/implicit/fuelcell/main.cc +++ b/test/porousmediumflow/2pnc/implicit/fuelcell/main.cc @@ -92,7 +92,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -103,35 +103,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // initialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields problem->addVtkFields(vtkWriter); //!< Add problem specific output fields @@ -151,7 +151,7 @@ int main(int argc, char** argv) try // the non-linear solver using NewtonSolver = PriVarSwitchNewtonSolver<Assembler, LinearSolver, - typename GET_PROP_TYPE(TypeTag, PrimaryVariableSwitch)>; + GetPropType<TypeTag, Properties::PrimaryVariableSwitch>>; NewtonSolver nonLinearSolver(assembler, linearSolver); // time loop diff --git a/test/porousmediumflow/2pnc/implicit/fuelcell/problem.hh b/test/porousmediumflow/2pnc/implicit/fuelcell/problem.hh index 639f130eea..80cb58c680 100644 --- a/test/porousmediumflow/2pnc/implicit/fuelcell/problem.hh +++ b/test/porousmediumflow/2pnc/implicit/fuelcell/problem.hh @@ -70,8 +70,8 @@ SET_TYPE_PROP(FuelCell, Problem, FuelCellProblem<TypeTag>); // Set the spatial parameters SET_PROP(FuelCell, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FuelCellSpatialParams<FVGridGeometry, Scalar>; }; @@ -83,7 +83,7 @@ SET_PROP(FuelCell, Formulation) SET_PROP(FuelCell, FluidSystem) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; public: using type = FluidSystems::H2ON2O2<Scalar>; }; @@ -102,20 +102,20 @@ class FuelCellProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; // Select the electrochemistry method #ifdef NONISOTHERMAL using ElectroChemistry = typename Dumux::ElectroChemistryNI<Scalar, Indices, FluidSystem, FVGridGeometry, ElectroChemistryModel::Ochs>; diff --git a/test/porousmediumflow/2pncmin/implicit/main.cc b/test/porousmediumflow/2pncmin/implicit/main.cc index 643d7d5679..397aa70823 100644 --- a/test/porousmediumflow/2pncmin/implicit/main.cc +++ b/test/porousmediumflow/2pncmin/implicit/main.cc @@ -93,7 +93,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -104,16 +104,16 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); @@ -122,15 +122,15 @@ int main(int argc, char** argv) try Scalar restartTime = getParam<Scalar>("Restart.Time", 0); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); if (restartTime > 0) { - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using SolidSystem = typename GET_PROP_TYPE(TypeTag, SolidSystem); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using SolidSystem = GetPropType<TypeTag, Properties::SolidSystem>; const auto fileName = getParam<std::string>("Restart.File"); const auto pvName = createPVNameFunction<IOFields, PrimaryVariables, ModelTraits, FluidSystem, SolidSystem>(); loadSolution(x, fileName, pvName, *fvGridGeometry); @@ -140,14 +140,14 @@ int main(int argc, char** argv) try auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // initialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields //add specific output @@ -170,7 +170,7 @@ int main(int argc, char** argv) try // the non-linear solver using NewtonSolver = PriVarSwitchNewtonSolver<Assembler, LinearSolver, - typename GET_PROP_TYPE(TypeTag, PrimaryVariableSwitch)>; + GetPropType<TypeTag, Properties::PrimaryVariableSwitch>>; NewtonSolver nonLinearSolver(assembler, linearSolver); // time loop diff --git a/test/porousmediumflow/2pncmin/implicit/problem.hh b/test/porousmediumflow/2pncmin/implicit/problem.hh index fdcd49f7af..da652e24b0 100644 --- a/test/porousmediumflow/2pncmin/implicit/problem.hh +++ b/test/porousmediumflow/2pncmin/implicit/problem.hh @@ -65,13 +65,13 @@ SET_TYPE_PROP(Dissolution, Problem, DissolutionProblem<TypeTag>); // Set fluid configuration SET_PROP(Dissolution, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::BrineAir<Scalar, Components::H2O<Scalar>>; }; SET_PROP(Dissolution, SolidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using ComponentOne = Components::NaCl<Scalar>; using ComponentTwo = Components::Granite<Scalar>; static constexpr int numInertComponents = 1; @@ -81,8 +81,8 @@ SET_PROP(Dissolution, SolidSystem) // Set the spatial parameters SET_PROP(Dissolution, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = DissolutionSpatialParams<FVGridGeometry, Scalar>; }; @@ -115,12 +115,12 @@ template <class TypeTag> class DissolutionProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using SolidSystem = typename GET_PROP_TYPE(TypeTag, SolidSystem); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using SolidSystem = GetPropType<TypeTag, Properties::SolidSystem>; enum { @@ -158,14 +158,14 @@ class DissolutionProblem : public PorousMediumFlowProblem<TypeTag> dimWorld = GridView::dimensionworld, }; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using Element = typename GridView::template Codim<0>::Entity; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using GlobalPosition = typename SubControlVolume::GlobalPosition; @@ -194,7 +194,7 @@ public: temperatureHigh_ = getParam<Scalar>("FluidSystem.TemperatureHigh"); name_ = getParam<std::string>("Problem.Name"); - unsigned int codim = GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod == DiscretizationMethod::box ? dim : 0; + unsigned int codim = GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::box ? dim : 0; permeability_.resize(fvGridGeometry->gridView().size(codim)); FluidSystem::init(/*Tmin=*/temperatureLow_, diff --git a/test/porousmediumflow/3p/implicit/conduction/main.cc b/test/porousmediumflow/3p/implicit/conduction/main.cc index 1a790eb385..6752410495 100644 --- a/test/porousmediumflow/3p/implicit/conduction/main.cc +++ b/test/porousmediumflow/3p/implicit/conduction/main.cc @@ -99,7 +99,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -110,35 +110,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.addField(problem->getExactTemperature(), "temperatureExact"); diff --git a/test/porousmediumflow/3p/implicit/conduction/problem.hh b/test/porousmediumflow/3p/implicit/conduction/problem.hh index 51c5efe320..b64d90d5ee 100644 --- a/test/porousmediumflow/3p/implicit/conduction/problem.hh +++ b/test/porousmediumflow/3p/implicit/conduction/problem.hh @@ -68,13 +68,13 @@ SET_TYPE_PROP(ThreePNIConduction, Problem, ThreePNIConductionProblem<TypeTag>); // Set the fluid system SET_TYPE_PROP(ThreePNIConduction, FluidSystem, - FluidSystems::H2OAirMesitylene<typename GET_PROP_TYPE(TypeTag, Scalar)>); + FluidSystems::H2OAirMesitylene<GetPropType<TypeTag, Properties::Scalar>>); // Set the spatial parameters SET_PROP(ThreePNIConduction, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = ThreePNISpatialParams<FVGridGeometry, Scalar>; }; }// end namespace Properties @@ -108,20 +108,20 @@ class ThreePNIConductionProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using ThermalConductivityModel = typename GET_PROP_TYPE(TypeTag, ThermalConductivityModel); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using ThermalConductivityModel = GetPropType<TypeTag, Properties::ThermalConductivityModel>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; using IapwsH2O = Components::H2O<Scalar>; - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; // copy some indices for convenience - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { // index of the primary variables pressureIdx = Indices::pressureIdx, diff --git a/test/porousmediumflow/3p/implicit/convection/main.cc b/test/porousmediumflow/3p/implicit/convection/main.cc index 879736738f..7178581068 100644 --- a/test/porousmediumflow/3p/implicit/convection/main.cc +++ b/test/porousmediumflow/3p/implicit/convection/main.cc @@ -99,7 +99,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -110,35 +110,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.addField(problem->getExactTemperature(), "temperatureExact"); diff --git a/test/porousmediumflow/3p/implicit/convection/problem.hh b/test/porousmediumflow/3p/implicit/convection/problem.hh index ae65bf9816..fd2eaabbca 100644 --- a/test/porousmediumflow/3p/implicit/convection/problem.hh +++ b/test/porousmediumflow/3p/implicit/convection/problem.hh @@ -68,13 +68,13 @@ SET_TYPE_PROP(ThreePNIConvection, Problem, ThreePNIConvectionProblem<TypeTag>); // Set the fluid system SET_TYPE_PROP(ThreePNIConvection, FluidSystem, - FluidSystems::H2OAirMesitylene<typename GET_PROP_TYPE(TypeTag, Scalar)>); + FluidSystems::H2OAirMesitylene<GetPropType<TypeTag, Properties::Scalar>>); // Set the spatial parameters SET_PROP(ThreePNIConvection, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = ThreePNISpatialParams<FVGridGeometry, Scalar>; }; } // end namespace Properties @@ -108,22 +108,22 @@ class ThreePNIConvectionProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using IapwsH2O = Components::H2O<Scalar>; // copy some indices for convenience - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { // index of the primary variables pressureIdx = Indices::pressureIdx, diff --git a/test/porousmediumflow/3p/implicit/infiltration/main.cc b/test/porousmediumflow/3p/implicit/infiltration/main.cc index 047e0f05af..56a95196b2 100644 --- a/test/porousmediumflow/3p/implicit/infiltration/main.cc +++ b/test/porousmediumflow/3p/implicit/infiltration/main.cc @@ -99,7 +99,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -110,35 +110,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/3p/implicit/infiltration/problem.hh b/test/porousmediumflow/3p/implicit/infiltration/problem.hh index 3019d1d9f9..df732135d1 100644 --- a/test/porousmediumflow/3p/implicit/infiltration/problem.hh +++ b/test/porousmediumflow/3p/implicit/infiltration/problem.hh @@ -71,7 +71,7 @@ SET_TYPE_PROP(InfiltrationThreeP, Problem, InfiltrationThreePProblem<TypeTag>); SET_PROP(InfiltrationThreeP, FluidSystem) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Water = Components::TabulatedComponent<Components::H2O<Scalar>>; using WettingFluid = FluidSystems::OnePLiquid<Scalar, Water>; using NonwettingFluid = FluidSystems::OnePLiquid<Scalar, Components::Mesitylene<Scalar>>; @@ -83,8 +83,8 @@ public: // Set the spatial parameters SET_PROP(InfiltrationThreeP, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = InfiltrationThreePSpatialParams<FVGridGeometry, Scalar>; }; @@ -125,9 +125,9 @@ class InfiltrationThreePProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { pressureIdx = Indices::pressureIdx, @@ -138,11 +138,11 @@ class InfiltrationThreePProblem : public PorousMediumFlowProblem<TypeTag> dimWorld = GridView::dimensionworld }; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; diff --git a/test/porousmediumflow/3p3c/implicit/columnxylol/main.cc b/test/porousmediumflow/3p3c/implicit/columnxylol/main.cc index 119f9ae85b..07435b5275 100644 --- a/test/porousmediumflow/3p3c/implicit/columnxylol/main.cc +++ b/test/porousmediumflow/3p3c/implicit/columnxylol/main.cc @@ -97,7 +97,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -108,35 +108,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); @@ -156,7 +156,7 @@ int main(int argc, char** argv) try // the non-linear solver using NewtonSolver = PriVarSwitchNewtonSolver<Assembler, LinearSolver, - typename GET_PROP_TYPE(TypeTag, PrimaryVariableSwitch)>; + GetPropType<TypeTag, Properties::PrimaryVariableSwitch>>; NewtonSolver nonLinearSolver(assembler, linearSolver); // time loop diff --git a/test/porousmediumflow/3p3c/implicit/columnxylol/problem.hh b/test/porousmediumflow/3p3c/implicit/columnxylol/problem.hh index 06ea59fdf0..c1df02474e 100644 --- a/test/porousmediumflow/3p3c/implicit/columnxylol/problem.hh +++ b/test/porousmediumflow/3p3c/implicit/columnxylol/problem.hh @@ -67,11 +67,11 @@ SET_TYPE_PROP(Column, Problem, ColumnProblem<TypeTag>); // Set the fluid system SET_TYPE_PROP(Column, FluidSystem, - FluidSystems::H2OAirXylene<typename GET_PROP_TYPE(TypeTag, Scalar)>); + FluidSystems::H2OAirXylene<GetPropType<TypeTag, Properties::Scalar>>); SET_PROP(Column, SolidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using ComponentOne = Dumux::Components::Constant<1, Scalar>; using ComponentTwo = Dumux::Components::Constant<2, Scalar>; static constexpr int numInertComponents = 2; @@ -83,8 +83,8 @@ SET_PROP(Column, SolidSystem) SET_PROP(Column, SolidState) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using SolidSystem = typename GET_PROP_TYPE(TypeTag, SolidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using SolidSystem = GetPropType<TypeTag, Properties::SolidSystem>; public: using type = CompositionalSolidState<Scalar, SolidSystem>; }; @@ -92,8 +92,8 @@ public: // Set the spatial parameters SET_PROP(Column, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = ColumnSpatialParams<FVGridGeometry, Scalar>; }; } // end namespace Properties @@ -126,12 +126,12 @@ SET_PROP(Column, SpatialParams) template <class TypeTag > class ColumnProblem : public PorousMediumFlowProblem<TypeTag> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using ParentType = PorousMediumFlowProblem<TypeTag>; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; enum @@ -152,14 +152,14 @@ class ColumnProblem : public PorousMediumFlowProblem<TypeTag> threePhases = Indices::threePhases }; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; public: diff --git a/test/porousmediumflow/3p3c/implicit/infiltration/main.cc b/test/porousmediumflow/3p3c/implicit/infiltration/main.cc index 119f9ae85b..07435b5275 100644 --- a/test/porousmediumflow/3p3c/implicit/infiltration/main.cc +++ b/test/porousmediumflow/3p3c/implicit/infiltration/main.cc @@ -97,7 +97,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -108,35 +108,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); @@ -156,7 +156,7 @@ int main(int argc, char** argv) try // the non-linear solver using NewtonSolver = PriVarSwitchNewtonSolver<Assembler, LinearSolver, - typename GET_PROP_TYPE(TypeTag, PrimaryVariableSwitch)>; + GetPropType<TypeTag, Properties::PrimaryVariableSwitch>>; NewtonSolver nonLinearSolver(assembler, linearSolver); // time loop diff --git a/test/porousmediumflow/3p3c/implicit/infiltration/problem.hh b/test/porousmediumflow/3p3c/implicit/infiltration/problem.hh index 67ab069f9d..c5b344f053 100644 --- a/test/porousmediumflow/3p3c/implicit/infiltration/problem.hh +++ b/test/porousmediumflow/3p3c/implicit/infiltration/problem.hh @@ -62,15 +62,15 @@ SET_TYPE_PROP(InfiltrationThreePThreeC, Problem, InfiltrationThreePThreeCProblem // Set the spatial parameters SET_PROP(InfiltrationThreePThreeC, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = InfiltrationThreePThreeCSpatialParams<FVGridGeometry, Scalar>; }; // Set the fluid system SET_TYPE_PROP(InfiltrationThreePThreeC, FluidSystem, - FluidSystems::H2OAirMesitylene<typename GET_PROP_TYPE(TypeTag, Scalar)>); + FluidSystems::H2OAirMesitylene<GetPropType<TypeTag, Properties::Scalar>>); } /*! @@ -110,10 +110,10 @@ class InfiltrationThreePThreeCProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; // copy some indices for convenience enum { @@ -132,10 +132,10 @@ class InfiltrationThreePThreeCProblem : public PorousMediumFlowProblem<TypeTag> dimWorld = GridView::dimensionworld }; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; diff --git a/test/porousmediumflow/3p3c/implicit/kuevette/main.cc b/test/porousmediumflow/3p3c/implicit/kuevette/main.cc index 119f9ae85b..07435b5275 100644 --- a/test/porousmediumflow/3p3c/implicit/kuevette/main.cc +++ b/test/porousmediumflow/3p3c/implicit/kuevette/main.cc @@ -97,7 +97,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -108,35 +108,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); @@ -156,7 +156,7 @@ int main(int argc, char** argv) try // the non-linear solver using NewtonSolver = PriVarSwitchNewtonSolver<Assembler, LinearSolver, - typename GET_PROP_TYPE(TypeTag, PrimaryVariableSwitch)>; + GetPropType<TypeTag, Properties::PrimaryVariableSwitch>>; NewtonSolver nonLinearSolver(assembler, linearSolver); // time loop diff --git a/test/porousmediumflow/3p3c/implicit/kuevette/problem.hh b/test/porousmediumflow/3p3c/implicit/kuevette/problem.hh index 3853ff9262..12ae483295 100644 --- a/test/porousmediumflow/3p3c/implicit/kuevette/problem.hh +++ b/test/porousmediumflow/3p3c/implicit/kuevette/problem.hh @@ -68,15 +68,15 @@ SET_TYPE_PROP(Kuevette, Problem, KuevetteProblem<TypeTag>); // Set the spatial parameters SET_PROP(Kuevette, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = KuevetteSpatialParams<FVGridGeometry, Scalar>; }; // Set the fluid system SET_TYPE_PROP(Kuevette, FluidSystem, - FluidSystems::H2OAirMesitylene<typename GET_PROP_TYPE(TypeTag, Scalar)>); + FluidSystems::H2OAirMesitylene<GetPropType<TypeTag, Properties::Scalar>>); } // end namespace Properties /*! @@ -116,12 +116,12 @@ template <class TypeTag > class KuevetteProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using GridView = GetPropType<TypeTag, Properties::GridView>; // copy some indices for convenience - 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>; enum { pressureIdx = Indices::pressureIdx, @@ -141,14 +141,14 @@ class KuevetteProblem : public PorousMediumFlowProblem<TypeTag> dimWorld = GridView::dimensionworld }; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; using Element = typename GridView::template Codim<0>::Entity; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using GlobalPosition = typename SubControlVolumeFace::GlobalPosition; diff --git a/test/porousmediumflow/3pwateroil/implicit/main.cc b/test/porousmediumflow/3pwateroil/implicit/main.cc index 88859e6ce8..6022efbd94 100644 --- a/test/porousmediumflow/3pwateroil/implicit/main.cc +++ b/test/porousmediumflow/3pwateroil/implicit/main.cc @@ -96,7 +96,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -107,35 +107,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //! Add model specific output fields vtkWriter.write(0.0); @@ -155,7 +155,7 @@ int main(int argc, char** argv) try // the non-linear solver using NewtonSolver = PriVarSwitchNewtonSolver<Assembler, LinearSolver, - typename GET_PROP_TYPE(TypeTag, PrimaryVariableSwitch)>; + GetPropType<TypeTag, Properties::PrimaryVariableSwitch>>; NewtonSolver nonLinearSolver(assembler, linearSolver); // time loop diff --git a/test/porousmediumflow/3pwateroil/implicit/problem.hh b/test/porousmediumflow/3pwateroil/implicit/problem.hh index 1b8f8e5e37..2cc4a333dd 100644 --- a/test/porousmediumflow/3pwateroil/implicit/problem.hh +++ b/test/porousmediumflow/3pwateroil/implicit/problem.hh @@ -63,15 +63,15 @@ SET_TYPE_PROP(Sagd, Problem, Dumux::SagdProblem<TypeTag>); // Set the spatial parameters SET_PROP(Sagd, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = SagdSpatialParams<FVGridGeometry, Scalar>; }; // Set the fluid system SET_TYPE_PROP(Sagd, FluidSystem, - Dumux::FluidSystems::H2OHeavyOil<typename GET_PROP_TYPE(TypeTag, Scalar)>); + Dumux::FluidSystems::H2OHeavyOil<GetPropType<TypeTag, Properties::Scalar>>); SET_BOOL_PROP(Sagd, OnlyGasPhaseCanDisappear, true); @@ -80,7 +80,7 @@ SET_BOOL_PROP(Sagd, UseMoles, true); // Set the fluid system SET_PROP(Sagd, SolidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using InertComponent = Components::Constant<1, Scalar>; using type = SolidSystems::InertSolidPhase<Scalar, InertComponent>; }; @@ -99,11 +99,11 @@ template <class TypeTag > class SagdProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { pressureIdx = Indices::pressureIdx, switch1Idx = Indices::switch1Idx, @@ -124,12 +124,12 @@ class SagdProblem : public PorousMediumFlowProblem<TypeTag> dimWorld = GridView::dimensionworld }; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; using Element = typename GridView::template Codim<0>::Entity; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using GlobalPosition = typename SubControlVolumeFace::GlobalPosition; diff --git a/test/porousmediumflow/co2/implicit/main.cc b/test/porousmediumflow/co2/implicit/main.cc index 788482a034..f0da648fa3 100644 --- a/test/porousmediumflow/co2/implicit/main.cc +++ b/test/porousmediumflow/co2/implicit/main.cc @@ -69,7 +69,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -80,39 +80,39 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the spatial parameters - using SpatialParams = typename GET_PROP_TYPE(TypeTag, SpatialParams); + using SpatialParams = GetPropType<TypeTag, Properties::SpatialParams>; auto spatialParams = std::make_shared<SpatialParams>(fvGridGeometry, gridManager.getGridData()); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry, spatialParams); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields problem->addFieldsToWriter(vtkWriter); //!< Add some more problem dependent fields @@ -132,7 +132,7 @@ int main(int argc, char** argv) try // the non-linear solver using NewtonSolver = PriVarSwitchNewtonSolver<Assembler, LinearSolver, - typename GET_PROP_TYPE(TypeTag, PrimaryVariableSwitch)>; + GetPropType<TypeTag, Properties::PrimaryVariableSwitch>>; NewtonSolver nonLinearSolver(assembler, linearSolver); // time loop diff --git a/test/porousmediumflow/co2/implicit/problem.hh b/test/porousmediumflow/co2/implicit/problem.hh index 10475fb59c..f139ece44c 100644 --- a/test/porousmediumflow/co2/implicit/problem.hh +++ b/test/porousmediumflow/co2/implicit/problem.hh @@ -70,14 +70,14 @@ SET_TYPE_PROP(Heterogeneous, Grid, Dune::ALUGrid<2, 2, Dune::cube, Dune::nonconf SET_TYPE_PROP(Heterogeneous, Problem, HeterogeneousProblem<TypeTag>); // Set the spatial parameters -SET_TYPE_PROP(Heterogeneous, SpatialParams, HeterogeneousSpatialParams<typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(Heterogeneous, SpatialParams, HeterogeneousSpatialParams<GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::Scalar>>); // Set fluid configuration SET_TYPE_PROP(Heterogeneous, FluidSystem, - FluidSystems::BrineCO2<typename GET_PROP_TYPE(TypeTag, Scalar), + FluidSystems::BrineCO2<GetPropType<TypeTag, Properties::Scalar>, HeterogeneousCO2Tables::CO2Tables, - Components::TabulatedComponent<Components::H2O<typename GET_PROP_TYPE(TypeTag, Scalar)>>, + Components::TabulatedComponent<Components::H2O<GetPropType<TypeTag, Properties::Scalar>>>, FluidSystems::BrineCO2DefaultPolicy</*constantSalinity=*/true, /*simpleButFast=*/true>>); // Use Moles @@ -98,11 +98,11 @@ SET_TYPE_PROP(HeterogeneousNI, Grid, Dune::ALUGrid<2, 2, Dune::cube, Dune::nonco SET_TYPE_PROP(HeterogeneousNI, Problem, HeterogeneousProblem<TypeTag>); // Set the spatial parameters -SET_TYPE_PROP(HeterogeneousNI, SpatialParams,HeterogeneousSpatialParams<typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(HeterogeneousNI, SpatialParams,HeterogeneousSpatialParams<GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::Scalar>>); // Set fluid configuration -SET_TYPE_PROP(HeterogeneousNI, FluidSystem, FluidSystems::BrineCO2<typename GET_PROP_TYPE(TypeTag, Scalar), +SET_TYPE_PROP(HeterogeneousNI, FluidSystem, FluidSystems::BrineCO2<GetPropType<TypeTag, Properties::Scalar>, HeterogeneousCO2Tables::CO2Tables>); // Use Moles @@ -137,13 +137,13 @@ template <class TypeTag > class HeterogeneousProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; // copy some indices for convenience @@ -172,13 +172,13 @@ class HeterogeneousProblem : public PorousMediumFlowProblem<TypeTag> }; #endif - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using SubControlVolume = typename FVElementGeometry::SubControlVolume; @@ -188,7 +188,7 @@ class HeterogeneousProblem : public PorousMediumFlowProblem<TypeTag> static constexpr bool useMoles = ModelTraits::useMoles(); // the discretization method we are using - static constexpr auto discMethod = GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod; + static constexpr auto discMethod = GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod; // world dimension to access gravity vector static constexpr int dimWorld = GridView::dimensionworld; diff --git a/test/porousmediumflow/mpnc/implicit/2p2ccomparison/main.cc b/test/porousmediumflow/mpnc/implicit/2p2ccomparison/main.cc index 70ab0bce0a..5192ff2d88 100644 --- a/test/porousmediumflow/mpnc/implicit/2p2ccomparison/main.cc +++ b/test/porousmediumflow/mpnc/implicit/2p2ccomparison/main.cc @@ -101,7 +101,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -112,35 +112,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //! Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/mpnc/implicit/2p2ccomparison/problem.hh b/test/porousmediumflow/mpnc/implicit/2p2ccomparison/problem.hh index 3cfdc95be2..d0ced83930 100644 --- a/test/porousmediumflow/mpnc/implicit/2p2ccomparison/problem.hh +++ b/test/porousmediumflow/mpnc/implicit/2p2ccomparison/problem.hh @@ -66,16 +66,16 @@ SET_TYPE_PROP(MPNCComparison, Problem, MPNCComparisonProblem<TypeTag>); // Set the spatial parameters SET_PROP(MPNCComparison, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; using type = MPNCComparisonSpatialParams<FVGridGeometry, Scalar, FluidSystem>; }; // Set fluid configuration SET_TYPE_PROP(MPNCComparison, FluidSystem, - FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); + FluidSystems::H2ON2<GetPropType<TypeTag, Properties::Scalar>, FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); // decide which type to use for floating values (double / quad) SET_TYPE_PROP(MPNCComparison, Scalar, double); @@ -93,25 +93,25 @@ class MPNCComparisonProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NeumannFluxes = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NeumannFluxes = GetPropType<TypeTag, Properties::NumEqVector>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using FluidState = typename GET_PROP_TYPE(TypeTag, FluidState); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using FluidState = GetPropType<TypeTag, Properties::FluidState>; using ParameterCache = typename FluidSystem::ParameterCache; // world dimension enum {dimWorld = GridView::dimensionworld}; - enum {numPhases = GET_PROP_TYPE(TypeTag, ModelTraits)::numPhases()}; - enum {numComponents = GET_PROP_TYPE(TypeTag, ModelTraits)::numComponents()}; + enum {numPhases = GetPropType<TypeTag, Properties::ModelTraits>::numPhases()}; + enum {numComponents = GetPropType<TypeTag, Properties::ModelTraits>::numComponents()}; enum {gasPhaseIdx = FluidSystem::gasPhaseIdx}; enum {liquidPhaseIdx = FluidSystem::liquidPhaseIdx}; enum {wCompIdx = FluidSystem::H2OIdx}; @@ -123,7 +123,7 @@ class MPNCComparisonProblem using GlobalPosition = typename SubControlVolumeFace::GlobalPosition; using PhaseVector = Dune::FieldVector<Scalar, numPhases>; - static constexpr bool isBox = GET_PROP_TYPE(TypeTag, FVGridGeometry)::discMethod == DiscretizationMethod::box; + static constexpr bool isBox = GetPropType<TypeTag, Properties::FVGridGeometry>::discMethod == DiscretizationMethod::box; public: /*! diff --git a/test/porousmediumflow/mpnc/implicit/kinetic/main.cc b/test/porousmediumflow/mpnc/implicit/kinetic/main.cc index 6fb6b8ca98..cb7e70ceef 100644 --- a/test/porousmediumflow/mpnc/implicit/kinetic/main.cc +++ b/test/porousmediumflow/mpnc/implicit/kinetic/main.cc @@ -98,7 +98,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -109,37 +109,37 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(leafGridView.size(GridView::dimension)); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); problem->setGridVariables(gridVariables); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //! Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/mpnc/implicit/kinetic/plotoverline2d.hh b/test/porousmediumflow/mpnc/implicit/kinetic/plotoverline2d.hh index 6c159bdfa4..9ecb3957ee 100644 --- a/test/porousmediumflow/mpnc/implicit/kinetic/plotoverline2d.hh +++ b/test/porousmediumflow/mpnc/implicit/kinetic/plotoverline2d.hh @@ -41,15 +41,15 @@ namespace Dumux { template<class TypeTag> class PlotOverLine2D { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; enum { wPhaseIdx = FluidSystem::wPhaseIdx, diff --git a/test/porousmediumflow/mpnc/implicit/kinetic/problem.hh b/test/porousmediumflow/mpnc/implicit/kinetic/problem.hh index fda967b49a..ade83422d1 100644 --- a/test/porousmediumflow/mpnc/implicit/kinetic/problem.hh +++ b/test/porousmediumflow/mpnc/implicit/kinetic/problem.hh @@ -80,7 +80,7 @@ struct EvaporationAtmosphereBox { using InheritsFrom = std::tuple<EvaporationAtm } // end namespace TTag // Set the grid type -SET_TYPE_PROP(EvaporationAtmosphere, Grid, Dune::YaspGrid<2, Dune::TensorProductCoordinates<typename GET_PROP_TYPE(TypeTag, Scalar), 2> >); +SET_TYPE_PROP(EvaporationAtmosphere, Grid, Dune::YaspGrid<2, Dune::TensorProductCoordinates<GetPropType<TypeTag, Properties::Scalar>, 2> >); // Set the problem property SET_TYPE_PROP(EvaporationAtmosphere, Problem, EvaporationAtmosphereProblem<TypeTag>); @@ -88,7 +88,7 @@ SET_TYPE_PROP(EvaporationAtmosphere, Problem, EvaporationAtmosphereProblem<TypeT // Set fluid configuration SET_TYPE_PROP(EvaporationAtmosphere, FluidSystem, - FluidSystems::H2ON2Kinetic<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); + FluidSystems::H2ON2Kinetic<GetPropType<TypeTag, Properties::Scalar>, FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); //! Set the default pressure formulation: either pw first or pn first SET_PROP(EvaporationAtmosphere, PressureFormulation) @@ -103,7 +103,7 @@ SET_TYPE_PROP(EvaporationAtmosphere, Scalar, double); // Set the fluid system SET_PROP(EvaporationAtmosphere, SolidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using InertComponent = Components::Constant<1, Scalar>; using type = SolidSystems::InertSolidPhase<Scalar, InertComponent>; }; @@ -114,8 +114,8 @@ SET_TYPE_PROP(EvaporationAtmosphere, SpatialParams, EvaporationAtmosphereSpatial // Set the interfacial area relation: wetting -- non-wetting SET_PROP(EvaporationAtmosphere, AwnSurface) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using MaterialLaw = typename GET_PROP_TYPE(TypeTag, SpatialParams)::MaterialLaw; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using MaterialLaw = typename GetPropType<TypeTag, Properties::SpatialParams>::MaterialLaw; using MaterialLawParams = typename MaterialLaw::Params; using EffectiveIALaw = AwnSurfacePcMaxFct<Scalar>; public: @@ -126,8 +126,8 @@ public: // Set the interfacial area relation: wetting -- solid SET_PROP(EvaporationAtmosphere, AwsSurface) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using MaterialLaw = typename GET_PROP_TYPE(TypeTag, SpatialParams)::MaterialLaw; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using MaterialLaw = typename GetPropType<TypeTag, Properties::SpatialParams>::MaterialLaw; using MaterialLawParams = typename MaterialLaw::Params; using EffectiveIALaw = AwnSurfacePolynomial2ndOrder<Scalar>; public: @@ -137,8 +137,8 @@ public: // Set the interfacial area relation: non-wetting -- solid SET_PROP(EvaporationAtmosphere, AnsSurface) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using MaterialLaw = typename GET_PROP_TYPE(TypeTag, SpatialParams)::MaterialLaw; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using MaterialLaw = typename GetPropType<TypeTag, Properties::SpatialParams>::MaterialLaw; using MaterialLawParams = typename MaterialLaw::Params; using EffectiveIALaw = AwnSurfaceExpSwPcTo3<Scalar>; public: @@ -156,25 +156,25 @@ template <class TypeTag> class EvaporationAtmosphereProblem: public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + 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 Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using FluidState = typename GET_PROP_TYPE(TypeTag, FluidState); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using FluidState = GetPropType<TypeTag, Properties::FluidState>; using ParameterCache = typename FluidSystem::ParameterCache; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; enum { dimWorld = GridView::dimensionworld }; diff --git a/test/porousmediumflow/mpnc/implicit/kinetic/spatialparams.hh b/test/porousmediumflow/mpnc/implicit/kinetic/spatialparams.hh index 7bdbb5e182..58f32f356b 100644 --- a/test/porousmediumflow/mpnc/implicit/kinetic/spatialparams.hh +++ b/test/porousmediumflow/mpnc/implicit/kinetic/spatialparams.hh @@ -43,12 +43,12 @@ namespace Dumux { */ template<class TypeTag> class EvaporationAtmosphereSpatialParams -: public FVSpatialParams<typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, Scalar), +: public FVSpatialParams<GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::Scalar>, EvaporationAtmosphereSpatialParams<TypeTag>> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + 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; @@ -58,10 +58,10 @@ class EvaporationAtmosphereSpatialParams using GlobalPosition = Dune::FieldVector<Scalar, GridView::dimension>; enum { dimWorld = GridView::dimensionworld }; - enum { numPhases = GET_PROP_TYPE(TypeTag, ModelTraits)::numPhases() }; + enum { numPhases = GetPropType<TypeTag, Properties::ModelTraits>::numPhases() }; - using FluidState = typename GET_PROP_TYPE(TypeTag, FluidState); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidState = GetPropType<TypeTag, Properties::FluidState>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; enum { liquidPhaseIdx = FluidSystem::liquidPhaseIdx }; public: @@ -70,9 +70,9 @@ public: //! export the material law type used using MaterialLaw = TwoPAdapter<liquidPhaseIdx, EffToAbsLaw<RegularizedBrooksCorey<Scalar>>>; //! export the types used for interfacial area calculations - using AwnSurface = typename GET_PROP_TYPE(TypeTag, AwnSurface); - using AwsSurface = typename GET_PROP_TYPE(TypeTag, AwsSurface); - using AnsSurface = typename GET_PROP_TYPE(TypeTag, AnsSurface); + using AwnSurface = GetPropType<TypeTag, Properties::AwnSurface>; + using AwsSurface = GetPropType<TypeTag, Properties::AwsSurface>; + using AnsSurface = GetPropType<TypeTag, Properties::AnsSurface>; //! convenience aliases of the law parameters using MaterialLawParams = typename MaterialLaw::Params; diff --git a/test/porousmediumflow/mpnc/implicit/obstacle/main.cc b/test/porousmediumflow/mpnc/implicit/obstacle/main.cc index 70ab0bce0a..5192ff2d88 100644 --- a/test/porousmediumflow/mpnc/implicit/obstacle/main.cc +++ b/test/porousmediumflow/mpnc/implicit/obstacle/main.cc @@ -101,7 +101,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -112,35 +112,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //! Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/mpnc/implicit/obstacle/problem.hh b/test/porousmediumflow/mpnc/implicit/obstacle/problem.hh index 7e4333a13f..05a0579981 100644 --- a/test/porousmediumflow/mpnc/implicit/obstacle/problem.hh +++ b/test/porousmediumflow/mpnc/implicit/obstacle/problem.hh @@ -69,16 +69,16 @@ SET_TYPE_PROP(Obstacle, Problem, ObstacleProblem<TypeTag>); // Set the spatial parameters SET_PROP(Obstacle, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; using type = ObstacleSpatialParams<FVGridGeometry, Scalar, FluidSystem>; }; // Set fluid configuration SET_TYPE_PROP(Obstacle, FluidSystem, - FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); + FluidSystems::H2ON2<GetPropType<TypeTag, Properties::Scalar>, FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); // decide which type to use for floating values (double / quad) SET_TYPE_PROP(Obstacle, Scalar, double); @@ -118,22 +118,22 @@ class ObstacleProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + 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 Element = typename GridView::template Codim<0>::Entity; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using FluidState = typename GET_PROP_TYPE(TypeTag, FluidState); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using FluidState = GetPropType<TypeTag, Properties::FluidState>; using ParameterCache = typename FluidSystem::ParameterCache; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; enum { dimWorld = GridView::dimensionworld }; diff --git a/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/main.cc b/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/main.cc index af9667d855..3484cc509c 100644 --- a/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/main.cc +++ b/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/main.cc @@ -98,7 +98,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -109,36 +109,36 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); problem->setGridVariables(gridVariables); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //! Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/problem.hh b/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/problem.hh index d58d684aa6..a5b63ee8c3 100644 --- a/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/problem.hh +++ b/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/problem.hh @@ -76,7 +76,7 @@ SET_TYPE_PROP(CombustionOneComponent, SET_TYPE_PROP(CombustionOneComponent, FluidSystem, - FluidSystems::CombustionFluidsystem<typename GET_PROP_TYPE(TypeTag, Scalar)>); + FluidSystems::CombustionFluidsystem<GetPropType<TypeTag, Properties::Scalar>>); //! Set the default pressure formulation: either pw first or pn first SET_PROP(CombustionOneComponent, PressureFormulation) @@ -93,7 +93,7 @@ SET_TYPE_PROP(CombustionOneComponent, Scalar, double ); SET_PROP(CombustionOneComponent, EquilibriumModelTraits) { private: - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = CombustionModelTraits< FluidSystem::numPhases, FluidSystem::numComponents, @@ -104,8 +104,8 @@ public: SET_PROP(CombustionOneComponent, FluidState) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; public: using type = CompositionalFluidState<Scalar, FluidSystem>; }; @@ -121,7 +121,7 @@ SET_BOOL_PROP(CombustionOneComponent, EnableChemicalNonEquilibrium, false); SET_PROP(CombustionOneComponent, SolidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using ComponentOne = Dumux::Components::Constant<1, Scalar>; using ComponentTwo = Dumux::Components::Constant<2, Scalar>; static constexpr int numInertComponents = 2; @@ -131,8 +131,8 @@ SET_PROP(CombustionOneComponent, SolidSystem) SET_PROP(CombustionOneComponent, SolidState) { private: - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using SolidSystem = typename GET_PROP_TYPE(TypeTag, SolidSystem); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using SolidSystem = GetPropType<TypeTag, Properties::SolidSystem>; public: using type = CompositionalSolidState<Scalar, SolidSystem>; }; @@ -150,24 +150,24 @@ template<class TypeTag> class CombustionProblemOneComponent: public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + 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 Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using FluidState = typename GET_PROP_TYPE(TypeTag, FluidState); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using FluidState = GetPropType<TypeTag, Properties::FluidState>; using ParameterCache = typename FluidSystem::ParameterCache; - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; using Indices = typename ModelTraits::Indices; enum {dimWorld = GridView::dimensionworld}; diff --git a/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/spatialparams.hh b/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/spatialparams.hh index d90838f6af..edb715a669 100644 --- a/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/spatialparams.hh +++ b/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/spatialparams.hh @@ -41,12 +41,12 @@ namespace Dumux { */ template<class TypeTag> class CombustionSpatialParams -: public FVSpatialParams<typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, Scalar), +: public FVSpatialParams<GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::Scalar>, CombustionSpatialParams<TypeTag>> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + 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; @@ -58,7 +58,7 @@ class CombustionSpatialParams using EffectiveLaw = HeatPipeLaw<Scalar>; - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; enum {wPhaseIdx = FluidSystem::wPhaseIdx}; public: diff --git a/test/porousmediumflow/richards/implicit/analytical/main.cc b/test/porousmediumflow/richards/implicit/analytical/main.cc index 8c048ec2dd..2eaf91e953 100644 --- a/test/porousmediumflow/richards/implicit/analytical/main.cc +++ b/test/porousmediumflow/richards/implicit/analytical/main.cc @@ -94,7 +94,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -105,35 +105,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/richards/implicit/analytical/problem.hh b/test/porousmediumflow/richards/implicit/analytical/problem.hh index 145ddd32f0..998fabe5b2 100644 --- a/test/porousmediumflow/richards/implicit/analytical/problem.hh +++ b/test/porousmediumflow/richards/implicit/analytical/problem.hh @@ -75,8 +75,8 @@ SET_TYPE_PROP(RichardsAnalytical, Problem, RichardsAnalyticalProblem<TypeTag>); // Set the spatial parameters SET_PROP(RichardsAnalytical, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = RichardsAnalyticalSpatialParams<FVGridGeometry, Scalar>; }; } // end namespace Properties @@ -100,14 +100,14 @@ template <class TypeTag> class RichardsAnalyticalProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; enum { // copy some indices for convenience pwIdx = Indices::pressureIdx, diff --git a/test/porousmediumflow/richards/implicit/lens/main.cc b/test/porousmediumflow/richards/implicit/lens/main.cc index cfca7cc7c5..ed5cb271c3 100644 --- a/test/porousmediumflow/richards/implicit/lens/main.cc +++ b/test/porousmediumflow/richards/implicit/lens/main.cc @@ -70,7 +70,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -81,27 +81,27 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // check if we are about to restart a previously interrupted simulation - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto restartTime = getParam<Scalar>("Restart.Time", 0); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); if (restartTime > 0) { - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using ModelTraits = typename GET_PROP_TYPE(TypeTag, ModelTraits); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using ModelTraits = GetPropType<TypeTag, Properties::ModelTraits>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; const auto fileName = getParam<std::string>("Restart.File"); loadSolution(x, fileName, createPVNameFunction<IOFields, PrimaryVariables, ModelTraits, FluidSystem>(), *fvGridGeometry); } @@ -113,14 +113,14 @@ int main(int argc, char** argv) try auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(restartTime); diff --git a/test/porousmediumflow/richards/implicit/lens/problem.hh b/test/porousmediumflow/richards/implicit/lens/problem.hh index f325d615a7..42ace1cc45 100644 --- a/test/porousmediumflow/richards/implicit/lens/problem.hh +++ b/test/porousmediumflow/richards/implicit/lens/problem.hh @@ -76,8 +76,8 @@ SET_TYPE_PROP(RichardsLens, Grid, GRIDTYPE); SET_TYPE_PROP(RichardsLens, Problem, RichardsLensProblem<TypeTag>); // Set the spatial parameters -SET_TYPE_PROP(RichardsLens, SpatialParams, RichardsLensSpatialParams<typename GET_PROP_TYPE(TypeTag, FVGridGeometry), - typename GET_PROP_TYPE(TypeTag, Scalar)>); +SET_TYPE_PROP(RichardsLens, SpatialParams, RichardsLensSpatialParams<GetPropType<TypeTag, Properties::FVGridGeometry>, + GetPropType<TypeTag, Properties::Scalar>>); } // end namespace Dumux /*! @@ -111,13 +111,13 @@ template <class TypeTag> class RichardsLensProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; enum { // copy some indices for convenience pressureIdx = Indices::pressureIdx, diff --git a/test/porousmediumflow/richards/implicit/nonisothermal/conduction/main.cc b/test/porousmediumflow/richards/implicit/nonisothermal/conduction/main.cc index 5c87ef1564..22b9628ceb 100644 --- a/test/porousmediumflow/richards/implicit/nonisothermal/conduction/main.cc +++ b/test/porousmediumflow/richards/implicit/nonisothermal/conduction/main.cc @@ -94,7 +94,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -105,35 +105,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.addField(problem->getExactTemperature(), "temperatureExact"); diff --git a/test/porousmediumflow/richards/implicit/nonisothermal/conduction/problem.hh b/test/porousmediumflow/richards/implicit/nonisothermal/conduction/problem.hh index ed7b8ea221..405beb4cfe 100644 --- a/test/porousmediumflow/richards/implicit/nonisothermal/conduction/problem.hh +++ b/test/porousmediumflow/richards/implicit/nonisothermal/conduction/problem.hh @@ -64,13 +64,13 @@ SET_TYPE_PROP(RichardsNIConduction, Problem, RichardsNIConductionProblem<TypeTag>); // Set the fluid system -SET_TYPE_PROP(RichardsNIConduction, FluidSystem, FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); +SET_TYPE_PROP(RichardsNIConduction, FluidSystem, FluidSystems::H2ON2<GetPropType<TypeTag, Properties::Scalar>, FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); // Set the spatial parameters SET_PROP(RichardsNIConduction, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = RichardsNISpatialParams<FVGridGeometry, Scalar>; }; } // end namespace Properties @@ -102,19 +102,19 @@ class RichardsNIConductionProblem :public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using ThermalConductivityModel = typename GET_PROP_TYPE(TypeTag, ThermalConductivityModel); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using ThermalConductivityModel = GetPropType<TypeTag, Properties::ThermalConductivityModel>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; using IapwsH2O = Components::H2O<Scalar>; - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { dimWorld = GridView::dimensionworld }; enum { diff --git a/test/porousmediumflow/richards/implicit/nonisothermal/convection/main.cc b/test/porousmediumflow/richards/implicit/nonisothermal/convection/main.cc index 5c87ef1564..22b9628ceb 100644 --- a/test/porousmediumflow/richards/implicit/nonisothermal/convection/main.cc +++ b/test/porousmediumflow/richards/implicit/nonisothermal/convection/main.cc @@ -94,7 +94,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -105,35 +105,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.addField(problem->getExactTemperature(), "temperatureExact"); diff --git a/test/porousmediumflow/richards/implicit/nonisothermal/convection/problem.hh b/test/porousmediumflow/richards/implicit/nonisothermal/convection/problem.hh index 1dc1649fb4..b8daec3437 100644 --- a/test/porousmediumflow/richards/implicit/nonisothermal/convection/problem.hh +++ b/test/porousmediumflow/richards/implicit/nonisothermal/convection/problem.hh @@ -64,13 +64,13 @@ SET_TYPE_PROP(RichardsNIConvection, Grid, Dune::YaspGrid<2>); SET_TYPE_PROP(RichardsNIConvection, Problem, RichardsNIConvectionProblem<TypeTag>); // Set the fluid system -SET_TYPE_PROP(RichardsNIConvection, FluidSystem, FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); +SET_TYPE_PROP(RichardsNIConvection, FluidSystem, FluidSystems::H2ON2<GetPropType<TypeTag, Properties::Scalar>, FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); // Set the spatial parameters SET_PROP(RichardsNIConvection, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = RichardsNISpatialParams<FVGridGeometry, Scalar>; }; } // end namespace Properties @@ -104,23 +104,23 @@ class RichardsNIConvectionProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using ThermalConductivityModel = typename GET_PROP_TYPE(TypeTag, ThermalConductivityModel); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using ThermalConductivityModel = GetPropType<TypeTag, Properties::ThermalConductivityModel>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; using IapwsH2O = Components::H2O<Scalar>; // copy some indices for convenience - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { dimWorld = GridView::dimensionworld }; enum { diff --git a/test/porousmediumflow/richards/implicit/nonisothermal/evaporation/main.cc b/test/porousmediumflow/richards/implicit/nonisothermal/evaporation/main.cc index 9fe53abe8f..1ad1d7650e 100644 --- a/test/porousmediumflow/richards/implicit/nonisothermal/evaporation/main.cc +++ b/test/porousmediumflow/richards/implicit/nonisothermal/evaporation/main.cc @@ -67,7 +67,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -78,35 +78,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/richards/implicit/nonisothermal/evaporation/problem.hh b/test/porousmediumflow/richards/implicit/nonisothermal/evaporation/problem.hh index 2cf31be6dd..80bbab32ac 100644 --- a/test/porousmediumflow/richards/implicit/nonisothermal/evaporation/problem.hh +++ b/test/porousmediumflow/richards/implicit/nonisothermal/evaporation/problem.hh @@ -63,13 +63,13 @@ SET_TYPE_PROP(RichardsNIEvaporation, Problem, RichardsNIEvaporationProblem<TypeTag>); // Set the fluid system -SET_TYPE_PROP(RichardsNIEvaporation, FluidSystem, FluidSystems::H2ON2<typename GET_PROP_TYPE(TypeTag, Scalar), FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); +SET_TYPE_PROP(RichardsNIEvaporation, FluidSystem, FluidSystems::H2ON2<GetPropType<TypeTag, Properties::Scalar>, FluidSystems::H2ON2DefaultPolicy</*fastButSimplifiedRelations=*/true>>); // Set the spatial parameters SET_PROP(RichardsNIEvaporation, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = RichardsNISpatialParams<FVGridGeometry, Scalar>; }; @@ -93,24 +93,24 @@ class RichardsNIEvaporationProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using GridView = GetPropType<TypeTag, Properties::GridView>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolumeFace = typename FVGridGeometry::SubControlVolumeFace; - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using ThermalConductivityModel = typename GET_PROP_TYPE(TypeTag, ThermalConductivityModel); - using GridVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables); + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using ThermalConductivityModel = GetPropType<TypeTag, Properties::ThermalConductivityModel>; + using GridVolumeVariables = GetPropType<TypeTag, Properties::GridVolumeVariables>; using ElementVolumeVariables = typename GridVolumeVariables::LocalView; using VolumeVariables = typename GridVolumeVariables::VolumeVariables; - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; using IapwsH2O = Components::H2O<Scalar>; // copy some indices for convenience - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { dimWorld = GridView::dimensionworld }; enum { diff --git a/test/porousmediumflow/richardsnc/implicit/main.cc b/test/porousmediumflow/richardsnc/implicit/main.cc index 89fa2370cc..6f72075d1c 100644 --- a/test/porousmediumflow/richardsnc/implicit/main.cc +++ b/test/porousmediumflow/richardsnc/implicit/main.cc @@ -94,7 +94,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -105,36 +105,36 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); problem->computePointSourceMap(); // enable point sources // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/richardsnc/implicit/problem.hh b/test/porousmediumflow/richardsnc/implicit/problem.hh index 40d231ba54..a92164a8da 100644 --- a/test/porousmediumflow/richardsnc/implicit/problem.hh +++ b/test/porousmediumflow/richardsnc/implicit/problem.hh @@ -65,8 +65,8 @@ SET_TYPE_PROP(RichardsWellTracer, Problem, RichardsWellTracerProblem<TypeTag>); // Set the spatial parameters SET_PROP(RichardsWellTracer, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = RichardsWellTracerSpatialParams<FVGridGeometry, Scalar>; }; @@ -104,21 +104,21 @@ template <class TypeTag> class RichardsWellTracerProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; - using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; + using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using PointSource = typename GET_PROP_TYPE(TypeTag, PointSource); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using PointSource = GetPropType<TypeTag, Properties::PointSource>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; enum { pressureIdx = Indices::pressureIdx, compIdx = Indices::compMainIdx + 1, diff --git a/test/porousmediumflow/tracer/1ptracer/main.cc b/test/porousmediumflow/tracer/1ptracer/main.cc index 86a587b6a0..4a755045f8 100644 --- a/test/porousmediumflow/tracer/1ptracer/main.cc +++ b/test/porousmediumflow/tracer/1ptracer/main.cc @@ -73,7 +73,7 @@ int main(int argc, char** argv) try ///////////////////////////////////////////////////////////////////// // only create the grid once using the 1p type tag - GridManager<typename GET_PROP_TYPE(OnePTypeTag, Grid)> gridManager; + GridManager<GetPropType<OnePTypeTag, Properties::Grid>> gridManager; gridManager.init(); //! we compute on the leaf grid view @@ -84,17 +84,17 @@ int main(int argc, char** argv) try //////////////////////////////////////////////////////////// //! create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(OnePTypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<OnePTypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); //! the problem (boundary conditions) - using OnePProblem = typename GET_PROP_TYPE(OnePTypeTag, Problem); + using OnePProblem = GetPropType<OnePTypeTag, Properties::Problem>; auto problemOneP = std::make_shared<OnePProblem>(fvGridGeometry); //! the solution vector - using JacobianMatrix = typename GET_PROP_TYPE(OnePTypeTag, JacobianMatrix); - using SolutionVector = typename GET_PROP_TYPE(OnePTypeTag, SolutionVector); + using JacobianMatrix = GetPropType<OnePTypeTag, Properties::JacobianMatrix>; + using SolutionVector = GetPropType<OnePTypeTag, Properties::SolutionVector>; SolutionVector p(leafGridView.size(0)); //! the linear system @@ -102,7 +102,7 @@ int main(int argc, char** argv) try auto r = std::make_shared<SolutionVector>(); //! the grid variables - using OnePGridVariables = typename GET_PROP_TYPE(OnePTypeTag, GridVariables); + using OnePGridVariables = GetPropType<OnePTypeTag, Properties::GridVariables>; auto onePGridVariables = std::make_shared<OnePGridVariables>(problemOneP, fvGridGeometry); onePGridVariables->init(p); @@ -133,7 +133,7 @@ int main(int argc, char** argv) try updateTimer.elapsed(); std::cout << " took " << updateTimer.elapsed() << std::endl; //! write output to vtk - using GridView = typename GET_PROP_TYPE(OnePTypeTag, GridView); + using GridView = GetPropType<OnePTypeTag, Properties::GridView>; Dune::VTKWriter<GridView> onepWriter(leafGridView); onepWriter.addCellData(p, "p"); const auto& k = problemOneP->spatialParams().getKField(); @@ -150,10 +150,10 @@ int main(int argc, char** argv) try //////////////////////////////////////////////////////////// // compute volume fluxes for the tracer model //////////////////////////////////////////////////////////// - using Scalar = typename GET_PROP_TYPE(OnePTypeTag, Scalar); + using Scalar = GetPropType<OnePTypeTag, Properties::Scalar>; std::vector<Scalar> volumeFlux(fvGridGeometry->numScvf(), 0.0); - using FluxVariables = typename GET_PROP_TYPE(OnePTypeTag, FluxVariables); + using FluxVariables = GetPropType<OnePTypeTag, Properties::FluxVariables>; auto upwindTerm = [](const auto& volVars) { return volVars.mobility(0); }; for (const auto& element : elements(leafGridView)) { @@ -194,7 +194,7 @@ int main(int argc, char** argv) try //////////////////////////////////////////////////////////// //! the problem (initial and boundary conditions) - using TracerProblem = typename GET_PROP_TYPE(TracerTypeTag, Problem); + using TracerProblem = GetPropType<TracerTypeTag, Properties::Problem>; auto tracerProblem = std::make_shared<TracerProblem>(fvGridGeometry); // set the flux from the 1p problem @@ -206,7 +206,7 @@ int main(int argc, char** argv) try auto xOld = x; //! the grid variables - using GridVariables = typename GET_PROP_TYPE(TracerTypeTag, GridVariables); + using GridVariables = GetPropType<TracerTypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(tracerProblem, fvGridGeometry); gridVariables->init(x, xOld); @@ -226,9 +226,9 @@ int main(int argc, char** argv) try //! intialize the vtk output module VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, tracerProblem->name()); - using IOFields = typename GET_PROP_TYPE(TracerTypeTag, IOFields); + using IOFields = GetPropType<TracerTypeTag, Properties::IOFields>; IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields - using VelocityOutput = typename GET_PROP_TYPE(TracerTypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TracerTypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); vtkWriter.write(0.0); diff --git a/test/porousmediumflow/tracer/1ptracer/problem_1p.hh b/test/porousmediumflow/tracer/1ptracer/problem_1p.hh index 035b86f09a..b9e8d96ba5 100644 --- a/test/porousmediumflow/tracer/1ptracer/problem_1p.hh +++ b/test/porousmediumflow/tracer/1ptracer/problem_1p.hh @@ -59,8 +59,8 @@ SET_TYPE_PROP(IncompressibleTest, Problem, OnePTestProblem<TypeTag>); SET_PROP(IncompressibleTest, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = OnePTestSpatialParams<FVGridGeometry, Scalar>; }; @@ -69,7 +69,7 @@ SET_TYPE_PROP(IncompressibleTest, LocalResidual, OnePIncompressibleLocalResidual // the fluid system SET_PROP(IncompressibleTest, FluidSystem) { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = FluidSystems::OnePLiquid<Scalar, Components::SimpleH2O<Scalar> >; }; @@ -83,14 +83,14 @@ template<class TypeTag> class OnePTestProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; static constexpr int dimWorld = GridView::dimensionworld; diff --git a/test/porousmediumflow/tracer/1ptracer/problem_tracer.hh b/test/porousmediumflow/tracer/1ptracer/problem_tracer.hh index 6f7b7f3001..4a64273fa0 100644 --- a/test/porousmediumflow/tracer/1ptracer/problem_tracer.hh +++ b/test/porousmediumflow/tracer/1ptracer/problem_tracer.hh @@ -64,8 +64,8 @@ SET_TYPE_PROP(TracerTest, Problem, TracerTestProblem<TypeTag>); // Set the spatial parameters SET_PROP(TracerTest, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = TracerTestSpatialParams<FVGridGeometry, Scalar>; }; @@ -75,14 +75,14 @@ SET_BOOL_PROP(TracerTestCC, SolutionDependentMolecularDiffusion, false); //! A simple fluid system with one tracer component template<class TypeTag> -class TracerFluidSystem : public FluidSystems::Base<typename GET_PROP_TYPE(TypeTag, Scalar), +class TracerFluidSystem : public FluidSystems::Base<GetPropType<TypeTag, Properties::Scalar>, TracerFluidSystem<TypeTag>> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; public: @@ -141,14 +141,14 @@ class TracerTestProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using SpatialParams = typename GET_PROP_TYPE(TypeTag, SpatialParams); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using SpatialParams = GetPropType<TypeTag, Properties::SpatialParams>; //! property that defines whether mole or mass fractions are used static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); diff --git a/test/porousmediumflow/tracer/constvel/main.cc b/test/porousmediumflow/tracer/constvel/main.cc index 3f84df8b21..5c31af3677 100644 --- a/test/porousmediumflow/tracer/constvel/main.cc +++ b/test/porousmediumflow/tracer/constvel/main.cc @@ -62,7 +62,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; try { gridManager.init(); } catch (...) { std::cout << "\n\t -> Creation of the grid failed! <- \n\n"; @@ -77,27 +77,27 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); //! create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); //! the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); //! the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; //! the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); //! get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); @@ -109,7 +109,7 @@ int main(int argc, char** argv) try //! the assembler with time loop for instationary problem using Assembler = FVAssembler<TypeTag, DiffMethod::analytic, IMPLICIT>; auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop); - using JacobianMatrix = typename GET_PROP_TYPE(TypeTag, JacobianMatrix); + using JacobianMatrix = GetPropType<TypeTag, Properties::JacobianMatrix>; auto A = std::make_shared<JacobianMatrix>(); auto r = std::make_shared<SolutionVector>(); assembler->setLinearSystem(A, r); @@ -120,9 +120,9 @@ int main(int argc, char** argv) try //! intialize the vtk output module VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; IOFields::initOutputModule(vtkWriter); //!< Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/tracer/constvel/problem.hh b/test/porousmediumflow/tracer/constvel/problem.hh index 20eae5cd36..d08d1ac3e7 100644 --- a/test/porousmediumflow/tracer/constvel/problem.hh +++ b/test/porousmediumflow/tracer/constvel/problem.hh @@ -72,8 +72,8 @@ SET_TYPE_PROP(TracerTest, Problem, TracerTest<TypeTag>); // Set the spatial parameters SET_PROP(TracerTest, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = TracerTestSpatialParams<FVGridGeometry, Scalar>; }; @@ -82,14 +82,14 @@ SET_BOOL_PROP(TracerTest, UseMoles, USEMOLES); //! A simple fluid system with one tracer component template<class TypeTag> -class TracerFluidSystem : public FluidSystems::Base<typename GET_PROP_TYPE(TypeTag, Scalar), +class TracerFluidSystem : public FluidSystems::Base<GetPropType<TypeTag, Properties::Scalar>, TracerFluidSystem<TypeTag>> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; public: @@ -167,14 +167,14 @@ class TracerTest : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using SpatialParams = typename GET_PROP_TYPE(TypeTag, SpatialParams); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using SpatialParams = GetPropType<TypeTag, Properties::SpatialParams>; //! property that defines whether mole or mass fractions are used static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); diff --git a/test/porousmediumflow/tracer/multicomp/main.cc b/test/porousmediumflow/tracer/multicomp/main.cc index e1e01cc2a4..84a0eaab17 100644 --- a/test/porousmediumflow/tracer/multicomp/main.cc +++ b/test/porousmediumflow/tracer/multicomp/main.cc @@ -101,7 +101,7 @@ int main(int argc, char** argv) try Parameters::init(argc, argv, usage); // try to create a grid (from the given grid file or the input file) - GridManager<typename GET_PROP_TYPE(TypeTag, Grid)> gridManager; + GridManager<GetPropType<TypeTag, Properties::Grid>> gridManager; gridManager.init(); //////////////////////////////////////////////////////////// @@ -112,35 +112,35 @@ int main(int argc, char** argv) try const auto& leafGridView = gridManager.grid().leafGridView(); // create the finite volume grid geometry - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; auto fvGridGeometry = std::make_shared<FVGridGeometry>(leafGridView); fvGridGeometry->update(); // the problem (initial and boundary conditions) - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); + using Problem = GetPropType<TypeTag, Properties::Problem>; auto problem = std::make_shared<Problem>(fvGridGeometry); // the solution vector - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; SolutionVector x(fvGridGeometry->numDofs()); problem->applyInitialSolution(x); auto xOld = x; // the grid variables - using GridVariables = typename GET_PROP_TYPE(TypeTag, GridVariables); + using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; auto gridVariables = std::make_shared<GridVariables>(problem, fvGridGeometry); gridVariables->init(x, xOld); // get some time loop parameters - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; const auto tEnd = getParam<Scalar>("TimeLoop.TEnd"); const auto maxDt = getParam<Scalar>("TimeLoop.MaxTimeStepSize"); auto dt = getParam<Scalar>("TimeLoop.DtInitial"); // intialize the vtk output module - using IOFields = typename GET_PROP_TYPE(TypeTag, IOFields); + using IOFields = GetPropType<TypeTag, Properties::IOFields>; VtkOutputModule<GridVariables, SolutionVector> vtkWriter(*gridVariables, x, problem->name()); - using VelocityOutput = typename GET_PROP_TYPE(TypeTag, VelocityOutput); + using VelocityOutput = GetPropType<TypeTag, Properties::VelocityOutput>; vtkWriter.addVelocityOutput(std::make_shared<VelocityOutput>(*gridVariables)); IOFields::initOutputModule(vtkWriter); //! Add model specific output fields vtkWriter.write(0.0); diff --git a/test/porousmediumflow/tracer/multicomp/problem.hh b/test/porousmediumflow/tracer/multicomp/problem.hh index c48135ae2b..ba9a02a141 100644 --- a/test/porousmediumflow/tracer/multicomp/problem.hh +++ b/test/porousmediumflow/tracer/multicomp/problem.hh @@ -61,8 +61,8 @@ SET_TYPE_PROP(MaxwellStefanTest, Problem, MaxwellStefanTestProblem<TypeTag>); // Set the spatial parameters SET_PROP(MaxwellStefanTest, SpatialParams) { - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using Scalar = GetPropType<TypeTag, Properties::Scalar>; using type = MaxwellStefanTestSpatialParams<FVGridGeometry, Scalar>; }; @@ -75,14 +75,14 @@ SET_TYPE_PROP(MaxwellStefanTest, MolecularDiffusionType, MaxwellStefansLaw<TypeT //! A simple fluid system with one MaxwellStefan component template<class TypeTag> class H2N2CO2FluidSystem -: public FluidSystems::Base<typename GET_PROP_TYPE(TypeTag, Scalar), H2N2CO2FluidSystem<TypeTag>> +: public FluidSystems::Base<GetPropType<TypeTag, Properties::Scalar>, H2N2CO2FluidSystem<TypeTag>> { - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Problem = typename GET_PROP_TYPE(TypeTag, Problem); - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Problem = GetPropType<TypeTag, Properties::Problem>; + using GridView = GetPropType<TypeTag, Properties::GridView>; using Element = typename GridView::template Codim<0>::Entity; - using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry)::LocalView; + using FVElementGeometry = typename GetPropType<TypeTag, Properties::FVGridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; public: @@ -200,17 +200,17 @@ class MaxwellStefanTestProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); - using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; - using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); - using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); - using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); - using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); - using SpatialParams = typename GET_PROP_TYPE(TypeTag, SpatialParams); - using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); - using SolutionVector = typename GET_PROP_TYPE(TypeTag, SolutionVector); - using VolumeVariables = typename GET_PROP_TYPE(TypeTag, VolumeVariables); + using Scalar = GetPropType<TypeTag, Properties::Scalar>; + using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; + using GridView = GetPropType<TypeTag, Properties::GridView>; + using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; + using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; + using SpatialParams = GetPropType<TypeTag, Properties::SpatialParams>; + using FVGridGeometry = GetPropType<TypeTag, Properties::FVGridGeometry>; + using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; + using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; //! property that defines whether mole or mass fractions are used static constexpr bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles); -- GitLab