diff --git a/dumux/assembly/fvassembler.hh b/dumux/assembly/fvassembler.hh index 87ae227d2cd5b045e9b23b6582a22a33d44d90dd..c60d14fff8cd37d56417d2574acf57b8daa5b87e 100644 --- a/dumux/assembly/fvassembler.hh +++ b/dumux/assembly/fvassembler.hh @@ -89,22 +89,6 @@ public: static_assert(isImplicit, "Explicit assembler for stationary problem doesn't make sense!"); } - /*! - * \brief The constructor for instationary problems - * \note this constructor is deprecated (use the one receiving the previous solution instead) - */ - [[deprecated("Please use constructor taking the previous solution instead. Will be removed after release 3.2!")]] - FVAssembler(std::shared_ptr<const Problem> problem, - std::shared_ptr<const GridGeometry> gridGeometry, - std::shared_ptr<GridVariables> gridVariables, - std::shared_ptr<const TimeLoop> timeLoop) - : problem_(problem) - , gridGeometry_(gridGeometry) - , gridVariables_(gridVariables) - , timeLoop_(timeLoop) - , isStationaryProblem_(!timeLoop) - {} - /*! * \brief The constructor for instationary problems * \note the grid variables might be temporarily changed during assembly (if caching is enabled) diff --git a/dumux/assembly/staggeredfvassembler.hh b/dumux/assembly/staggeredfvassembler.hh index 21f7f8d52d713771424fb71cdc908d3a1ecbacb5..874988d0fb573f359e233a36a59ea1a7192a8923 100644 --- a/dumux/assembly/staggeredfvassembler.hh +++ b/dumux/assembly/staggeredfvassembler.hh @@ -83,22 +83,6 @@ public: this->couplingManager_->setSubProblems(std::make_tuple(problem, problem)); } - //! The constructor for instationary problems - [[deprecated("Please use the constructor additionally taking the previous solution. Will be removed after 3.2 release!")]] - StaggeredFVAssembler(std::shared_ptr<const Problem> problem, - std::shared_ptr<const GridGeometry> gridGeometry, - std::shared_ptr<GridVariables> gridVariables, - std::shared_ptr<const TimeLoop> timeLoop) - : ParentType(std::make_tuple(problem, problem), - std::make_tuple(gridGeometry->faceFVGridGeometryPtr(), gridGeometry->cellCenterFVGridGeometryPtr()), - std::make_tuple(gridVariables->faceGridVariablesPtr(), gridVariables->cellCenterGridVariablesPtr()), - std::make_shared<CouplingManager>(), - timeLoop) - { - static_assert(isImplicit, "Explicit assembler for stationary problem doesn't make sense!"); - this->couplingManager_->setSubProblems(std::make_tuple(problem, problem)); - } - //! The constructor for instationary problems StaggeredFVAssembler(std::shared_ptr<const Problem> problem, std::shared_ptr<const GridGeometry> gridGeometry, diff --git a/examples/1ptracer/main.cc b/examples/1ptracer/main.cc index c33269ab8da6ad9e0045cefca1ba9429f4304df3..0fdc320eaf32ef74063d1fe8f86a4a87c6db00c0 100644 --- a/examples/1ptracer/main.cc +++ b/examples/1ptracer/main.cc @@ -248,7 +248,7 @@ int main(int argc, char** argv) try // We create and initialize the assembler with a time loop for the transient problem. // Within the time loop, we will use this assembler in each time step to assemble the linear system. using TracerAssembler = FVAssembler<TracerTypeTag, DiffMethod::analytic, /*implicit=*/false>; - auto assembler = std::make_shared<TracerAssembler>(tracerProblem, gridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<TracerAssembler>(tracerProblem, gridGeometry, gridVariables, timeLoop, xOld); assembler->setLinearSystem(A, r); // The following lines of code initialize the vtk output module, add the velocity output facility @@ -277,9 +277,6 @@ int main(int argc, char** argv) try // [[codeblock]] timeLoop->start(); do { - // First we define the old solution as the solution of the previous time step for storage evaluations. - assembler->setPreviousSolution(xOld); - // Then the linear system is assembled. Dune::Timer assembleTimer; assembler->assembleJacobianAndResidual(x); diff --git a/examples/2pinfiltration/main.cc b/examples/2pinfiltration/main.cc index 32b1fbbc18c472e27977bb5de14dd990f924bd85..1c8d0d0560459c48d68058de624b677f74535018 100644 --- a/examples/2pinfiltration/main.cc +++ b/examples/2pinfiltration/main.cc @@ -201,7 +201,7 @@ int main(int argc, char** argv) try //we set the assembler with the time loop because we have an instationary problem using Assembler = FVAssembler<TypeTag, DiffMethod::numeric>; - auto assembler = std::make_shared<Assembler>(problem, gridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, gridGeometry, gridVariables, timeLoop, xOld); // we set the linear solver using LinearSolver = AMGBiCGSTABBackend<LinearSolverTraits<GridGeometry>>; diff --git a/examples/shallowwaterfriction/main.cc b/examples/shallowwaterfriction/main.cc index de91945bb9c23aa92dcb3118d2d53c95b05a6d5c..e3092b0eeccecb03cf1d6446e7f67db32063e61d 100644 --- a/examples/shallowwaterfriction/main.cc +++ b/examples/shallowwaterfriction/main.cc @@ -129,7 +129,7 @@ int main(int argc, char** argv) try //we set the assembler with the time loop because we have an instationary problem. using Assembler = FVAssembler<TypeTag, DiffMethod::numeric>; - auto assembler = std::make_shared<Assembler>(problem, gridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, gridGeometry, gridVariables, timeLoop, xOld); // We set the linear solver. using LinearSolver = AMGBiCGSTABBackend<LinearSolverTraits<GridGeometry>>; diff --git a/test/porousmediumflow/1pnc/implicit/1p3c/main.cc b/test/porousmediumflow/1pnc/implicit/1p3c/main.cc index d39483e874960d2f8e5e7794cb8fa22e34fc8f58..1cee100c9ad7851eed75e520ca56bb420ebb1bab 100644 --- a/test/porousmediumflow/1pnc/implicit/1p3c/main.cc +++ b/test/porousmediumflow/1pnc/implicit/1p3c/main.cc @@ -124,7 +124,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, gridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, gridGeometry, gridVariables, timeLoop, xOld); // the linear solver using LinearSolver = ILU0BiCGSTABBackend; @@ -136,9 +136,6 @@ int main(int argc, char** argv) try // time loop timeLoop->start(); do { - // set previous solution for storage evaluations - assembler->setPreviousSolution(xOld); - // solve the non-linear system with time step control nonLinearSolver.solve(x, *timeLoop); diff --git a/test/porousmediumflow/2pncmin/implicit/nonisothermal/main.cc b/test/porousmediumflow/2pncmin/implicit/nonisothermal/main.cc index e8602b480e01374d6f8836276151cf2659109537..901a83e646a42478f856e94439277012758e7ce0 100644 --- a/test/porousmediumflow/2pncmin/implicit/nonisothermal/main.cc +++ b/test/porousmediumflow/2pncmin/implicit/nonisothermal/main.cc @@ -163,7 +163,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, gridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, gridGeometry, gridVariables, timeLoop, xOld); // the linear solver using LinearSolver = AMGBiCGSTABBackend<LinearSolverTraits<GridGeometry>>; diff --git a/test/porousmediumflow/tracer/multiphase/main.cc b/test/porousmediumflow/tracer/multiphase/main.cc index d95dbfd7d8b607f28f3d90583d590d92d9727cfd..bcc4a5d6843a1e12ceb57a5f591def7ab6f361ec 100644 --- a/test/porousmediumflow/tracer/multiphase/main.cc +++ b/test/porousmediumflow/tracer/multiphase/main.cc @@ -112,7 +112,7 @@ int main(int argc, char** argv) try //! the assembler with time loop for instationary problem using Assembler = FVAssembler<TypeTag, DiffMethod::numeric, /*implicit=*/false>; - auto assembler = std::make_shared<Assembler>(problem, gridGeometry, gridVariables, timeLoop); + auto assembler = std::make_shared<Assembler>(problem, gridGeometry, gridVariables, timeLoop, xOld); assembler->setPreviousSolution(xOld); //! the linear solver