diff --git a/exercises/exercise-basic/injection2p2cproblem.hh b/exercises/exercise-basic/injection2p2cproblem.hh index 7a4fb23d46b610fae4c5cf61a2731556e0896d83..1a4a0ee96ffee56a7495493afd8032fb7ae6f244 100644 --- a/exercises/exercise-basic/injection2p2cproblem.hh +++ b/exercises/exercise-basic/injection2p2cproblem.hh @@ -27,6 +27,7 @@ #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> #include <dumux/porousmediumflow/problem.hh> #include <dumux/material/binarycoefficients/h2o_n2.hh> @@ -65,7 +66,7 @@ class Injection2p2cProblem : public PorousMediumFlowProblem<TypeTag> using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; enum { dimWorld = GridView::dimensionworld }; using Element = typename GridView::template Codim<0>::Entity; diff --git a/exercises/exercise-basic/injection2pniproblem.hh b/exercises/exercise-basic/injection2pniproblem.hh index a1f45b86b9ce6456ace892c1c2c977bcea493940..50508fcac9d7cb54eedd74dd0814d8b287505d31 100644 --- a/exercises/exercise-basic/injection2pniproblem.hh +++ b/exercises/exercise-basic/injection2pniproblem.hh @@ -27,6 +27,7 @@ #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> #include <dumux/porousmediumflow/problem.hh> namespace Dumux { @@ -64,7 +65,7 @@ class Injection2PNIProblem : public PorousMediumFlowProblem<TypeTag> using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; enum { dimWorld = GridView::dimensionworld }; using Element = typename GridView::template Codim<0>::Entity; diff --git a/exercises/exercise-basic/injection2pproblem.hh b/exercises/exercise-basic/injection2pproblem.hh index ba30b0a578aca6b369f3a814221ea31c8bc82115..154519bc8ad76ae4ba02901cb3395d50d1df8c8c 100644 --- a/exercises/exercise-basic/injection2pproblem.hh +++ b/exercises/exercise-basic/injection2pproblem.hh @@ -27,6 +27,7 @@ #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> #include <dumux/porousmediumflow/problem.hh> namespace Dumux { @@ -64,7 +65,7 @@ class Injection2PProblem : public PorousMediumFlowProblem<TypeTag> using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; enum { dimWorld = GridView::dimensionworld }; using Element = typename GridView::template Codim<0>::Entity; diff --git a/exercises/exercise-biomineralization/biominproblem.hh b/exercises/exercise-biomineralization/biominproblem.hh index da6e8daeaa314978eee82e8e4464e5b8f21f8e5c..943a941e380dfc0452302547de0ce3d8d9f9a8fa 100644 --- a/exercises/exercise-biomineralization/biominproblem.hh +++ b/exercises/exercise-biomineralization/biominproblem.hh @@ -26,6 +26,7 @@ #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> #include <dumux/porousmediumflow/problem.hh> // TODO: dumux-course-task @@ -60,7 +61,7 @@ class BioMinProblem : public PorousMediumFlowProblem<TypeTag> }; using GlobalPosition = Dune::FieldVector<Scalar, GridView::dimension>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using Element = typename GridView::template Codim<0>::Entity; using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; diff --git a/exercises/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh b/exercises/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh index be5f6ceeca77381a9707833f2614be8ca53ac8f8..2233530cd81a7f2aa5add1d83654eef680527e12 100644 --- a/exercises/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh +++ b/exercises/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh @@ -26,6 +26,7 @@ #include <dumux/freeflow/navierstokes/problem.hh> #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> namespace Dumux { @@ -52,7 +53,7 @@ class FreeFlowSubProblem : public NavierStokesProblem<TypeTag> using GlobalPosition = typename Element::Geometry::GlobalCoordinate; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; diff --git a/exercises/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh b/exercises/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh index 17d64e9ffff08da2a51310ccadb40ae7d689a842..08388c79078136b06d3caf73bd3c9f1ba76afb10 100644 --- a/exercises/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh +++ b/exercises/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh @@ -27,6 +27,7 @@ #include <dumux/porousmediumflow/problem.hh> #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> namespace Dumux { @@ -40,7 +41,7 @@ class PorousMediumSubProblem : public PorousMediumFlowProblem<TypeTag> using GridView = typename GetPropType<TypeTag, Properties::GridGeometry>::GridView; using Scalar = GetPropType<TypeTag, Properties::Scalar>; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; diff --git a/exercises/exercise-coupling-ff-pm/models/freeflowsubproblem.hh b/exercises/exercise-coupling-ff-pm/models/freeflowsubproblem.hh index f1d54c4317b40b2f71cda59631c0a4fc05a170d0..203f75edd9ce22390e7289316bd22bc29b20289a 100644 --- a/exercises/exercise-coupling-ff-pm/models/freeflowsubproblem.hh +++ b/exercises/exercise-coupling-ff-pm/models/freeflowsubproblem.hh @@ -27,6 +27,7 @@ #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> #include <dumux/common/timeloop.hh> +#include <dumux/common/numeqvector.hh> #include <dumux/freeflow/navierstokes/problem.hh> @@ -59,7 +60,7 @@ class FreeFlowSubProblem : public NavierStokesProblem<TypeTag> using GlobalPosition = typename Element::Geometry::GlobalCoordinate; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; using TimeLoopPtr = std::shared_ptr<TimeLoop<Scalar>>; diff --git a/exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh b/exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh index 534e24cccc3efd630251c8ff9ba90bb6be5360a2..242e629abeaa6b1624072e7de7a5b8d7a637dc5f 100644 --- a/exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh +++ b/exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh @@ -27,6 +27,7 @@ #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> #include <dumux/common/timeloop.hh> +#include <dumux/common/numeqvector.hh> #include <dumux/io/gnuplotinterface.hh> #include <dumux/porousmediumflow/problem.hh> @@ -44,7 +45,7 @@ class PorousMediumSubProblem : public PorousMediumFlowProblem<TypeTag> 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 NumEqVector = Dumux::NumEqVector<PrimaryVariables>; using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; diff --git a/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh b/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh index 8d639f550e898b70a0b98f242dc4b0d2bd8ae8ac..e71d3400fad05ac0fd137b1383a61c6bc76e2f17 100644 --- a/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh +++ b/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh @@ -26,6 +26,7 @@ #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> #include <dumux/common/timeloop.hh> +#include <dumux/common/numeqvector.hh> #include <dumux/multidomain/boundary/stokesdarcy/couplingdata.hh> // TODO: dumux-course-task 3.A @@ -60,7 +61,7 @@ class FreeFlowSubProblem : public NavierStokesProblem<TypeTag> using GlobalPosition = typename Element::Geometry::GlobalCoordinate; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; using TimeLoopPtr = std::shared_ptr<TimeLoop<Scalar>>; diff --git a/exercises/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh b/exercises/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh index 54568faa29229fb328994c105d440e71a773d127..51029968ed5b7146cd49881ceca640aeab96defa 100644 --- a/exercises/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh +++ b/exercises/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh @@ -28,6 +28,7 @@ #include <dumux/common/boundarytypes.hh> #include <dumux/common/properties.hh> #include <dumux/common/timeloop.hh> +#include <dumux/common/numeqvector.hh> #include <dumux/multidomain/boundary/stokesdarcy/couplingdata.hh> namespace Dumux { @@ -42,7 +43,7 @@ class PorousMediumSubProblem : public PorousMediumFlowProblem<TypeTag> using GridView = typename GetPropType<TypeTag, Properties::GridGeometry>::GridView; using Scalar = GetPropType<TypeTag, Properties::Scalar>; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; diff --git a/exercises/exercise-fluidsystem/2p2cproblem.hh b/exercises/exercise-fluidsystem/2p2cproblem.hh index 5a43a26cdb15e798b275383c60008623136d3b3a..48d43b2dbb668741ff65a8283b412c8415bc12fb 100644 --- a/exercises/exercise-fluidsystem/2p2cproblem.hh +++ b/exercises/exercise-fluidsystem/2p2cproblem.hh @@ -28,6 +28,7 @@ #include <dumux/porousmediumflow/problem.hh> #include <dumux/common/boundarytypes.hh> #include <dumux/common/properties.hh> +#include <dumux/common/numeqvector.hh> namespace Dumux { @@ -57,7 +58,7 @@ class ExerciseFluidsystemProblemTwoPTwoC : public PorousMediumFlowProblem<TypeTa using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; public: ExerciseFluidsystemProblemTwoPTwoC(std::shared_ptr<const FVGridGeometry> fvGridGeometry) diff --git a/exercises/exercise-fluidsystem/2pproblem.hh b/exercises/exercise-fluidsystem/2pproblem.hh index 4786b3e79b62eaf3f3b247d4a519655fe1022855..c80d471d2dad8c534ee25e71ec4159c09ee51ff7 100644 --- a/exercises/exercise-fluidsystem/2pproblem.hh +++ b/exercises/exercise-fluidsystem/2pproblem.hh @@ -28,6 +28,7 @@ #include <dumux/porousmediumflow/problem.hh> #include <dumux/common/boundarytypes.hh> #include <dumux/common/properties.hh> +#include <dumux/common/numeqvector.hh> // The water component #include <dumux/material/components/tabulatedcomponent.hh> @@ -64,7 +65,7 @@ class ExerciseFluidsystemProblemTwoP : public PorousMediumFlowProblem<TypeTag> using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; using FluidState = GetPropType<TypeTag, Properties::FluidState>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; enum { waterPressureIdx = Indices::pressureIdx, diff --git a/exercises/exercise-fractures/fractureproblem.hh b/exercises/exercise-fractures/fractureproblem.hh index b4b3687c7de9c8484878506d44665fe24397f31f..141ee88f13acb3ce13fca9d9afc244c728790e67 100644 --- a/exercises/exercise-fractures/fractureproblem.hh +++ b/exercises/exercise-fractures/fractureproblem.hh @@ -30,6 +30,7 @@ #include <dumux/porousmediumflow/problem.hh> #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> namespace Dumux { @@ -46,10 +47,10 @@ class FractureSubProblem : public PorousMediumFlowProblem<TypeTag> using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; - using ElementVolumeVariables = typename GridVariables::GridVolumeVariables::LocalView; using PrimaryVariables = typename GridVariables::PrimaryVariables; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; + using ElementVolumeVariables = typename GridVariables::GridVolumeVariables::LocalView; using Scalar = typename GridVariables::Scalar; using FVGridGeometry = typename GridVariables::GridGeometry; diff --git a/exercises/exercise-fractures/matrixproblem.hh b/exercises/exercise-fractures/matrixproblem.hh index ca9c07c70278f2df3e29301a18f2338104db51d2..1da40a746283ccaed583365dfe42027254cf4acb 100644 --- a/exercises/exercise-fractures/matrixproblem.hh +++ b/exercises/exercise-fractures/matrixproblem.hh @@ -34,6 +34,7 @@ #include <dumux/porousmediumflow/problem.hh> #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> namespace Dumux { @@ -50,9 +51,9 @@ class MatrixSubProblem : public PorousMediumFlowProblem<TypeTag> using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using PrimaryVariables = typename GridVariables::PrimaryVariables; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; using Scalar = typename GridVariables::Scalar; using FVGridGeometry = typename GridVariables::GridGeometry; diff --git a/exercises/exercise-grids/problem.hh b/exercises/exercise-grids/problem.hh index a187cdc8c05b92b98858991236d4d6f32b575ceb..6b03c509bfa456b3f246596320a21653f49f98d1 100644 --- a/exercises/exercise-grids/problem.hh +++ b/exercises/exercise-grids/problem.hh @@ -28,6 +28,7 @@ #include <dumux/porousmediumflow/problem.hh> #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> namespace Dumux { @@ -64,7 +65,7 @@ class InjectionProblem2P : public PorousMediumFlowProblem<TypeTag> using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; enum { dimWorld = GridView::dimensionworld }; using Element = typename GridView::template Codim<0>::Entity; diff --git a/exercises/exercise-properties/mylocalresidual.hh b/exercises/exercise-properties/mylocalresidual.hh index 8fd2955040a6602b814123f455cebfd83a308715..23a3a12bfb42bd51894a0f6801a4860f997f57ab 100644 --- a/exercises/exercise-properties/mylocalresidual.hh +++ b/exercises/exercise-properties/mylocalresidual.hh @@ -26,6 +26,7 @@ #define DUMUX_MY_LOCAL_RESIDUAL_HH #include <dumux/common/properties.hh> +#include <dumux/common/numeqvector.hh> namespace Dumux { @@ -40,7 +41,7 @@ class MyLocalResidual : public GetPropType<TypeTag, Properties::BaseLocalResidua 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 NumEqVector = Dumux::NumEqVector<GetPropType<TypeTag, Properties::PrimaryVariables>>; using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; diff --git a/exercises/exercise-properties/problem.hh b/exercises/exercise-properties/problem.hh index b71fb4287382d35b465cb1073f854006d3d0ec33..655789eb497f36e2c5f5e93327a2505487e756a8 100644 --- a/exercises/exercise-properties/problem.hh +++ b/exercises/exercise-properties/problem.hh @@ -26,6 +26,7 @@ #include <dumux/porousmediumflow/problem.hh> #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> namespace Dumux { @@ -45,7 +46,7 @@ class TwoPTestProblem : public PorousMediumFlowProblem<TypeTag> using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { pressureH2OIdx = Indices::pressureIdx, diff --git a/exercises/exercise-runtimeparams/problem.hh b/exercises/exercise-runtimeparams/problem.hh index fb8f501fa49bd30233ad64a983279d1dac45b8d1..f5ebbea1128d1fda598f50ffb396541063c206d8 100644 --- a/exercises/exercise-runtimeparams/problem.hh +++ b/exercises/exercise-runtimeparams/problem.hh @@ -27,6 +27,7 @@ #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> #include <dumux/porousmediumflow/problem.hh> namespace Dumux { @@ -64,7 +65,7 @@ class InjectionProblem2P : public PorousMediumFlowProblem<TypeTag> using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; enum { dimWorld = GridView::dimensionworld }; using Element = typename GridView::template Codim<0>::Entity; diff --git a/exercises/solution/exercise-basic/injection2pniproblem.hh b/exercises/solution/exercise-basic/injection2pniproblem.hh index 783fd212bb4b3a4319c5f8690478d1eed2bf2c77..79d398d66c5fff7086995858c6c3525f76b21c71 100644 --- a/exercises/solution/exercise-basic/injection2pniproblem.hh +++ b/exercises/solution/exercise-basic/injection2pniproblem.hh @@ -27,6 +27,7 @@ #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> #include <dumux/porousmediumflow/problem.hh> namespace Dumux { @@ -63,7 +64,7 @@ class Injection2PNIProblem : public PorousMediumFlowProblem<TypeTag> using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; enum { dimWorld = GridView::dimensionworld }; using Element = typename GridView::template Codim<0>::Entity; diff --git a/exercises/solution/exercise-biomineralization/biominproblem.hh b/exercises/solution/exercise-biomineralization/biominproblem.hh index 8cd46b4c93d1419d8b45d6ba77694f5529fdb617..9eddf020dfe11dc38536b4b80459735334d62b07 100644 --- a/exercises/solution/exercise-biomineralization/biominproblem.hh +++ b/exercises/solution/exercise-biomineralization/biominproblem.hh @@ -26,6 +26,7 @@ #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> #include <dumux/porousmediumflow/problem.hh> // TODO: dumux-course-task @@ -62,7 +63,7 @@ class BioMinProblem : public PorousMediumFlowProblem<TypeTag> }; using GlobalPosition = Dune::FieldVector<Scalar, GridView::dimension>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using Element = typename GridView::template Codim<0>::Entity; using SolutionVector = GetPropType<TypeTag, Properties::SolutionVector>; diff --git a/exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh index eb0c5e3d1e6de92c4741864a23a492d9b35f08fc..aecfd2f6773337686b866b68b4b722abf9ae65d6 100644 --- a/exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh +++ b/exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh @@ -26,6 +26,7 @@ #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> #include <dumux/common/timeloop.hh> +#include <dumux/common/numeqvector.hh> #include <dumux/freeflow/navierstokes/problem.hh> @@ -53,7 +54,7 @@ class FreeFlowSubProblem : public NavierStokesProblem<TypeTag> using GlobalPosition = typename Element::Geometry::GlobalCoordinate; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; diff --git a/exercises/solution/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh index 8fa3b3aafd78f42a532821215cddce78df8cf20d..af0ae080b41d4bc749445ee65cc0231b788bcf5f 100644 --- a/exercises/solution/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh +++ b/exercises/solution/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh @@ -27,6 +27,7 @@ #include <dumux/porousmediumflow/problem.hh> #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> namespace Dumux { @@ -40,7 +41,7 @@ class PorousMediumSubProblem : public PorousMediumFlowProblem<TypeTag> using GridView = typename GetPropType<TypeTag, Properties::GridGeometry>::GridView; using Scalar = GetPropType<TypeTag, Properties::Scalar>; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; diff --git a/exercises/solution/exercise-coupling-ff-pm/models/freeflowsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/models/freeflowsubproblem.hh index 6e55501bfa2ab8366ac5a3686a43546cb9332312..ebb5d87922b81d3218cb49e08f4b97a6d8449315 100644 --- a/exercises/solution/exercise-coupling-ff-pm/models/freeflowsubproblem.hh +++ b/exercises/solution/exercise-coupling-ff-pm/models/freeflowsubproblem.hh @@ -27,6 +27,7 @@ #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> #include <dumux/common/timeloop.hh> +#include <dumux/common/numeqvector.hh> #include <dumux/freeflow/navierstokes/problem.hh> @@ -59,7 +60,7 @@ class FreeFlowSubProblem : public NavierStokesProblem<TypeTag> using GlobalPosition = typename Element::Geometry::GlobalCoordinate; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; using TimeLoopPtr = std::shared_ptr<TimeLoop<Scalar>>; diff --git a/exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh index 43d1a3b90a2a26c2199122e73a0689b2061842ab..ebf4103753ffa146f72681c8d3af5d2960fbd795 100644 --- a/exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh +++ b/exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh @@ -27,6 +27,7 @@ #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> #include <dumux/common/timeloop.hh> +#include <dumux/common/numeqvector.hh> #include <dumux/io/gnuplotinterface.hh> #include <dumux/porousmediumflow/problem.hh> @@ -43,7 +44,7 @@ class PorousMediumSubProblem : public PorousMediumFlowProblem<TypeTag> 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 NumEqVector = Dumux::NumEqVector<PrimaryVariables>; using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; diff --git a/exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh index d6ea8143c56bf5b50a85108f33ae2997c45bf4a8..750da1e9472f3e62ca213fa7be84926a4aa8206f 100644 --- a/exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh +++ b/exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh @@ -32,6 +32,7 @@ #include <dumux/common/timeloop.hh> #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> #include <dumux/multidomain/boundary/stokesdarcy/couplingdata.hh> namespace Dumux { @@ -67,7 +68,7 @@ class FreeFlowSubProblem : public NavierStokesProblem<TypeTag> using GlobalPosition = typename Element::Geometry::GlobalCoordinate; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; using TimeLoopPtr = std::shared_ptr<TimeLoop<Scalar>>; diff --git a/exercises/solution/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh index 16a5606d42706cba3e72444299f7cc83d5bc4b62..ba4fe99d13015f6058379621bc1aa2f97e331555 100644 --- a/exercises/solution/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh +++ b/exercises/solution/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh @@ -27,6 +27,7 @@ #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> #include <dumux/common/timeloop.hh> +#include <dumux/common/numeqvector.hh> #include <dumux/porousmediumflow/problem.hh> #include <dumux/multidomain/boundary/stokesdarcy/couplingdata.hh> @@ -42,7 +43,7 @@ class PorousMediumSubProblem : public PorousMediumFlowProblem<TypeTag> using GridView = typename GetPropType<TypeTag, Properties::GridGeometry>::GridView; using Scalar = GetPropType<TypeTag, Properties::Scalar>; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; diff --git a/exercises/solution/exercise-fluidsystem/2p2cproblem.hh b/exercises/solution/exercise-fluidsystem/2p2cproblem.hh index 74a6cb4df2b3176ea93ebb0794c256b7fcab77f0..ec47a18ad8d8313de2edd51604f15c24d6fe87a8 100644 --- a/exercises/solution/exercise-fluidsystem/2p2cproblem.hh +++ b/exercises/solution/exercise-fluidsystem/2p2cproblem.hh @@ -28,6 +28,7 @@ #include <dumux/porousmediumflow/problem.hh> #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> namespace Dumux { @@ -57,7 +58,7 @@ class ExerciseFluidsystemProblemTwoPTwoC : public PorousMediumFlowProblem<TypeTa using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; public: ExerciseFluidsystemProblemTwoPTwoC(std::shared_ptr<const FVGridGeometry> fvGridGeometry) diff --git a/exercises/solution/exercise-fluidsystem/2pproblem.hh b/exercises/solution/exercise-fluidsystem/2pproblem.hh index e34bc3985f4ea70b7f5ab8bac2b4501a8e7f47d7..5afaf6f22b0de5ea3196b0fac648a0ffa0c1f5e8 100644 --- a/exercises/solution/exercise-fluidsystem/2pproblem.hh +++ b/exercises/solution/exercise-fluidsystem/2pproblem.hh @@ -28,6 +28,7 @@ #include <dumux/porousmediumflow/problem.hh> #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> // The water component #include <dumux/material/components/tabulatedcomponent.hh> @@ -64,7 +65,7 @@ class ExerciseFluidsystemProblemTwoP : public PorousMediumFlowProblem<TypeTag> using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; using FluidState = GetPropType<TypeTag, Properties::FluidState>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; enum { waterPressureIdx = Indices::pressureIdx, diff --git a/exercises/solution/exercise-fractures/fractureproblem.hh b/exercises/solution/exercise-fractures/fractureproblem.hh index 3a326f28beafa22e33478559299b17c871ce6379..4422aa689026805819710b9de05268bbd8a0a128 100644 --- a/exercises/solution/exercise-fractures/fractureproblem.hh +++ b/exercises/solution/exercise-fractures/fractureproblem.hh @@ -30,6 +30,7 @@ #include <dumux/porousmediumflow/problem.hh> #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> namespace Dumux { @@ -46,10 +47,10 @@ class FractureSubProblem : public PorousMediumFlowProblem<TypeTag> using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; - using ElementVolumeVariables = typename GridVariables::GridVolumeVariables::LocalView; using PrimaryVariables = typename GridVariables::PrimaryVariables; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; + using ElementVolumeVariables = typename GridVariables::GridVolumeVariables::LocalView; using Scalar = typename GridVariables::Scalar; using FVGridGeometry = typename GridVariables::GridGeometry; diff --git a/exercises/solution/exercise-fractures/matrixproblem.hh b/exercises/solution/exercise-fractures/matrixproblem.hh index ef9d5a7bddd2ef9b01a4b7b0faac08769808ad84..58f8e6f8a706dfaa3f0666ffb3042074db953d19 100644 --- a/exercises/solution/exercise-fractures/matrixproblem.hh +++ b/exercises/solution/exercise-fractures/matrixproblem.hh @@ -34,6 +34,7 @@ #include <dumux/porousmediumflow/problem.hh> #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> namespace Dumux { @@ -50,9 +51,9 @@ class MatrixSubProblem : public PorousMediumFlowProblem<TypeTag> using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using CouplingManager = GetPropType<TypeTag, Properties::CouplingManager>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; using GridVariables = GetPropType<TypeTag, Properties::GridVariables>; using PrimaryVariables = typename GridVariables::PrimaryVariables; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; using Scalar = typename GridVariables::Scalar; using FVGridGeometry = typename GridVariables::GridGeometry; diff --git a/exercises/solution/exercise-grids/problem.hh b/exercises/solution/exercise-grids/problem.hh index 1cd5cc456c7b74b1f535b6fe449d5b668c6b9908..368d246f0dd51addcf1082e61017dcbc96e289e3 100644 --- a/exercises/solution/exercise-grids/problem.hh +++ b/exercises/solution/exercise-grids/problem.hh @@ -28,6 +28,7 @@ #include <dumux/porousmediumflow/problem.hh> #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> namespace Dumux { @@ -64,7 +65,7 @@ class InjectionProblem2P : public PorousMediumFlowProblem<TypeTag> using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; enum { dimWorld = GridView::dimensionworld }; using Element = typename GridView::template Codim<0>::Entity; diff --git a/exercises/solution/exercise-properties/mylocalresidual.hh b/exercises/solution/exercise-properties/mylocalresidual.hh index 7d1d824f0b1101293cd75425d6c61a317c296ef2..02a4b50cbad05279b5bbd0391fa12af92750985d 100644 --- a/exercises/solution/exercise-properties/mylocalresidual.hh +++ b/exercises/solution/exercise-properties/mylocalresidual.hh @@ -26,6 +26,7 @@ #define DUMUX_MY_LOCAL_RESIDUAL_HH #include <dumux/common/properties.hh> +#include <dumux/common/numeqvector.hh> namespace Dumux { @@ -40,7 +41,7 @@ class MyLocalResidual : public GetPropType<TypeTag, Properties::BaseLocalResidua 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 NumEqVector = Dumux::NumEqVector<GetPropType<TypeTag, Properties::PrimaryVariables>>; using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; using ElementVolumeVariables = typename GetPropType<TypeTag, Properties::GridVolumeVariables>::LocalView; using FluxVariables = GetPropType<TypeTag, Properties::FluxVariables>; diff --git a/exercises/solution/exercise-properties/problem.hh b/exercises/solution/exercise-properties/problem.hh index ec2b921d93029aeb40df48029b4f2bdc927ddcc0..62ba692af99d059e03953020eee946ba5da919ae 100644 --- a/exercises/solution/exercise-properties/problem.hh +++ b/exercises/solution/exercise-properties/problem.hh @@ -27,6 +27,7 @@ #include <dumux/porousmediumflow/problem.hh> #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> namespace Dumux { @@ -46,7 +47,7 @@ class TwoPTestProblem : public PorousMediumFlowProblem<TypeTag> using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; enum { pressureH2OIdx = Indices::pressureIdx, diff --git a/exercises/solution/exercise-runtimeparams/problem.hh b/exercises/solution/exercise-runtimeparams/problem.hh index 85aba7c169d1407c4383f4f6f194516ad0227593..78fae4c3b29189ca895a02a4418c024b31747404 100644 --- a/exercises/solution/exercise-runtimeparams/problem.hh +++ b/exercises/solution/exercise-runtimeparams/problem.hh @@ -27,6 +27,7 @@ #include <dumux/common/properties.hh> #include <dumux/common/boundarytypes.hh> +#include <dumux/common/numeqvector.hh> #include <dumux/porousmediumflow/problem.hh> namespace Dumux { @@ -64,7 +65,7 @@ class InjectionProblem2P : public PorousMediumFlowProblem<TypeTag> using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; - using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; + using NumEqVector = Dumux::NumEqVector<PrimaryVariables>; enum { dimWorld = GridView::dimensionworld }; using Element = typename GridView::template Codim<0>::Entity;