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

solver: don't reset preconditioner on initial continuation

Reusing same preconditioner for the continuation is a little bit faster.
parent db721b14
No related branches found
No related tags found
No related merge requests found
...@@ -394,12 +394,12 @@ class Solver: ...@@ -394,12 +394,12 @@ class Solver:
minw = max(1e-6, 0.25 * abs_re_w) minw = max(1e-6, 0.25 * abs_re_w)
steps = [0.75**k for k in range(50) if 0.75**k > abs_re_w / 5] steps = [0.75**k for k in range(50) if 0.75**k > abs_re_w / 5]
try: try:
self._M = M = None
for domega in steps: for domega in steps:
_log_solve.debug(f" Continuation step {domega}") _log_solve.debug(f" Continuation step {domega}")
self._core.omega = old_omega + domega * ( self._core.omega = old_omega + domega * (
1 if np.real(old_omega) >= 0 else -1 1 if np.real(old_omega) >= 0 else -1
) )
self._M = M = None
self._Phi[...] = self._solve( self._Phi[...] = self._solve(
eval_rhs, eval_rhs,
eval_jac_mul, eval_jac_mul,
...@@ -421,7 +421,8 @@ class Solver: ...@@ -421,7 +421,8 @@ class Solver:
if np.isnan(self._Phi).any(): if np.isnan(self._Phi).any():
break break
_log_solve.debug(f" continuation step 0") _log_solve.debug(f" continuation step 0")
self._M = M = None else:
self._M = M = None
return self._solve( return self._solve(
eval_rhs, eval_rhs,
eval_jac_mul, eval_jac_mul,
......
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