From 357a508b28677ea717fa908273bf764fc3bac418 Mon Sep 17 00:00:00 2001 From: Roman Winter <rwinter@shrek.iws.uni-stuttgart.de> Date: Tue, 1 Sep 2020 12:14:17 +0200 Subject: [PATCH] [cleanup] deprecation warnings and errors --- exercises/exercise-basic/2p2cmain.cc | 2 +- exercises/exercise-basic/2pmain.cc | 2 +- exercises/exercise-basic/injection2p2cproblem.hh | 2 +- exercises/exercise-basic/injection2pproblem.hh | 2 +- exercises/exercise-biomineralization/biominproblem.hh | 2 +- .../exercise-biomineralization/fluidsystems/biomin.hh | 8 +++++++- exercises/exercise-biomineralization/main.cc | 2 +- .../interface/freeflowsubproblem.hh | 2 +- .../interface/porousmediumsubproblem.hh | 2 +- .../exercise-coupling-ff-pm/models/freeflowsubproblem.hh | 2 +- exercises/exercise-coupling-ff-pm/models/main.cc | 2 +- .../models/porousmediumsubproblem.hh | 2 +- .../turbulence/freeflowsubproblem.hh | 2 +- exercises/exercise-coupling-ff-pm/turbulence/main.cc | 2 +- .../turbulence/porousmediumsubproblem.hh | 2 +- exercises/exercise-fluidsystem/2p2cproblem.hh | 2 +- exercises/exercise-fluidsystem/2pproblem.hh | 2 +- exercises/exercise-fluidsystem/main.cc | 2 +- exercises/exercise-fractures/fractureproblem.hh | 2 +- exercises/exercise-fractures/main.cc | 2 +- exercises/exercise-fractures/matrixproblem.hh | 2 +- exercises/exercise-grids/main.cc | 2 +- exercises/exercise-grids/problem.hh | 2 +- exercises/exercise-mainfile/1pproblem.hh | 2 +- exercises/exercise-mainfile/exercise1pcmain.cc | 2 +- exercises/exercise-properties/main.cc | 2 +- exercises/exercise-properties/problem.hh | 2 +- exercises/exercise-runtimeparams/main.cc | 2 +- exercises/exercise-runtimeparams/problem.hh | 2 +- exercises/solution/exercise-basic/2pnimain.cc | 2 +- exercises/solution/exercise-basic/injection2pniproblem.hh | 2 +- .../solution/exercise-biomineralization/biominproblem.hh | 2 +- .../exercise-biomineralization/fluidsystems/biomin.hh | 8 +++++++- exercises/solution/exercise-biomineralization/main.cc | 2 +- .../interface/freeflowsubproblem.hh | 2 +- .../interface/porousmediumsubproblem.hh | 2 +- .../exercise-coupling-ff-pm/models/freeflowsubproblem.hh | 2 +- exercises/solution/exercise-coupling-ff-pm/models/main.cc | 2 +- .../models/porousmediumsubproblem.hh | 2 +- .../turbulence/freeflowsubproblem.hh | 2 +- .../solution/exercise-coupling-ff-pm/turbulence/main.cc | 2 +- .../turbulence/porousmediumsubproblem.hh | 2 +- exercises/solution/exercise-fluidsystem/2p2cproblem.hh | 2 +- exercises/solution/exercise-fluidsystem/2pproblem.hh | 2 +- exercises/solution/exercise-fluidsystem/main.cc | 2 +- exercises/solution/exercise-fractures/fractureproblem.hh | 2 +- exercises/solution/exercise-fractures/main.cc | 2 +- exercises/solution/exercise-fractures/matrixproblem.hh | 2 +- exercises/solution/exercise-grids/main.cc | 2 +- exercises/solution/exercise-grids/problem.hh | 2 +- exercises/solution/exercise-mainfile/1pproblem.hh | 2 +- exercises/solution/exercise-properties/main.cc | 2 +- exercises/solution/exercise-properties/problem.hh | 2 +- exercises/solution/exercise-runtimeparams/main.cc | 2 +- exercises/solution/exercise-runtimeparams/problem.hh | 2 +- 55 files changed, 67 insertions(+), 55 deletions(-) diff --git a/exercises/exercise-basic/2p2cmain.cc b/exercises/exercise-basic/2p2cmain.cc index b6e97d38..3fa25602 100644 --- a/exercises/exercise-basic/2p2cmain.cc +++ b/exercises/exercise-basic/2p2cmain.cc @@ -120,7 +120,7 @@ int main(int argc, char** argv) try // the assembler with time loop for instationary problem using Assembler = FVAssembler<TypeTag, DiffMethod::numeric>; - auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop, xOld); // the linear solver using LinearSolver = AMGBiCGSTABBackend<LinearSolverTraits<FVGridGeometry>>; diff --git a/exercises/exercise-basic/2pmain.cc b/exercises/exercise-basic/2pmain.cc index be097705..666d3c16 100644 --- a/exercises/exercise-basic/2pmain.cc +++ b/exercises/exercise-basic/2pmain.cc @@ -125,7 +125,7 @@ int main(int argc, char** argv) try // the assembler with time loop for instationary problem using Assembler = FVAssembler<TypeTag, DiffMethod::numeric>; - auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop, xOld); // the linear solver using LinearSolver = AMGBiCGSTABBackend<LinearSolverTraits<FVGridGeometry>>; diff --git a/exercises/exercise-basic/injection2p2cproblem.hh b/exercises/exercise-basic/injection2p2cproblem.hh index 81a59398..47d165c1 100644 --- a/exercises/exercise-basic/injection2p2cproblem.hh +++ b/exercises/exercise-basic/injection2p2cproblem.hh @@ -60,7 +60,7 @@ class Injection2p2cProblem : public PorousMediumFlowProblem<TypeTag> using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; diff --git a/exercises/exercise-basic/injection2pproblem.hh b/exercises/exercise-basic/injection2pproblem.hh index 0b375251..20845f75 100644 --- a/exercises/exercise-basic/injection2pproblem.hh +++ b/exercises/exercise-basic/injection2pproblem.hh @@ -59,7 +59,7 @@ class Injection2PProblem : public PorousMediumFlowProblem<TypeTag> using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; diff --git a/exercises/exercise-biomineralization/biominproblem.hh b/exercises/exercise-biomineralization/biominproblem.hh index 63eadb0c..c63e6dc7 100644 --- a/exercises/exercise-biomineralization/biominproblem.hh +++ b/exercises/exercise-biomineralization/biominproblem.hh @@ -46,7 +46,7 @@ class BioMinProblem : public PorousMediumFlowProblem<TypeTag> using SolidSystem = GetPropType<TypeTag, Properties::SolidSystem>; using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; diff --git a/exercises/exercise-biomineralization/fluidsystems/biomin.hh b/exercises/exercise-biomineralization/fluidsystems/biomin.hh index 0509032c..32330fc0 100644 --- a/exercises/exercise-biomineralization/fluidsystems/biomin.hh +++ b/exercises/exercise-biomineralization/fluidsystems/biomin.hh @@ -332,14 +332,20 @@ public: // assume brine with viscosity effect of Ca for the liquid phase. if (phaseIdx == liquidPhaseIdx) - return Brine::liquidViscosity(temperature, pressure);; + { + return Brine::liquidViscosity(temperature, pressure); + } // assume pure CO2 for the gas phase. else if (phaseIdx == gasPhaseIdx) + { return CO2::gasViscosity(temperature, pressure); + } else + { DUNE_THROW(Dune::InvalidStateException, "Invalid phase index " << phaseIdx); + } } diff --git a/exercises/exercise-biomineralization/main.cc b/exercises/exercise-biomineralization/main.cc index 95dc1a08..0e3bc0dc 100644 --- a/exercises/exercise-biomineralization/main.cc +++ b/exercises/exercise-biomineralization/main.cc @@ -130,7 +130,7 @@ int main(int argc, char** argv) try // the assembler with time loop for instationary problem using Assembler = FVAssembler<TypeTag, DiffMethod::numeric>; - auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop, xOld); // the linear solver using LinearSolver = AMGBiCGSTABBackend<LinearSolverTraits<FVGridGeometry>>; diff --git a/exercises/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh b/exercises/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh index 9d8d4e3d..47a243eb 100644 --- a/exercises/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh +++ b/exercises/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh @@ -41,7 +41,7 @@ class FreeFlowSubProblem : public NavierStokesProblem<TypeTag> using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::NavierStokesBoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; diff --git a/exercises/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh b/exercises/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh index f7d7b2b1..689e9b61 100644 --- a/exercises/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh +++ b/exercises/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh @@ -40,7 +40,7 @@ class PorousMediumSubProblem : public PorousMediumFlowProblem<TypeTag> 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 BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; diff --git a/exercises/exercise-coupling-ff-pm/models/freeflowsubproblem.hh b/exercises/exercise-coupling-ff-pm/models/freeflowsubproblem.hh index 08465b89..0a4f0b99 100644 --- a/exercises/exercise-coupling-ff-pm/models/freeflowsubproblem.hh +++ b/exercises/exercise-coupling-ff-pm/models/freeflowsubproblem.hh @@ -45,7 +45,7 @@ class FreeFlowSubProblem : public NavierStokesProblem<TypeTag> 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 BoundaryTypes = Dumux::NavierStokesBoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; diff --git a/exercises/exercise-coupling-ff-pm/models/main.cc b/exercises/exercise-coupling-ff-pm/models/main.cc index 6326d83d..cc582f06 100644 --- a/exercises/exercise-coupling-ff-pm/models/main.cc +++ b/exercises/exercise-coupling-ff-pm/models/main.cc @@ -173,7 +173,7 @@ int main(int argc, char** argv) try stokesGridVariables->cellCenterGridVariablesPtr(), darcyGridVariables), couplingManager, - timeLoop); + timeLoop, solOld); // the linear solver using LinearSolver = UMFPackBackend; diff --git a/exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh b/exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh index 4d3f7ebb..28ebbb51 100644 --- a/exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh +++ b/exercises/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh @@ -44,7 +44,7 @@ class PorousMediumSubProblem : public PorousMediumFlowProblem<TypeTag> 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 BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; diff --git a/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh b/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh index 6367854e..109c9a11 100644 --- a/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh +++ b/exercises/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh @@ -46,7 +46,7 @@ class FreeFlowSubProblem : public NavierStokesProblem<TypeTag> 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 BoundaryTypes = Dumux::NavierStokesBoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; diff --git a/exercises/exercise-coupling-ff-pm/turbulence/main.cc b/exercises/exercise-coupling-ff-pm/turbulence/main.cc index 72c7ebf0..7ac4b85b 100644 --- a/exercises/exercise-coupling-ff-pm/turbulence/main.cc +++ b/exercises/exercise-coupling-ff-pm/turbulence/main.cc @@ -178,7 +178,7 @@ int main(int argc, char** argv) try stokesGridVariables->cellCenterGridVariablesPtr(), darcyGridVariables), couplingManager, - timeLoop); + timeLoop, solOld); // the linear solver using LinearSolver = UMFPackBackend; diff --git a/exercises/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh b/exercises/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh index f4ecbabf..3ec5c400 100644 --- a/exercises/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh +++ b/exercises/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh @@ -42,7 +42,7 @@ class PorousMediumSubProblem : public PorousMediumFlowProblem<TypeTag> 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 BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; diff --git a/exercises/exercise-fluidsystem/2p2cproblem.hh b/exercises/exercise-fluidsystem/2p2cproblem.hh index 76a5f58d..50933e81 100644 --- a/exercises/exercise-fluidsystem/2p2cproblem.hh +++ b/exercises/exercise-fluidsystem/2p2cproblem.hh @@ -52,7 +52,7 @@ class ExerciseFluidsystemProblemTwoPTwoC : public PorousMediumFlowProblem<TypeTa // Dumux specific types using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; diff --git a/exercises/exercise-fluidsystem/2pproblem.hh b/exercises/exercise-fluidsystem/2pproblem.hh index dc542c84..c9f74c95 100644 --- a/exercises/exercise-fluidsystem/2pproblem.hh +++ b/exercises/exercise-fluidsystem/2pproblem.hh @@ -58,7 +58,7 @@ class ExerciseFluidsystemProblemTwoP : public PorousMediumFlowProblem<TypeTag> // Dumux specific types using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; diff --git a/exercises/exercise-fluidsystem/main.cc b/exercises/exercise-fluidsystem/main.cc index 5266f7ef..c90b26a6 100644 --- a/exercises/exercise-fluidsystem/main.cc +++ b/exercises/exercise-fluidsystem/main.cc @@ -128,7 +128,7 @@ int main(int argc, char** argv) try // the assembler with time loop for instationary problem using Assembler = FVAssembler<TypeTag, DiffMethod::numeric, /*implicit?*/true>; - auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop, xOld); // the linear solver using LinearSolver = AMGBiCGSTABBackend<LinearSolverTraits<FVGridGeometry>>; diff --git a/exercises/exercise-fractures/fractureproblem.hh b/exercises/exercise-fractures/fractureproblem.hh index 318d97c2..1a69ca69 100644 --- a/exercises/exercise-fractures/fractureproblem.hh +++ b/exercises/exercise-fractures/fractureproblem.hh @@ -43,7 +43,7 @@ class FractureSubProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + 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>; diff --git a/exercises/exercise-fractures/main.cc b/exercises/exercise-fractures/main.cc index c871fbee..9b4a75c1 100644 --- a/exercises/exercise-fractures/main.cc +++ b/exercises/exercise-fractures/main.cc @@ -220,7 +220,7 @@ int main(int argc, char** argv) try std::make_tuple(matrixFvGridGeometry, fractureFvGridGeometry), std::make_tuple(matrixGridVariables, fractureGridVariables), couplingManager, - timeLoop); + timeLoop, xOld); // the linear solver using LinearSolver = ILU0BiCGSTABBackend; diff --git a/exercises/exercise-fractures/matrixproblem.hh b/exercises/exercise-fractures/matrixproblem.hh index d7a238c6..ae307676 100644 --- a/exercises/exercise-fractures/matrixproblem.hh +++ b/exercises/exercise-fractures/matrixproblem.hh @@ -47,7 +47,7 @@ class MatrixSubProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + 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>; diff --git a/exercises/exercise-grids/main.cc b/exercises/exercise-grids/main.cc index ee8c9388..8e3b203b 100644 --- a/exercises/exercise-grids/main.cc +++ b/exercises/exercise-grids/main.cc @@ -123,7 +123,7 @@ int main(int argc, char** argv) try // the assembler with time loop for instationary problem using Assembler = FVAssembler<TypeTag, DiffMethod::numeric>; - auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop, xOld); // the linear solver using LinearSolver = AMGBiCGSTABBackend<LinearSolverTraits<FVGridGeometry>>; diff --git a/exercises/exercise-grids/problem.hh b/exercises/exercise-grids/problem.hh index 759d2fa8..b61d5a71 100644 --- a/exercises/exercise-grids/problem.hh +++ b/exercises/exercise-grids/problem.hh @@ -59,7 +59,7 @@ class InjectionProblem2P : public PorousMediumFlowProblem<TypeTag> using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; diff --git a/exercises/exercise-mainfile/1pproblem.hh b/exercises/exercise-mainfile/1pproblem.hh index 94410315..9f821fa1 100644 --- a/exercises/exercise-mainfile/1pproblem.hh +++ b/exercises/exercise-mainfile/1pproblem.hh @@ -45,7 +45,7 @@ class OnePTestProblem : public PorousMediumFlowProblem<TypeTag> using Scalar = GetPropType<TypeTag, Properties::Scalar>; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; static constexpr int dimWorld = GridView::dimensionworld; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; diff --git a/exercises/exercise-mainfile/exercise1pcmain.cc b/exercises/exercise-mainfile/exercise1pcmain.cc index 8f89de6e..f406996e 100644 --- a/exercises/exercise-mainfile/exercise1pcmain.cc +++ b/exercises/exercise-mainfile/exercise1pcmain.cc @@ -121,7 +121,7 @@ int main(int argc, char** argv) try // the assembler with time loop for instationary problem using Assembler = FVAssembler<TypeTag, DiffMethod::numeric>; - auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop, xOld); // the linear solver using LinearSolver = ILU0BiCGSTABBackend; diff --git a/exercises/exercise-properties/main.cc b/exercises/exercise-properties/main.cc index 4194de1a..be2a4f3f 100644 --- a/exercises/exercise-properties/main.cc +++ b/exercises/exercise-properties/main.cc @@ -151,7 +151,7 @@ int main(int argc, char** argv) try // the assembler with time loop for instationary problem using Assembler = FVAssembler<TypeTag, DiffMethod::numeric>; - auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop, xOld); // the linear solver using LinearSolver = AMGBiCGSTABBackend<LinearSolverTraits<FVGridGeometry>>; diff --git a/exercises/exercise-properties/problem.hh b/exercises/exercise-properties/problem.hh index 668e76aa..6e579c90 100644 --- a/exercises/exercise-properties/problem.hh +++ b/exercises/exercise-properties/problem.hh @@ -42,7 +42,7 @@ class TwoPTestProblem : public PorousMediumFlowProblem<TypeTag> using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; diff --git a/exercises/exercise-runtimeparams/main.cc b/exercises/exercise-runtimeparams/main.cc index 21cff5b3..63d6e8cf 100644 --- a/exercises/exercise-runtimeparams/main.cc +++ b/exercises/exercise-runtimeparams/main.cc @@ -123,7 +123,7 @@ int main(int argc, char** argv) try // the assembler with time loop for instationary problem using Assembler = FVAssembler<TypeTag, DiffMethod::numeric>; - auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop, xOld); // the linear solver using LinearSolver = AMGBiCGSTABBackend<LinearSolverTraits<FVGridGeometry>>; diff --git a/exercises/exercise-runtimeparams/problem.hh b/exercises/exercise-runtimeparams/problem.hh index 94089133..12c72a9e 100644 --- a/exercises/exercise-runtimeparams/problem.hh +++ b/exercises/exercise-runtimeparams/problem.hh @@ -59,7 +59,7 @@ class InjectionProblem2P : public PorousMediumFlowProblem<TypeTag> using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; diff --git a/exercises/solution/exercise-basic/2pnimain.cc b/exercises/solution/exercise-basic/2pnimain.cc index 4a193965..477755cb 100644 --- a/exercises/solution/exercise-basic/2pnimain.cc +++ b/exercises/solution/exercise-basic/2pnimain.cc @@ -121,7 +121,7 @@ int main(int argc, char** argv) try // the assembler with time loop for instationary problem using Assembler = FVAssembler<TypeTag, DiffMethod::numeric>; - auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop, xOld); // the linear solver using LinearSolver = AMGBiCGSTABBackend<LinearSolverTraits<FVGridGeometry>>; diff --git a/exercises/solution/exercise-basic/injection2pniproblem.hh b/exercises/solution/exercise-basic/injection2pniproblem.hh index f022bcc6..282fc2f3 100644 --- a/exercises/solution/exercise-basic/injection2pniproblem.hh +++ b/exercises/solution/exercise-basic/injection2pniproblem.hh @@ -58,7 +58,7 @@ class Injection2PNIProblem : public PorousMediumFlowProblem<TypeTag> using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; diff --git a/exercises/solution/exercise-biomineralization/biominproblem.hh b/exercises/solution/exercise-biomineralization/biominproblem.hh index 6450943d..6f8b64a9 100644 --- a/exercises/solution/exercise-biomineralization/biominproblem.hh +++ b/exercises/solution/exercise-biomineralization/biominproblem.hh @@ -48,7 +48,7 @@ class BioMinProblem : public PorousMediumFlowProblem<TypeTag> using SolidSystem = GetPropType<TypeTag, Properties::SolidSystem>; using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; diff --git a/exercises/solution/exercise-biomineralization/fluidsystems/biomin.hh b/exercises/solution/exercise-biomineralization/fluidsystems/biomin.hh index 0509032c..32330fc0 100644 --- a/exercises/solution/exercise-biomineralization/fluidsystems/biomin.hh +++ b/exercises/solution/exercise-biomineralization/fluidsystems/biomin.hh @@ -332,14 +332,20 @@ public: // assume brine with viscosity effect of Ca for the liquid phase. if (phaseIdx == liquidPhaseIdx) - return Brine::liquidViscosity(temperature, pressure);; + { + return Brine::liquidViscosity(temperature, pressure); + } // assume pure CO2 for the gas phase. else if (phaseIdx == gasPhaseIdx) + { return CO2::gasViscosity(temperature, pressure); + } else + { DUNE_THROW(Dune::InvalidStateException, "Invalid phase index " << phaseIdx); + } } diff --git a/exercises/solution/exercise-biomineralization/main.cc b/exercises/solution/exercise-biomineralization/main.cc index 95dc1a08..0e3bc0dc 100644 --- a/exercises/solution/exercise-biomineralization/main.cc +++ b/exercises/solution/exercise-biomineralization/main.cc @@ -130,7 +130,7 @@ int main(int argc, char** argv) try // the assembler with time loop for instationary problem using Assembler = FVAssembler<TypeTag, DiffMethod::numeric>; - auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop, xOld); // the linear solver using LinearSolver = AMGBiCGSTABBackend<LinearSolverTraits<FVGridGeometry>>; diff --git a/exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh index 48c8929e..311643c4 100644 --- a/exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh +++ b/exercises/solution/exercise-coupling-ff-pm/interface/freeflowsubproblem.hh @@ -42,7 +42,7 @@ class FreeFlowSubProblem : public NavierStokesProblem<TypeTag> using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::NavierStokesBoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; diff --git a/exercises/solution/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh index 1637f00b..57d55d0b 100644 --- a/exercises/solution/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh +++ b/exercises/solution/exercise-coupling-ff-pm/interface/porousmediumsubproblem.hh @@ -40,7 +40,7 @@ class PorousMediumSubProblem : public PorousMediumFlowProblem<TypeTag> 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 BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; diff --git a/exercises/solution/exercise-coupling-ff-pm/models/freeflowsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/models/freeflowsubproblem.hh index 70ca05e3..39b3304b 100644 --- a/exercises/solution/exercise-coupling-ff-pm/models/freeflowsubproblem.hh +++ b/exercises/solution/exercise-coupling-ff-pm/models/freeflowsubproblem.hh @@ -45,7 +45,7 @@ class FreeFlowSubProblem : public NavierStokesProblem<TypeTag> 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 BoundaryTypes = Dumux::NavierStokesBoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; diff --git a/exercises/solution/exercise-coupling-ff-pm/models/main.cc b/exercises/solution/exercise-coupling-ff-pm/models/main.cc index 8b5a6eca..142edc87 100644 --- a/exercises/solution/exercise-coupling-ff-pm/models/main.cc +++ b/exercises/solution/exercise-coupling-ff-pm/models/main.cc @@ -179,7 +179,7 @@ int main(int argc, char** argv) try stokesGridVariables->cellCenterGridVariablesPtr(), darcyGridVariables), couplingManager, - timeLoop); + timeLoop, solOld); // the linear solver using LinearSolver = UMFPackBackend; diff --git a/exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh index 537126e0..4c47a9ac 100644 --- a/exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh +++ b/exercises/solution/exercise-coupling-ff-pm/models/porousmediumsubproblem.hh @@ -43,7 +43,7 @@ class PorousMediumSubProblem : public PorousMediumFlowProblem<TypeTag> 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 BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; using SubControlVolumeFace = typename FVElementGeometry::SubControlVolumeFace; diff --git a/exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh index 4a0b9a11..891fb158 100644 --- a/exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh +++ b/exercises/solution/exercise-coupling-ff-pm/turbulence/freeflowsubproblem.hh @@ -53,7 +53,7 @@ class FreeFlowSubProblem : public NavierStokesProblem<TypeTag> 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 BoundaryTypes = Dumux::NavierStokesBoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename FVGridGeometry::LocalView; diff --git a/exercises/solution/exercise-coupling-ff-pm/turbulence/main.cc b/exercises/solution/exercise-coupling-ff-pm/turbulence/main.cc index 81cf3c55..a1f5cdef 100644 --- a/exercises/solution/exercise-coupling-ff-pm/turbulence/main.cc +++ b/exercises/solution/exercise-coupling-ff-pm/turbulence/main.cc @@ -178,7 +178,7 @@ int main(int argc, char** argv) try stokesGridVariables->cellCenterGridVariablesPtr(), darcyGridVariables), couplingManager, - timeLoop); + timeLoop, solOld); // the linear solver using LinearSolver = UMFPackBackend; diff --git a/exercises/solution/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh b/exercises/solution/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh index 92c91a98..10f74908 100644 --- a/exercises/solution/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh +++ b/exercises/solution/exercise-coupling-ff-pm/turbulence/porousmediumsubproblem.hh @@ -42,7 +42,7 @@ class PorousMediumSubProblem : public PorousMediumFlowProblem<TypeTag> 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 BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using VolumeVariables = GetPropType<TypeTag, Properties::VolumeVariables>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using SubControlVolume = typename FVElementGeometry::SubControlVolume; diff --git a/exercises/solution/exercise-fluidsystem/2p2cproblem.hh b/exercises/solution/exercise-fluidsystem/2p2cproblem.hh index 079beb3d..76f1fba5 100644 --- a/exercises/solution/exercise-fluidsystem/2p2cproblem.hh +++ b/exercises/solution/exercise-fluidsystem/2p2cproblem.hh @@ -52,7 +52,7 @@ class ExerciseFluidsystemProblemTwoPTwoC : public PorousMediumFlowProblem<TypeTa // Dumux specific types using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; diff --git a/exercises/solution/exercise-fluidsystem/2pproblem.hh b/exercises/solution/exercise-fluidsystem/2pproblem.hh index f4608455..7eac67ff 100644 --- a/exercises/solution/exercise-fluidsystem/2pproblem.hh +++ b/exercises/solution/exercise-fluidsystem/2pproblem.hh @@ -58,7 +58,7 @@ class ExerciseFluidsystemProblemTwoP : public PorousMediumFlowProblem<TypeTag> // Dumux specific types using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; diff --git a/exercises/solution/exercise-fluidsystem/main.cc b/exercises/solution/exercise-fluidsystem/main.cc index 9a9bafe6..e82d1822 100644 --- a/exercises/solution/exercise-fluidsystem/main.cc +++ b/exercises/solution/exercise-fluidsystem/main.cc @@ -125,7 +125,7 @@ int main(int argc, char** argv) try // the assembler with time loop for instationary problem using Assembler = FVAssembler<TypeTag, DiffMethod::numeric, /*implicit?*/true>; - auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop, xOld); // the linear solver using LinearSolver = AMGBiCGSTABBackend<LinearSolverTraits<FVGridGeometry>>; diff --git a/exercises/solution/exercise-fractures/fractureproblem.hh b/exercises/solution/exercise-fractures/fractureproblem.hh index 9bfe4312..17740330 100644 --- a/exercises/solution/exercise-fractures/fractureproblem.hh +++ b/exercises/solution/exercise-fractures/fractureproblem.hh @@ -43,7 +43,7 @@ class FractureSubProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + 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>; diff --git a/exercises/solution/exercise-fractures/main.cc b/exercises/solution/exercise-fractures/main.cc index c871fbee..9b4a75c1 100644 --- a/exercises/solution/exercise-fractures/main.cc +++ b/exercises/solution/exercise-fractures/main.cc @@ -220,7 +220,7 @@ int main(int argc, char** argv) try std::make_tuple(matrixFvGridGeometry, fractureFvGridGeometry), std::make_tuple(matrixGridVariables, fractureGridVariables), couplingManager, - timeLoop); + timeLoop, xOld); // the linear solver using LinearSolver = ILU0BiCGSTABBackend; diff --git a/exercises/solution/exercise-fractures/matrixproblem.hh b/exercises/solution/exercise-fractures/matrixproblem.hh index f6676262..1e5239d1 100644 --- a/exercises/solution/exercise-fractures/matrixproblem.hh +++ b/exercises/solution/exercise-fractures/matrixproblem.hh @@ -47,7 +47,7 @@ class MatrixSubProblem : public PorousMediumFlowProblem<TypeTag> { using ParentType = PorousMediumFlowProblem<TypeTag>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + 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>; diff --git a/exercises/solution/exercise-grids/main.cc b/exercises/solution/exercise-grids/main.cc index ad6f8f83..5a935a7a 100644 --- a/exercises/solution/exercise-grids/main.cc +++ b/exercises/solution/exercise-grids/main.cc @@ -123,7 +123,7 @@ int main(int argc, char** argv) try // the assembler with time loop for instationary problem using Assembler = FVAssembler<TypeTag, DiffMethod::numeric>; - auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop, xOld); // the linear solver using LinearSolver = AMGBiCGSTABBackend<LinearSolverTraits<FVGridGeometry>>; diff --git a/exercises/solution/exercise-grids/problem.hh b/exercises/solution/exercise-grids/problem.hh index 3e0635ba..ffdac382 100644 --- a/exercises/solution/exercise-grids/problem.hh +++ b/exercises/solution/exercise-grids/problem.hh @@ -59,7 +59,7 @@ class InjectionProblem2P : public PorousMediumFlowProblem<TypeTag> using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; diff --git a/exercises/solution/exercise-mainfile/1pproblem.hh b/exercises/solution/exercise-mainfile/1pproblem.hh index 41a45773..deb3f45a 100644 --- a/exercises/solution/exercise-mainfile/1pproblem.hh +++ b/exercises/solution/exercise-mainfile/1pproblem.hh @@ -45,7 +45,7 @@ class OnePTestProblem : public PorousMediumFlowProblem<TypeTag> using Scalar = GetPropType<TypeTag, Properties::Scalar>; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; static constexpr int dimWorld = GridView::dimensionworld; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; diff --git a/exercises/solution/exercise-properties/main.cc b/exercises/solution/exercise-properties/main.cc index f20d3f06..0cedf1c7 100644 --- a/exercises/solution/exercise-properties/main.cc +++ b/exercises/solution/exercise-properties/main.cc @@ -152,7 +152,7 @@ int main(int argc, char** argv) try // the assembler with time loop for instationary problem using Assembler = FVAssembler<TypeTag, DiffMethod::numeric>; - auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop, xOld); // the linear solver using LinearSolver = AMGBiCGSTABBackend<LinearSolverTraits<FVGridGeometry>>; diff --git a/exercises/solution/exercise-properties/problem.hh b/exercises/solution/exercise-properties/problem.hh index b1c107ae..b870dd3c 100644 --- a/exercises/solution/exercise-properties/problem.hh +++ b/exercises/solution/exercise-properties/problem.hh @@ -43,7 +43,7 @@ class TwoPTestProblem : public PorousMediumFlowProblem<TypeTag> using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; using NumEqVector = GetPropType<TypeTag, Properties::NumEqVector>; using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; diff --git a/exercises/solution/exercise-runtimeparams/main.cc b/exercises/solution/exercise-runtimeparams/main.cc index 21cff5b3..63d6e8cf 100644 --- a/exercises/solution/exercise-runtimeparams/main.cc +++ b/exercises/solution/exercise-runtimeparams/main.cc @@ -123,7 +123,7 @@ int main(int argc, char** argv) try // the assembler with time loop for instationary problem using Assembler = FVAssembler<TypeTag, DiffMethod::numeric>; - auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, fvGridGeometry, gridVariables, timeLoop, xOld); // the linear solver using LinearSolver = AMGBiCGSTABBackend<LinearSolverTraits<FVGridGeometry>>; diff --git a/exercises/solution/exercise-runtimeparams/problem.hh b/exercises/solution/exercise-runtimeparams/problem.hh index ed97eb72..55f4e4b2 100644 --- a/exercises/solution/exercise-runtimeparams/problem.hh +++ b/exercises/solution/exercise-runtimeparams/problem.hh @@ -59,7 +59,7 @@ class InjectionProblem2P : public PorousMediumFlowProblem<TypeTag> using Scalar = GetPropType<TypeTag, Properties::Scalar>; using Indices = typename GetPropType<TypeTag, Properties::ModelTraits>::Indices; using PrimaryVariables = GetPropType<TypeTag, Properties::PrimaryVariables>; - using BoundaryTypes = GetPropType<TypeTag, Properties::BoundaryTypes>; + using BoundaryTypes = Dumux::BoundaryTypes<GetPropType<TypeTag, Properties::ModelTraits>::numEq()>; using FVGridGeometry = GetPropType<TypeTag, Properties::GridGeometry>; using FVElementGeometry = typename GetPropType<TypeTag, Properties::GridGeometry>::LocalView; using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; -- GitLab