diff --git a/dumux/common/start.hh b/dumux/common/start.hh index f8583ec9256941c0b60695937810fcf2186e0369..815a937a3e1d8882f0a9466a1197d213d126ed01 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 796dc316ec9fac7a72325778192a91cd8821386c..7ea150b65bcd991bfd1c07bb433515f953dc2680 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 6a5de64cd41542d31daa81c0dc27f401649e005c..976afd0eeaf71bb60e5ec38a7772e074b6a69512 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 b4dd8f660737cdbde08c5fac8a4b5fc73f9afd84..c818202444cefab8cbee63c7b7aea05c1f4d5ca1 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 884186c5ce27325a5b9c6c321b684b256cd2adcc..9976e09885479a19eb0654fef39722b00e788cbb 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 591480f7b0abf67af06f9764922ad09e5284d386..8d102b66dbcd12598a7e65139d65760de19b8b72 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 a682b8283be3330e53dc62e9c8a0972e6f2094b9..62a2fea7c4064ccbe386cae44c324bfb517c7ce1 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 ab1c4fcec4c888ea077e33514f9b57483958eda1..620d3e0b27eecbbe17724e7f74b489b76246a34b 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 f09512ec768ce938e9923ee89afe213b14b944cf..49de281104e203350e9ff101682acb92c33e1333 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 0a5ee3a48849096d7ea218c01e1de31661a64d4a..e8e5c19d98528a35eb7c2d09174436750d64e6df 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 f898e771bac6732babb0a851f31d265ed6c4500b..def411851314dff7b96a726f208ee874605e392e 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 9345782c5b17ed8c2446bfaa1839803a8e7e956f..c7ab75b3b079874fc2524be2b29685304b36e03d 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 e65a5a23b943d602be3cbca35b5511bdbdf4a2fc..3e8873b7e0ad718df54200d6dae6a1bcdf7575a9 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 2b8276defc8553112e3e87bc532f3b8dffb6b66d..5653132448b9c88e9adf41af0456dc8de9883087 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 f2164bdf2efaad66a3a8474f3599bd07eb3aba25..bbdee48a6d0ac7779409d3f45d1f1e029c341fa6 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 783c0fcd557bedc2d802479ff136215ed6511cae..db3619a784e1034db4a4ebc94e1d8ee3df99ef06 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 8d27847030e2f851dcb5f09ad789656d4f0b0de1..f55d541276d311f5bd540e88678cadb5e8de1ae2 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 02906a30ed9b78d4002e19edcef4818c1379d3ae..6c992f29a3feef8f14a010344dbb340a6e09720e 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 92f3cdcc3f5c612bd30a2ae6c7928d207cef2e89..082b1c235cfb06adfac779320d56f9465ed216f9 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 8b02ac4e1b466371028b8d36a389b2d97216da37..2eb98f8c913e10f06c5f186dfb7ad647c305d90d 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 3d57ec0452717e6bbe0afede2416eb83f7afcd35..df5951d233acce4be591178092d057861aa6d998 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 38c24d8338f743b8a66a1efcd2c6c93aa4a9a203..6c1c79d9afaa24044ee5990f42df7a9f70b57ad1 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 6b9e093b22e2936d93f5de73800269ddfe7afc5c..aab374b187663f702ef152e51f4cc9d57d6b4cf6 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) {} /*!