diff --git a/dune/tectonic/mydirectionalconvexfunction.hh b/dune/tectonic/mydirectionalconvexfunction.hh index c04f6de90f124b99c277d0e9033f6c00a00b5ca9..41ff5bcc91f104158991b20553f64387eb1b608e 100644 --- a/dune/tectonic/mydirectionalconvexfunction.hh +++ b/dune/tectonic/mydirectionalconvexfunction.hh @@ -12,7 +12,7 @@ template <class NonlinearityType> class MyDirectionalConvexFunction { MyDirectionalConvexFunction(double A, double b, NonlinearityType const &phi, VectorType const &u, VectorType const &v) - : A(A), b(b), phi_(phi), u_(u), v_(v), temp_u_(u) { + : A(A), b(b), phi_(phi), u_(u), v_(v) { phi_.directionalDomain(u_, v_, dom_); } @@ -21,9 +21,9 @@ template <class NonlinearityType> class MyDirectionalConvexFunction { double linearPart() const { return b; } void subDiff(double x, Interval<double> &D) const { - temp_u_ = u_; - temp_u_.axpy(x, v_); - phi_.directionalSubDiff(temp_u_, v_, D); + VectorType tmp = u_; + tmp.axpy(x, v_); + phi_.directionalSubDiff(tmp, v_, D); D[0] += A * x - b; D[1] += A * x - b; } @@ -41,7 +41,6 @@ template <class NonlinearityType> class MyDirectionalConvexFunction { VectorType const &u_; VectorType const &v_; - VectorType mutable temp_u_; Interval<double> dom_; };