Skip to content

Commit f1ae2ff

Browse files
Fix detection of non-converged LDA+U/LDA+HIA
the previous condition would abort always if the criteria were reached
1 parent e785a7b commit f1ae2ff

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

aiida_fleur/workflows/scf.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -759,13 +759,14 @@ def condition(self):
759759
self.ctx.last_hubbard1_elem_distance >= self.ctx.wf_dict.get('hubbard1_elem_converged'):
760760
ldahia_notconverged = True
761761

762+
ignore_convergence_criteria = ldau_notconverged or ldahia_notconverged
762763
if mode == 'density':
763764
if self.ctx.wf_dict.get('density_converged') >= self.ctx.last_charge_density:
764-
if not ldau_notconverged or not ldahia_notconverged:
765+
if not ignore_convergence_criteria:
765766
return False
766767
elif mode in ('energy', 'gw'):
767768
if self.ctx.wf_dict.get('energy_converged') >= self.ctx.energydiff:
768-
if not ldau_notconverged or not ldahia_notconverged:
769+
if not ignore_convergence_criteria:
769770
return False
770771
elif mode == 'force':
771772
if self.ctx.last_charge_density is None:
@@ -774,7 +775,7 @@ def condition(self):
774775
except NotExistent:
775776
pass
776777
else:
777-
if not ldau_notconverged or not ldahia_notconverged:
778+
if not ignore_convergence_criteria:
778779
return False
779780

780781
elif self.ctx.wf_dict.get('density_converged') >= self.ctx.last_charge_density:
@@ -783,7 +784,7 @@ def condition(self):
783784
except NotExistent:
784785
pass
785786
else:
786-
if not ldau_notconverged or not ldahia_notconverged:
787+
if not ignore_convergence_criteria:
787788
return False
788789

789790
if self.ctx.loop_count >= self.ctx.max_number_runs:

0 commit comments

Comments
 (0)