From d5311b47ff880d9ee1dda3ee3aa4e3378b7656a2 Mon Sep 17 00:00:00 2001 From: Christoph Lehmann <christoph.lehmann@ufz.de> Date: Tue, 8 Mar 2016 11:23:16 +0100 Subject: [PATCH] [NL] finalize assembly --- NumLib/ODESolver/TimeDiscretizedODESystem.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/NumLib/ODESolver/TimeDiscretizedODESystem.h b/NumLib/ODESolver/TimeDiscretizedODESystem.h index c1a6717cf4d..8e8615b92a6 100644 --- a/NumLib/ODESolver/TimeDiscretizedODESystem.h +++ b/NumLib/ODESolver/TimeDiscretizedODESystem.h @@ -117,6 +117,8 @@ public: void assembleResidualNewton(const Vector &x_new_timestep) override { + namespace BLAS = MathLib::BLAS; + auto const t = _time_disc.getCurrentTime(); auto const& x_curr = _time_disc.getCurrentX(x_new_timestep); @@ -125,6 +127,10 @@ public: _b->setZero(); _ode.assemble(t, x_curr, *_M, *_K, *_b); + + BLAS::finalizeAssembly(*_M); + BLAS::finalizeAssembly(*_K); + BLAS::finalizeAssembly(*_b); } void assembleJacobian(const Vector &x_new_timestep) override @@ -145,6 +151,8 @@ public: dxdot_dx, *_M, dx_dx, *_K, *_Jac); + MathLib::BLAS::finalizeAssembly(*_Jac); + MathLib::GlobalVectorProvider<Vector>::provider.releaseVector(xdot); } @@ -264,6 +272,8 @@ public: void assembleMatricesPicard(const Vector &x_new_timestep) override { + namespace BLAS = MathLib::BLAS; + auto const t = _time_disc.getCurrentTime(); auto const& x_curr = _time_disc.getCurrentX(x_new_timestep); @@ -272,6 +282,10 @@ public: _b->setZero(); _ode.assemble(t, x_curr, *_M, *_K, *_b); + + BLAS::finalizeAssembly(*_M); + BLAS::finalizeAssembly(*_K); + BLAS::finalizeAssembly(*_b); } void getA(Matrix& A) const override -- GitLab