From 20adebe1155603c82a0a9cea98fe3e3fca31e712 Mon Sep 17 00:00:00 2001
From: Pauli Virtanen <pauli.t.virtanen@jyu.fi>
Date: Mon, 29 Aug 2022 17:06:44 +0300
Subject: [PATCH] Fixup CPR

---
 src/common.hpp        | 5 +++++
 tests/test_solver.py  | 3 +--
 usadelndsoc/solver.py | 5 ++---
 3 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/common.hpp b/src/common.hpp
index a44fc94..86fff1e 100644
--- a/src/common.hpp
+++ b/src/common.hpp
@@ -12,10 +12,15 @@
 
 #include <Eigen/Core>
 
+#ifdef NDEBUG
+#include <cppad/cppad.hpp>
+#include <cppad/example/cppad_eigen.hpp>
+#else
 #define NDEBUG
 #include <cppad/cppad.hpp>
 #include <cppad/example/cppad_eigen.hpp>
 #undef NDEBUG
+#endif
 
 #include <adept.h>
 
diff --git a/tests/test_solver.py b/tests/test_solver.py
index e932abd..138d4b5 100644
--- a/tests/test_solver.py
+++ b/tests/test_solver.py
@@ -172,8 +172,7 @@ def test_selfcons_kupriyanov(request, T):
         phase_mask=phase_mask,
         filename=cache_fn,
         tol=1e-6,
-        workers=1,
-        plot=True,
+        workers=-1,
     )
 
     phis, Deltas, Js = res
diff --git a/usadelndsoc/solver.py b/usadelndsoc/solver.py
index 42b2ead..68b56a2 100644
--- a/usadelndsoc/solver.py
+++ b/usadelndsoc/solver.py
@@ -744,6 +744,8 @@ def _self_consistency(
             Delta1 = solver.Delta.copy()
             Delta1[Delta_mask] = z[constraint_x.size :].view(complex).reshape(-1, 2, 2)
 
+            solver.reset()
+
             if constraint_fun is not None:
                 res_cons = constraint_fun(cx, Delta1).ravel()
                 # Constraint function updates terminal phases
@@ -938,7 +940,6 @@ class CPRState:
             solver.mask,
             solver.Lx,
             solver.Ly,
-            solver.Lz,
             extra_params,
         )
         h = hashlib.sha512()
@@ -960,10 +961,8 @@ class CPRState:
                 mask=self.solver.mask,
                 Lx=self.solver.Lx,
                 Ly=self.solver.Ly,
-                Lz=self.solver.Lz,
                 x=self.solver.x,
                 y=self.solver.y,
-                z=self.solver.z,
             )
         except:
             os.unlink(fn)
-- 
GitLab