From e2a297d1072ea302305bb55497268f088f6ab067 Mon Sep 17 00:00:00 2001 From: Kilian Weishaupt <kilian.weishaupt@iws.uni-stuttgart.de> Date: Wed, 31 Jan 2018 18:11:54 +0100 Subject: [PATCH] [sequential] Use grid singleton less --- dumux/common/start.hh | 2 +- .../1p/sequential/diffusion/problem.hh | 20 ++++++++-------- .../2p/sequential/diffusion/problem.hh | 23 ++++++++++--------- .../2p/sequential/impes/problem.hh | 10 ++++---- .../2p/sequential/transport/problem.hh | 10 ++++---- .../2p2c/sequential/problem.hh | 11 ++++----- .../sequential/impetproblem.hh | 16 ++++++------- .../sequential/onemodelproblem.hh | 17 +++++++------- .../1p/sequential/test_1pproblem.hh | 6 ++--- .../1p/sequential/test_diffusion.cc | 6 ++--- .../1p/sequential/test_diffusion3d.cc | 6 ++--- .../1p/sequential/test_diffusionproblem.hh | 5 ++-- .../1p/sequential/test_diffusionproblem3d.hh | 5 ++-- .../2p/sequential/test_3d2pproblem.hh | 9 ++++---- .../sequential/test_impesadaptiveproblem.hh | 6 ++--- .../2p/sequential/test_impesproblem.hh | 7 +++--- .../2p/sequential/test_mpfa2pproblem.hh | 5 ++-- .../2p/sequential/test_transportproblem.hh | 5 ++-- .../sequential/test_adaptive2p2c2dproblem.hh | 6 ++--- .../sequential/test_adaptive2p2c3dproblem.hh | 9 ++++---- .../2p2c/sequential/test_dec2p2cproblem.hh | 5 ++-- .../2p2c/sequential/test_multiphysics2p2c.cc | 2 +- .../test_multiphysics2p2cproblem.hh | 5 ++-- 23 files changed, 101 insertions(+), 95 deletions(-) diff --git a/dumux/common/start.hh b/dumux/common/start.hh index f8583ec925..815a937a3e 100644 --- a/dumux/common/start.hh +++ b/dumux/common/start.hh @@ -108,7 +108,7 @@ int start_(int argc, // instantiate and run the problem TimeManager timeManager; - Problem problem(timeManager, GridCreator::grid().leafGridView()); + Problem problem(timeManager, GridCreator::grid()); timeManager.init(problem, restartTime, dt, tEnd, restart); timeManager.run(); diff --git a/dumux/porousmediumflow/1p/sequential/diffusion/problem.hh b/dumux/porousmediumflow/1p/sequential/diffusion/problem.hh index 796dc316ec..7ea150b65b 100644 --- a/dumux/porousmediumflow/1p/sequential/diffusion/problem.hh +++ b/dumux/porousmediumflow/1p/sequential/diffusion/problem.hh @@ -72,10 +72,10 @@ public: * \param timeManager the time manager * \param gridView The grid view */ - DiffusionProblem1P(TimeManager &timeManager, const GridView &gridView) - : ParentType(timeManager, gridView), gravity_(0) + DiffusionProblem1P(TimeManager& timeManager, Grid& grid) + : ParentType(timeManager, grid), gravity_(0) { - spatialParams_ = std::make_shared<SpatialParams>(gridView); + spatialParams_ = std::make_shared<SpatialParams>(grid.leafGridView()); gravity_ = 0; if (getParam<bool>("Problem.EnableGravity")) gravity_[dim - 1] = -9.81; @@ -88,8 +88,8 @@ public: * \param gridView The grid view * \param spatialParams SpatialParams instantiation */ - DiffusionProblem1P(TimeManager &timeManager, const GridView &gridView, SpatialParams &spatialParams) - : ParentType(timeManager, gridView), gravity_(0) + DiffusionProblem1P(TimeManager& timeManager, Grid& grid, SpatialParams &spatialParams) + : ParentType(timeManager, grid), gravity_(0) { spatialParams_ = Dune::stackobject_to_shared_ptr<SpatialParams>(spatialParams); gravity_ = 0; @@ -102,10 +102,10 @@ public: * * \param gridView The grid view */ - DiffusionProblem1P(const GridView &gridView) - : ParentType(gridView, false), gravity_(0) + DiffusionProblem1P(Grid& grid) + : ParentType(grid, false), gravity_(0) { - spatialParams_ = std::make_shared<SpatialParams>(gridView); + spatialParams_ = std::make_shared<SpatialParams>(grid.leafGridView()); gravity_ = 0; if (getParam<bool>("Problem.EnableGravity")) gravity_[dim - 1] = -9.81; @@ -117,8 +117,8 @@ public: * \param gridView The grid view * \param spatialParams SpatialParams instantiation */ - DiffusionProblem1P(const GridView &gridView, SpatialParams &spatialParams) - : ParentType(gridView, false), gravity_(0) + DiffusionProblem1P(Grid& grid, SpatialParams& spatialParams) + : ParentType(grid, false), gravity_(0) { spatialParams_ = Dune::stackobject_to_shared_ptr<SpatialParams>(spatialParams); gravity_ = 0; diff --git a/dumux/porousmediumflow/2p/sequential/diffusion/problem.hh b/dumux/porousmediumflow/2p/sequential/diffusion/problem.hh index 6a5de64cd4..976afd0eea 100644 --- a/dumux/porousmediumflow/2p/sequential/diffusion/problem.hh +++ b/dumux/porousmediumflow/2p/sequential/diffusion/problem.hh @@ -42,7 +42,8 @@ class DiffusionProblem2P: public OneModelProblem<TypeTag> using ParentType = OneModelProblem<TypeTag>; using GridView = typename GET_PROP_TYPE(TypeTag, GridView); - using Grid = typename GridView::Grid;using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); + using Grid = typename GridView::Grid; + using Scalar = typename GET_PROP_TYPE(TypeTag, Scalar); using TimeManager = typename GET_PROP_TYPE(TypeTag, TimeManager); using PressureModel = typename GET_PROP_TYPE(TypeTag, PressureModel); @@ -70,10 +71,10 @@ public: * \param timeManager the time manager * \param gridView The grid view */ - DiffusionProblem2P(TimeManager &timeManager, const GridView &gridView) - : ParentType(timeManager, gridView), gravity_(0) + DiffusionProblem2P(TimeManager& timeManager, Grid& grid) + : ParentType(timeManager, grid), gravity_(0) { - spatialParams_ = std::make_shared<SpatialParams>(gridView); + spatialParams_ = std::make_shared<SpatialParams>(grid.leafGridView()); gravity_ = 0; if (getParam<bool>("Problem.EnableGravity")) gravity_[dim - 1] = -9.81; @@ -87,8 +88,8 @@ public: * \param gridView The grid view * \param spatialParams SpatialParams instantiation */ - DiffusionProblem2P(TimeManager &timeManager, const GridView &gridView, SpatialParams &spatialParams) - : ParentType(timeManager, gridView), gravity_(0) + DiffusionProblem2P(TimeManager& timeManager, Grid& grid, SpatialParams& spatialParams) + : ParentType(timeManager, grid), gravity_(0) { spatialParams_ = Dune::stackobject_to_shared_ptr<SpatialParams>(spatialParams); gravity_ = 0; @@ -103,10 +104,10 @@ public: * * \param gridView The grid view */ - DiffusionProblem2P(const GridView &gridView) - : ParentType(gridView, false), gravity_(0) + DiffusionProblem2P(Grid& grid) + : ParentType(grid, false), gravity_(0) { - spatialParams_ = std::make_shared<SpatialParams>(gridView); + spatialParams_ = std::make_shared<SpatialParams>(grid.leafGridView()); gravity_ = 0; if (getParam<bool>("Problem.EnableGravity")) gravity_[dim - 1] = -9.81; @@ -119,8 +120,8 @@ public: * \param gridView The grid view * \param spatialParams SpatialParams instantiation */ - DiffusionProblem2P(const GridView &gridView, SpatialParams &spatialParams) - : ParentType(gridView, false), gravity_(0) + DiffusionProblem2P(Grid& grid, SpatialParams& spatialParams) + : ParentType(grid, false), gravity_(0) { spatialParams_ = Dune::stackobject_to_shared_ptr<SpatialParams>(spatialParams); gravity_ = 0; diff --git a/dumux/porousmediumflow/2p/sequential/impes/problem.hh b/dumux/porousmediumflow/2p/sequential/impes/problem.hh index b4dd8f6607..c818202444 100644 --- a/dumux/porousmediumflow/2p/sequential/impes/problem.hh +++ b/dumux/porousmediumflow/2p/sequential/impes/problem.hh @@ -73,11 +73,11 @@ public: * \param timeManager The time manager * \param gridView The grid view */ - IMPESProblem2P(TimeManager &timeManager, const GridView &gridView) - : ParentType(timeManager, gridView), + IMPESProblem2P(TimeManager& timeManager, Grid& grid) + : ParentType(timeManager, grid), gravity_(0) { - spatialParams_ = std::make_shared<SpatialParams>(gridView); + spatialParams_ = std::make_shared<SpatialParams>(grid.leafGridView()); gravity_ = 0; if (getParam<bool>("Problem.EnableGravity")) @@ -90,8 +90,8 @@ public: * \param gridView The grid view * \param spatialParams SpatialParams instantiation */ - IMPESProblem2P(TimeManager &timeManager, const GridView &gridView, SpatialParams &spatialParams) - : ParentType(timeManager, gridView), + IMPESProblem2P(TimeManager& timeManager, Grid& grid, SpatialParams& spatialParams) + : ParentType(timeManager, grid), gravity_(0) { spatialParams_ = Dune::stackobject_to_shared_ptr<SpatialParams>(spatialParams); diff --git a/dumux/porousmediumflow/2p/sequential/transport/problem.hh b/dumux/porousmediumflow/2p/sequential/transport/problem.hh index 884186c5ce..9976e09885 100644 --- a/dumux/porousmediumflow/2p/sequential/transport/problem.hh +++ b/dumux/porousmediumflow/2p/sequential/transport/problem.hh @@ -92,13 +92,13 @@ public: * \param timeManager The time manager * \param gridView The grid view */ - TransportProblem2P(TimeManager& timeManager, const GridView &gridView) - : ParentType(timeManager, gridView), + TransportProblem2P(TimeManager& timeManager, Grid& grid) + : ParentType(timeManager, grid), gravity_(0) { cFLFactor_ = getParam<Scalar>("Impet.CFLFactor"); - spatialParams_ = std::make_shared<SpatialParams>(gridView); + spatialParams_ = std::make_shared<SpatialParams>(grid.leafGridView()); gravity_ = 0; if (getParam<bool>("Problem.EnableGravity")) @@ -112,8 +112,8 @@ public: * \param gridView The grid view * \param spatialParams SpatialParams instantiation */ - TransportProblem2P(TimeManager &timeManager, const GridView &gridView, SpatialParams &spatialParams) - : ParentType(timeManager, gridView), + TransportProblem2P(TimeManager& timeManager, Grid& grid, SpatialParams& spatialParams) + : ParentType(timeManager, grid), gravity_(0) { cFLFactor_ = getParam<Scalar>("Impet.CFLFactor"); diff --git a/dumux/porousmediumflow/2p2c/sequential/problem.hh b/dumux/porousmediumflow/2p2c/sequential/problem.hh index 591480f7b0..8d102b66db 100644 --- a/dumux/porousmediumflow/2p2c/sequential/problem.hh +++ b/dumux/porousmediumflow/2p2c/sequential/problem.hh @@ -73,8 +73,8 @@ public: * \param timeManager The time manager * \param gridView The grid view */ - IMPETProblem2P2C(TimeManager &timeManager, const GridView &gridView) - : ParentType(timeManager, gridView) + IMPETProblem2P2C(TimeManager &timeManager, Grid& grid) + : ParentType(timeManager, grid) { } /*! * \brief The constructor for given spatialParams @@ -86,11 +86,8 @@ public: * \param gridView The grid view * \param spatialParams SpatialParams instantiation */ - IMPETProblem2P2C(TimeManager &timeManager, const GridView &gridView, SpatialParams &spatialParams) - : ParentType(timeManager, gridView, spatialParams) - { } - - virtual ~IMPETProblem2P2C() + IMPETProblem2P2C(TimeManager &timeManager, Grid& grid, SpatialParams &spatialParams) + : ParentType(timeManager, grid, spatialParams) { } /*! diff --git a/dumux/porousmediumflow/sequential/impetproblem.hh b/dumux/porousmediumflow/sequential/impetproblem.hh index a682b8283b..62a2fea7c4 100644 --- a/dumux/porousmediumflow/sequential/impetproblem.hh +++ b/dumux/porousmediumflow/sequential/impetproblem.hh @@ -96,23 +96,23 @@ public: * \param timeManager The time manager * \param gridView gridview to the grid. */ - IMPETProblem(TimeManager &timeManager, const GridView &gridView) - : gridView_(gridView), + IMPETProblem(TimeManager &timeManager, Grid& grid) + : gridView_(grid.leafGridView()), grid_(nullptr), bBoxMin_(std::numeric_limits<double>::max()), bBoxMax_(-std::numeric_limits<double>::max()), timeManager_(&timeManager), - variables_(gridView), + variables_(grid.leafGridView()), outputInterval_(1), outputTimeInterval_(0.0), vtkOutputLevel_(-1) { - setGrid(GridCreator::grid()); + setGrid(grid); // calculate the bounding box of the grid view using std::min; using std::max; - for (const auto& vertex : vertices(gridView)) { + for (const auto& vertex : vertices(grid.leafGridView())) { for (int i=0; i<dim; i++) { bBoxMin_[i] = min(bBoxMin_[i], vertex.geometry().center()[i]); bBoxMax_[i] = max(bBoxMax_[i], vertex.geometry().center()[i]); @@ -120,10 +120,10 @@ public: } // communicate to get the bounding box of the whole domain - if (gridView.comm().size() > 1) + if (grid.leafGridView().comm().size() > 1) for (int i = 0; i < dim; ++i) { - bBoxMin_[i] = gridView.comm().min(bBoxMin_[i]); - bBoxMax_[i] = gridView.comm().max(bBoxMax_[i]); + bBoxMin_[i] = grid.leafGridView().comm().min(bBoxMin_[i]); + bBoxMax_[i] = grid.leafGridView().comm().max(bBoxMax_[i]); } pressModel_ = std::make_shared<PressureModel>(asImp_()); diff --git a/dumux/porousmediumflow/sequential/onemodelproblem.hh b/dumux/porousmediumflow/sequential/onemodelproblem.hh index ab1c4fcec4..620d3e0b27 100644 --- a/dumux/porousmediumflow/sequential/onemodelproblem.hh +++ b/dumux/porousmediumflow/sequential/onemodelproblem.hh @@ -45,6 +45,7 @@ class OneModelProblem private: using Implementation = typename GET_PROP_TYPE(TypeTag, Problem); using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Grid = typename GridView::Grid; using TimeManager = typename GET_PROP_TYPE(TypeTag, TimeManager); @@ -88,18 +89,18 @@ public: * \tparam TypeTag The TypeTag * \tparam verbose Output level for TimeManager */ - OneModelProblem(const GridView &gridView, bool verbose = true) - : gridView_(gridView), + OneModelProblem(Grid& grid, bool verbose = true) + : gridView_(grid.leafGridView()), bBoxMin_(std::numeric_limits<double>::max()), bBoxMax_(-std::numeric_limits<double>::max()), - variables_(gridView), + variables_(grid.leafGridView()), outputInterval_(1), outputTimeInterval_(0) { // calculate the bounding box of the grid view using std::max; using std::min; - for (const auto& vertex : vertices(gridView)) { + for (const auto& vertex : vertices(grid.leafGridView())) { for (int i=0; i<dim; i++) { bBoxMin_[i] = min(bBoxMin_[i], vertex.geometry().center()[i]); bBoxMax_[i] = max(bBoxMax_[i], vertex.geometry().center()[i]); @@ -117,18 +118,18 @@ public: * \tparam TypeTag The TypeTag * \tparam verbose Output level for TimeManager */ - OneModelProblem(TimeManager &timeManager, const GridView &gridView) - : gridView_(gridView), + OneModelProblem(TimeManager& timeManager, Grid& grid) + : gridView_(grid.leafGridView()), bBoxMin_(std::numeric_limits<double>::max()), bBoxMax_(-std::numeric_limits<double>::max()), - variables_(gridView), + variables_(grid.leafGridView()), outputInterval_(1), outputTimeInterval_(0) { // calculate the bounding box of the grid view using std::max; using std::min; - for (const auto& vertex : vertices(gridView)) { + for (const auto& vertex : vertices(grid.leafGridView())) { for (int i=0; i<dim; i++) { bBoxMin_[i] = min(bBoxMin_[i], vertex.geometry().center()[i]); bBoxMax_[i] = max(bBoxMax_[i], vertex.geometry().center()[i]); diff --git a/test/porousmediumflow/1p/sequential/test_1pproblem.hh b/test/porousmediumflow/1p/sequential/test_1pproblem.hh index f09512ec76..49de281104 100644 --- a/test/porousmediumflow/1p/sequential/test_1pproblem.hh +++ b/test/porousmediumflow/1p/sequential/test_1pproblem.hh @@ -75,6 +75,7 @@ class TestProblemOneP: public DiffusionProblem1P<TypeTag > using TimeManager = typename GET_PROP_TYPE(TypeTag, TimeManager); using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Grid = typename GridView::Grid; using FluidSystem = typename GET_PROP_TYPE(TypeTag, FluidSystem); @@ -92,12 +93,11 @@ class TestProblemOneP: public DiffusionProblem1P<TypeTag > using Intersection = typename GridView::Intersection; using GlobalPosition = Dune::FieldVector<Scalar, dimWorld>; using LocalPosition = Dune::FieldVector<Scalar, dim>; - using GridCreator = typename GET_PROP_TYPE(TypeTag, GridCreator); public: - TestProblemOneP(TimeManager &timeManager, const GridView &gridView) : - ParentType(gridView), velocity_(*this) + TestProblemOneP(TimeManager& timeManager, Grid& grid) : + ParentType(grid), velocity_(*this) { delta_ = getParam<Scalar>("Problem.Delta", 1e-3); diff --git a/test/porousmediumflow/1p/sequential/test_diffusion.cc b/test/porousmediumflow/1p/sequential/test_diffusion.cc index 0a5ee3a488..e8e5c19d98 100644 --- a/test/porousmediumflow/1p/sequential/test_diffusion.cc +++ b/test/porousmediumflow/1p/sequential/test_diffusion.cc @@ -73,7 +73,7 @@ int main(int argc, char** argv) bool consecutiveNumbering = true; using FVProblem = GET_PROP_TYPE(TTAG(FVVelocity2PTestTypeTag), Problem); - FVProblem fvProblem(grid.leafGridView()); + FVProblem fvProblem(grid); fvProblem.setName("fvdiffusion"); timer.reset(); fvProblem.init(); @@ -84,7 +84,7 @@ int main(int argc, char** argv) fvResult.evaluate(grid.leafGridView(), fvProblem, consecutiveNumbering); using MPFAOProblem = GET_PROP_TYPE(TTAG(FVMPFAOVelocity2PTestTypeTag), Problem); - MPFAOProblem mpfaProblem(grid.leafGridView()); + MPFAOProblem mpfaProblem(grid); mpfaProblem.setName("fvmpfaodiffusion"); timer.reset(); mpfaProblem.init(); @@ -94,7 +94,7 @@ int main(int argc, char** argv) mpfaResult.evaluate(grid.leafGridView(), mpfaProblem, consecutiveNumbering); using MimeticProblem = GET_PROP_TYPE(TTAG(MimeticPressure2PTestTypeTag), Problem); - MimeticProblem mimeticProblem(grid.leafGridView()); + MimeticProblem mimeticProblem(grid); mimeticProblem.setName("mimeticdiffusion"); timer.reset(); mimeticProblem.init(); diff --git a/test/porousmediumflow/1p/sequential/test_diffusion3d.cc b/test/porousmediumflow/1p/sequential/test_diffusion3d.cc index f898e771ba..def4118513 100644 --- a/test/porousmediumflow/1p/sequential/test_diffusion3d.cc +++ b/test/porousmediumflow/1p/sequential/test_diffusion3d.cc @@ -116,7 +116,7 @@ int start(int argc, auto fvDefaultParams = [] (Dune::ParameterTree& p) {GET_PROP(FVTypeTag, ModelDefaultParameters)::defaultParams(p);}; Dumux::Parameters::init(argc, argv, fvDefaultParams, usage); - std::shared_ptr<FVProblem> fvProblem = std::make_shared<FVProblem>(grid.leafGridView()); + std::shared_ptr<FVProblem> fvProblem = std::make_shared<FVProblem>(grid); // set output name std::string fvOutput = "test_diffusion3d_fv" + outputName; if (numRefine > 0) @@ -144,7 +144,7 @@ int start(int argc, auto mpfalDefaultParams = [] (Dune::ParameterTree& p) {GET_PROP(MPFALTypeTag, ModelDefaultParameters)::defaultParams(p);}; Dumux::Parameters::init(argc, argv, mpfalDefaultParams, usage); - std::shared_ptr<MPFALProblem> mpfaProblem = std::make_shared<MPFALProblem>(grid.leafGridView()); + std::shared_ptr<MPFALProblem> mpfaProblem = std::make_shared<MPFALProblem>(grid); // set output name std::string fvmpfaOutput = "test_diffusion3d_fvmpfal" + outputName; if (numRefine > 0) @@ -172,7 +172,7 @@ int start(int argc, auto mimeticDefaultParams = [] (Dune::ParameterTree& p) {GET_PROP(MimeticTypeTag, ModelDefaultParameters)::defaultParams(p);}; Dumux::Parameters::init(argc, argv, mimeticDefaultParams, usage); - std::shared_ptr<MimeticProblem> mimeticProblem = std::make_shared<MimeticProblem>(grid.leafGridView()); + std::shared_ptr<MimeticProblem> mimeticProblem = std::make_shared<MimeticProblem>(grid); // set output name std::string mimeticOutput = "test_diffusion3d_mimetic" + outputName; if (numRefine > 0) diff --git a/test/porousmediumflow/1p/sequential/test_diffusionproblem.hh b/test/porousmediumflow/1p/sequential/test_diffusionproblem.hh index 9345782c5b..c7ab75b3b0 100644 --- a/test/porousmediumflow/1p/sequential/test_diffusionproblem.hh +++ b/test/porousmediumflow/1p/sequential/test_diffusionproblem.hh @@ -114,6 +114,7 @@ class TestDiffusionProblem: public DiffusionProblem2P<TypeTag> { using ParentType = DiffusionProblem2P<TypeTag>; using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Grid = typename GridView::Grid; using Indices = typename GET_PROP_TYPE(TypeTag, Indices); @@ -144,8 +145,8 @@ public: using PrimaryVariables = typename SolutionTypes::PrimaryVariables; using ScalarSolution = typename SolutionTypes::ScalarSolution; - TestDiffusionProblem(const GridView &gridView) : - ParentType(gridView), velocity_(*this) + TestDiffusionProblem(Grid& grid) : + ParentType(grid), velocity_(*this) { delta_ = getParam<Scalar>("Problem.Delta", 1e-3); } diff --git a/test/porousmediumflow/1p/sequential/test_diffusionproblem3d.hh b/test/porousmediumflow/1p/sequential/test_diffusionproblem3d.hh index e65a5a23b9..3e8873b7e0 100644 --- a/test/porousmediumflow/1p/sequential/test_diffusionproblem3d.hh +++ b/test/porousmediumflow/1p/sequential/test_diffusionproblem3d.hh @@ -98,6 +98,7 @@ class TestDiffusion3DProblem: public DiffusionProblem2P<TypeTag> { using ParentType = DiffusionProblem2P<TypeTag>; using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Grid = typename GridView::Grid; using Indices = typename GET_PROP_TYPE(TypeTag, Indices); @@ -131,8 +132,8 @@ public: using PrimaryVariables = typename SolutionTypes::PrimaryVariables; using ScalarSolution = typename SolutionTypes::ScalarSolution; - TestDiffusion3DProblem(const GridView &gridView) : - ParentType(gridView), velocity_(*this) + TestDiffusion3DProblem(Grid& grid) : + ParentType(grid), velocity_(*this) { } //!for this specific problem: initialize the saturation and afterwards the model diff --git a/test/porousmediumflow/2p/sequential/test_3d2pproblem.hh b/test/porousmediumflow/2p/sequential/test_3d2pproblem.hh index 2b8276defc..5653132448 100644 --- a/test/porousmediumflow/2p/sequential/test_3d2pproblem.hh +++ b/test/porousmediumflow/2p/sequential/test_3d2pproblem.hh @@ -123,6 +123,7 @@ class Test3D2PProblem: public IMPESProblem2P<TypeTag> using ThisType = Test3D2PProblem<TypeTag>; using ParentType = IMPESProblem2P<TypeTag>; using GridView = typename GET_PROP_TYPE(TypeTag, GridView); +using Grid = typename GridView::Grid; using Indices = typename GET_PROP_TYPE(TypeTag, Indices); @@ -162,21 +163,21 @@ using LocalPosition = Dune::FieldVector<Scalar, dim>; public: -Test3D2PProblem(TimeManager &timeManager,const GridView &gridView) : -ParentType(timeManager, gridView), inflowEdge_(0), outflowEdge_(0) +Test3D2PProblem(TimeManager& timeManager, Grid& grid) : +ParentType(timeManager, grid), inflowEdge_(0), outflowEdge_(0) { int refinementFactor = 0; if (haveParam("Grid.RefinementFactor") && !GET_PROP_VALUE(TypeTag, AdaptiveGrid)) { refinementFactor = getParam<Scalar>("Grid.RefinementFactor"); - this->grid().globalRefine(refinementFactor); + grid.globalRefine(refinementFactor); } Scalar minDist = this->bBoxMax().two_norm(); Scalar maxDist = this->bBoxMin().two_norm(); // calculate the bounding box of the grid view - for (const auto& vertex : vertices(gridView)) { + for (const auto& vertex : vertices(grid.leafGridView())) { GlobalPosition vertexCoord(vertex.geometry().center()); Scalar dist = vertexCoord.two_norm(); diff --git a/test/porousmediumflow/2p/sequential/test_impesadaptiveproblem.hh b/test/porousmediumflow/2p/sequential/test_impesadaptiveproblem.hh index f2164bdf2e..bbdee48a6d 100644 --- a/test/porousmediumflow/2p/sequential/test_impesadaptiveproblem.hh +++ b/test/porousmediumflow/2p/sequential/test_impesadaptiveproblem.hh @@ -119,15 +119,15 @@ class TestIMPESAdaptiveProblem: public IMPESProblem2P<TypeTag> using GridCreator = typename GET_PROP_TYPE(TypeTag, GridCreator); public: - TestIMPESAdaptiveProblem(TimeManager &timeManager, const GridView &gridView) : - ParentType(timeManager, gridView) + TestIMPESAdaptiveProblem(TimeManager &timeManager, Grid& grid) : + ParentType(timeManager, grid) { name_ = getParam<std::string>("Problem.Name"); // Refine the grid provided that no restart occurs. Otherwise, an // already refined grid will be read. if (!(haveParam("Restart") || haveParam("TimeManager.Restart"))) - GridCreator::grid().globalRefine(getParam<int>("GridAdapt.MaxLevel")); + grid.globalRefine(getParam<int>("GridAdapt.MaxLevel")); this->setOutputInterval(10); } diff --git a/test/porousmediumflow/2p/sequential/test_impesproblem.hh b/test/porousmediumflow/2p/sequential/test_impesproblem.hh index 783c0fcd55..db3619a784 100644 --- a/test/porousmediumflow/2p/sequential/test_impesproblem.hh +++ b/test/porousmediumflow/2p/sequential/test_impesproblem.hh @@ -121,6 +121,7 @@ class IMPESTestProblem: public IMPESProblem2P<TypeTag> { using ParentType = IMPESProblem2P<TypeTag>; using GridView = typename GET_PROP_TYPE(TypeTag, GridView); +using Grid = typename GridView::Grid; using Indices = typename GET_PROP_TYPE(TypeTag, Indices); @@ -149,11 +150,11 @@ using GlobalPosition = Dune::FieldVector<Scalar, dimWorld>; using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); using SolutionTypes = typename GET_PROP(TypeTag, SolutionTypes); - using PrimaryVariables = typename SolutionTypes::PrimaryVariables; +using PrimaryVariables = typename SolutionTypes::PrimaryVariables; public: -IMPESTestProblem(TimeManager &timeManager, const GridView &gridView) : -ParentType(timeManager, gridView) +IMPESTestProblem(TimeManager &timeManager, Grid &grid) : +ParentType(timeManager, grid) { name_ = getParam<std::string>("Problem.Name"); } diff --git a/test/porousmediumflow/2p/sequential/test_mpfa2pproblem.hh b/test/porousmediumflow/2p/sequential/test_mpfa2pproblem.hh index 8d27847030..f55d541276 100644 --- a/test/porousmediumflow/2p/sequential/test_mpfa2pproblem.hh +++ b/test/porousmediumflow/2p/sequential/test_mpfa2pproblem.hh @@ -125,6 +125,7 @@ class MPFATwoPTestProblem: public IMPESProblem2P<TypeTag> { using ParentType = IMPESProblem2P<TypeTag>; using GridView = typename GET_PROP_TYPE(TypeTag, GridView); +using Grid = typename GridView::Grid; using Indices = typename GET_PROP_TYPE(TypeTag, Indices); @@ -160,8 +161,8 @@ using Element = typename GridView::Traits::template Codim<0>::Entity; using GlobalPosition = Dune::FieldVector<Scalar, dimWorld>; public: -MPFATwoPTestProblem(TimeManager &timeManager,const GridView &gridView) : -ParentType(timeManager, gridView) +MPFATwoPTestProblem(TimeManager &timeManager, Grid &grid) : +ParentType(timeManager, grid) #if PROBLEM != 2 , analyticSolution_(*this) #endif diff --git a/test/porousmediumflow/2p/sequential/test_transportproblem.hh b/test/porousmediumflow/2p/sequential/test_transportproblem.hh index 02906a30ed..6c992f29a3 100644 --- a/test/porousmediumflow/2p/sequential/test_transportproblem.hh +++ b/test/porousmediumflow/2p/sequential/test_transportproblem.hh @@ -89,6 +89,7 @@ class TestTransportProblem: public TransportProblem2P<TypeTag> { using ParentType = TransportProblem2P<TypeTag>; using GridView = typename GET_PROP_TYPE(TypeTag, GridView); + using Grid = typename GridView::Grid; using Indices = typename GET_PROP_TYPE(TypeTag, Indices); @@ -114,8 +115,8 @@ class TestTransportProblem: public TransportProblem2P<TypeTag> using GlobalPosition = Dune::FieldVector<Scalar, dimWorld>; public: - TestTransportProblem(TimeManager &timeManager, const GridView &gridView) : - ParentType(timeManager, gridView) + TestTransportProblem(TimeManager& timeManager, Grid& grid) : + ParentType(timeManager, grid) {} diff --git a/test/porousmediumflow/2p2c/sequential/test_adaptive2p2c2dproblem.hh b/test/porousmediumflow/2p2c/sequential/test_adaptive2p2c2dproblem.hh index 92f3cdcc3f..082b1c235c 100644 --- a/test/porousmediumflow/2p2c/sequential/test_adaptive2p2c2dproblem.hh +++ b/test/porousmediumflow/2p2c/sequential/test_adaptive2p2c2dproblem.hh @@ -127,9 +127,9 @@ using Intersection = typename GridView::Intersection; using GlobalPosition = Dune::FieldVector<Scalar, dimWorld>; public: -Adaptive2p2c2d(TimeManager &timeManager, const GridView& gridView) : - ParentType(timeManager, gridView), - debugWriter_(gridView, "gridAfterAdapt") +Adaptive2p2c2d(TimeManager& timeManager, Grid& grid) +: ParentType(timeManager, grid) +, debugWriter_(grid.leafGridView(), "gridAfterAdapt") { this->setName(getParam<std::string>("Problem.SimulationName")); this->setOutputInterval(getParam<int>("Problem.OutputInterval")); diff --git a/test/porousmediumflow/2p2c/sequential/test_adaptive2p2c3dproblem.hh b/test/porousmediumflow/2p2c/sequential/test_adaptive2p2c3dproblem.hh index 8b02ac4e1b..2eb98f8c91 100644 --- a/test/porousmediumflow/2p2c/sequential/test_adaptive2p2c3dproblem.hh +++ b/test/porousmediumflow/2p2c/sequential/test_adaptive2p2c3dproblem.hh @@ -102,7 +102,6 @@ class Adaptive2p2c3d: public IMPETProblem2P2C<TypeTag> using ParentType = IMPETProblem2P2C<TypeTag>; using GridView = typename GET_PROP_TYPE(TypeTag, GridView); using Grid = typename GET_PROP_TYPE(TypeTag, Grid); -using GridCreator = typename GET_PROP_TYPE(TypeTag, GridCreator); using TimeManager = typename GET_PROP_TYPE(TypeTag, TimeManager); using Indices = typename GET_PROP_TYPE(TypeTag, Indices); @@ -128,11 +127,11 @@ using Intersection = typename GridView::Intersection; using GlobalPosition = Dune::FieldVector<Scalar, dimWorld>; public: -Adaptive2p2c3d(TimeManager &timeManager, const GridView& gridView) : - ParentType(timeManager, gridView), - debugWriter_(gridView, "gridAfterAdapt") +Adaptive2p2c3d(TimeManager& timeManager, Grid& grid) : + ParentType(timeManager, grid), + debugWriter_(grid.leafGridView(), "gridAfterAdapt") { - GridCreator::grid().globalRefine(getParam<int>("GridAdapt.MaxLevel")); + grid.globalRefine(getParam<int>("GridAdapt.MaxLevel")); //Process parameter file //Simulation Control diff --git a/test/porousmediumflow/2p2c/sequential/test_dec2p2cproblem.hh b/test/porousmediumflow/2p2c/sequential/test_dec2p2cproblem.hh index 3d57ec0452..df5951d233 100644 --- a/test/porousmediumflow/2p2c/sequential/test_dec2p2cproblem.hh +++ b/test/porousmediumflow/2p2c/sequential/test_dec2p2cproblem.hh @@ -89,6 +89,7 @@ class TestDecTwoPTwoCProblem: public IMPETProblem2P2C<TypeTag> { using ParentType = IMPETProblem2P2C<TypeTag>; using GridView = typename GET_PROP_TYPE(TypeTag, GridView); +using Grid = typename GridView::Grid; using TimeManager = typename GET_PROP_TYPE(TypeTag, TimeManager); using Indices = typename GET_PROP_TYPE(TypeTag, Indices); @@ -109,8 +110,8 @@ using Intersection = typename GridView::Intersection; using GlobalPosition = Dune::FieldVector<Scalar, dimWorld>; public: -TestDecTwoPTwoCProblem(TimeManager &timeManager, const GridView &gridView) : -ParentType(timeManager, gridView), depthBOR_(1000.0) +TestDecTwoPTwoCProblem(TimeManager& timeManager, Grid& grid) : +ParentType(timeManager, grid), depthBOR_(1000.0) {} /*! diff --git a/test/porousmediumflow/2p2c/sequential/test_multiphysics2p2c.cc b/test/porousmediumflow/2p2c/sequential/test_multiphysics2p2c.cc index 38c24d8338..6c1c79d9af 100644 --- a/test/porousmediumflow/2p2c/sequential/test_multiphysics2p2c.cc +++ b/test/porousmediumflow/2p2c/sequential/test_multiphysics2p2c.cc @@ -103,7 +103,7 @@ int main(int argc, char** argv) // instantiate and run the concrete problem //////////////////////////////////////////////////////////// TimeManager timeManager; - Problem problem(timeManager, grid.leafGridView(), H); + Problem problem(timeManager, grid, H); // initialize the simulation timeManager.init(problem, startTime, firstDt, tEnd, restart); diff --git a/test/porousmediumflow/2p2c/sequential/test_multiphysics2p2cproblem.hh b/test/porousmediumflow/2p2c/sequential/test_multiphysics2p2cproblem.hh index 6b9e093b22..aab374b187 100644 --- a/test/porousmediumflow/2p2c/sequential/test_multiphysics2p2cproblem.hh +++ b/test/porousmediumflow/2p2c/sequential/test_multiphysics2p2cproblem.hh @@ -96,6 +96,7 @@ class TestMultTwoPTwoCProblem: public IMPETProblem2P2C<TypeTag> { using ParentType = IMPETProblem2P2C<TypeTag>; using GridView = typename GET_PROP_TYPE(TypeTag, GridView); +using Grid = typename GridView::Grid; using TimeManager = typename GET_PROP_TYPE(TypeTag, TimeManager); using Indices = typename GET_PROP_TYPE(TypeTag, Indices); @@ -116,8 +117,8 @@ using Intersection = typename GridView::Intersection; using GlobalPosition = Dune::FieldVector<Scalar, dimWorld>; public: -TestMultTwoPTwoCProblem(TimeManager &timeManager, const GridView &gridView, const GlobalPosition upperRight = 0) : -ParentType(timeManager, gridView), lowerLeft_(0), upperRight_(upperRight), depthBOR_(1000.0) +TestMultTwoPTwoCProblem(TimeManager &timeManager, Grid &grid, const GlobalPosition& upperRight = 0) : +ParentType(timeManager, grid), lowerLeft_(0), upperRight_(upperRight), depthBOR_(1000.0) {} /*! -- GitLab