Skip to content
Snippets Groups Projects
Commit 865345bc authored by patavirt's avatar patavirt
Browse files

solver: avoid reinitializing action in cpr/selfcons

parent d65af5e1
No related branches found
No related tags found
No related merge requests found
......@@ -75,7 +75,11 @@ def _norm(z):
class Solver:
__global_id = 0
def __init__(self, nx=1, ny=1):
Solver.__global_id += 1
self._id = Solver.__global_id
self._core = Core()
self.set_shape(nx, ny)
self._M = None
......@@ -901,9 +905,25 @@ def _self_consistent_Delta_f(
return rtot, Jtot, mask
_prev_solver = None
def _mp_one(args, solver=None, solver_kw=None):
global _prev_solver
w, a, solver, solver_kw = args
if (
_prev_solver is not None
and _prev_solver is not solver
and solver._id == _prev_solver._id
):
# Only dynamic variables may have changed
_prev_solver.Omega[...] = solver.Omega
solver = _prev_solver
else:
_prev_solver = solver
old_level = _log_solve.level
try:
_log_solve.setLevel(_log.getEffectiveLevel() + 10)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment