diff --git a/_modules/arc/job/trsh.html b/_modules/arc/job/trsh.html index 020c4e15ad..e0e10cb3dc 100644 --- a/_modules/arc/job/trsh.html +++ b/_modules/arc/job/trsh.html @@ -1022,7 +1022,7 @@

Source code for arc.job.trsh

         logger_info = []
         couldnt_trsh = True
         fine = False
-
+        attempted_ess_trsh_methods = ess_trsh_methods.copy() if ess_trsh_methods else None
         # Check if Checkfile removal is in the keywords. Removal occurs when:
         # - Basis Set Mismatch
         # - Corrupt or Incomplete Data
@@ -1041,8 +1041,8 @@ 

Source code for arc.job.trsh

 
         # Check if SCF is in the keyword
         ess_trsh_methods, trsh_keyword, couldnt_trsh = trsh_keyword_scf(job_status, ess_trsh_methods, trsh_keyword, couldnt_trsh)
-        if 'scf=(NDump=30)' in ess_trsh_methods:
-            logger_info.append('using scf=(NDump=30)')
+        if 'scf=(NDamp=30)' in ess_trsh_methods:
+            logger_info.append('using scf=(NDamp=30)')
         if 'scf=(qc)' in ess_trsh_methods:
             logger_info.append('using scf=(qc)')
         if 'scf=(NoDIIS)' in ess_trsh_methods:
@@ -1058,6 +1058,7 @@ 

Source code for arc.job.trsh

         if fine:
             logger_info.append('using a fine grid')
 
+
         # Check if memory is in the keyword
         if 'Memory' in job_status['keywords'] and 'too high' not in job_status['error'] and server is not None:
             # Increase memory allocation
@@ -1068,8 +1069,15 @@ 

Source code for arc.job.trsh

                 logger.info(f'Troubleshooting {job_type} job in {software} for {label} using more memory: {memory} GB '
                             f'instead of {memory_gb} GB')
                 ess_trsh_methods.append('memory')
-        # Log information
-        if logger_info:
+
+        if attempted_ess_trsh_methods:
+            if attempted_ess_trsh_methods == ess_trsh_methods:
+                logger.info(f'{logger_phrase} was not successful. Already attempted all possible troubleshooting methods. Will not troubleshoot again.')
+                couldnt_trsh = True
+            else:
+                if logger_info:
+                    logger.info(f'{logger_phrase} {", ".join(logger_info)}')
+        elif logger_info:
             logger.info(f'{logger_phrase} {", ".join(logger_info)}')
 
     elif software == 'qchem':
@@ -1758,13 +1766,17 @@ 

Source code for arc.job.trsh

         # try both qc and nosymm
         ess_trsh_methods.append('scf=(qc)')
         couldnt_trsh = False
-    elif 'SCF' in job_status['keywords'] and 'scf=(NDump=30)' not in ess_trsh_methods:
+    elif 'SCF' in job_status['keywords'] and 'scf=(NDamp=30)' not in ess_trsh_methods:
         # Switching off Pulay's Direct Inversion
-        ess_trsh_methods.append('scf=(NDump=30)')
+        ess_trsh_methods.append('scf=(NDamp=30)')
         couldnt_trsh = False
     elif 'SCF' in job_status['keywords'] and 'scf=(NoDIIS)' not in ess_trsh_methods:
         ess_trsh_methods.append('scf=(NoDIIS)')
         couldnt_trsh = False
+    elif 'SCF' in job_status['keywords'] and 'guess=INDO' not in ess_trsh_methods:
+        ess_trsh_methods.append('guess=INDO')
+        couldnt_trsh = False
+        trsh_keyword.append('guess=INDO')
     if any('scf' in keyword for keyword in ess_trsh_methods):
         scf_list = [match for element in ess_trsh_methods for match in re.findall(scf_pattern, element)] if any(re.search(scf_pattern, element) for element in ess_trsh_methods) else []
         trsh_keyword.append('scf=(' + ','.join(scf_list) + ')')