From cbe61984299c7df4224f4dd83b0d371865d611b7 Mon Sep 17 00:00:00 2001 From: Dmitri Naumov <dmitri.naumov@ufz.de> Date: Thu, 1 Oct 2020 14:24:48 +0200 Subject: [PATCH] [NL] NLS; Release non-equilibrium rhs if used. This avoids a warning at the end for unused vectors. --- NumLib/ODESolver/NonlinearSolver.cpp | 17 +++++++++++++++++ NumLib/ODESolver/NonlinearSolver.h | 4 ++++ 2 files changed, 21 insertions(+) diff --git a/NumLib/ODESolver/NonlinearSolver.cpp b/NumLib/ODESolver/NonlinearSolver.cpp index 360d2cde086..6e0971a54aa 100644 --- a/NumLib/ODESolver/NonlinearSolver.cpp +++ b/NumLib/ODESolver/NonlinearSolver.cpp @@ -448,4 +448,21 @@ createNonlinearSolver(GlobalLinearSolver& linear_solver, #endif OGS_FATAL("Unsupported nonlinear solver type '{:s}'.", type.c_str()); } + +NonlinearSolver<NonlinearSolverTag::Picard>::~NonlinearSolver() +{ + if (_r_neq != nullptr) + { + NumLib::GlobalVectorProvider::provider.releaseVector(*_r_neq); + } +} + +NonlinearSolver<NonlinearSolverTag::Newton>::~NonlinearSolver() +{ + if (_r_neq != nullptr) + { + NumLib::GlobalVectorProvider::provider.releaseVector(*_r_neq); + } +} + } // namespace NumLib diff --git a/NumLib/ODESolver/NonlinearSolver.h b/NumLib/ODESolver/NonlinearSolver.h index 26f2c94d228..deac528509c 100644 --- a/NumLib/ODESolver/NonlinearSolver.h +++ b/NumLib/ODESolver/NonlinearSolver.h @@ -94,6 +94,8 @@ public: { } + ~NonlinearSolver(); + //! Set the nonlinear equation system that will be solved. //! TODO doc void setEquationSystem(System& eq, ConvergenceCriterion& conv_crit) @@ -172,6 +174,8 @@ public: { } + ~NonlinearSolver(); + //! Set the nonlinear equation system that will be solved. //! TODO doc void setEquationSystem(System& eq, ConvergenceCriterion& conv_crit) -- GitLab