Skip to content

Commit

Permalink
Don't run freq/sp/scans for IRC species
Browse files Browse the repository at this point in the history
  • Loading branch information
alongd committed Jun 29, 2024
1 parent 34ef50d commit a47a81b
Showing 1 changed file with 10 additions and 7 deletions.
17 changes: 10 additions & 7 deletions arc/scheduler.py
Original file line number Diff line number Diff line change
Expand Up @@ -441,7 +441,8 @@ def __init__(self,
self.run_sp_job(label=species.label)
if self.job_types['onedmin']:
self.run_onedmin_job(species.label)
elif species.get_xyz(generate=False) and not self.job_types['conformers'] and not self.job_types['opt']:
elif species.get_xyz(generate=False) and not self.job_types['conformers'] and not self.job_types['opt'] \
and species.irc_label is None:
if self.job_types['freq']:
self.run_freq_job(species.label)
if self.job_types['sp']:
Expand Down Expand Up @@ -483,11 +484,12 @@ def __init__(self,
# opt/fine hasn't finished (and isn't running), so run it
self.run_opt_job(species.label, fine=self.fine_only)
if self.output[species.label]['paths']['geo'] and 'sp' not in self.job_dict[species.label].keys() \
and not self.output[species.label]['paths']['sp'] and self.job_types['sp']:
and not self.output[species.label]['paths']['sp'] and self.job_types['sp'] \
and species.irc_label is None:
self.run_sp_job(species.label)
if self.output[species.label]['paths']['geo'] and 'freq' not in self.job_dict[species.label].keys() \
and not self.output[species.label]['paths']['freq'] and self.job_types['freq']\
and (species.is_ts or species.number_of_atoms > 1):
and not self.output[species.label]['paths']['freq'] and self.job_types['freq'] \
and (species.is_ts or species.number_of_atoms > 1) and species.irc_label is None:
self.run_freq_job(species.label)
if self.output[species.label]['paths']['geo'] and self.job_types['rotors'] and \
any(spc.rotors_dict is not None and
Expand Down Expand Up @@ -1503,7 +1505,8 @@ def spawn_post_opt_jobs(self,
self.run_irc_job(label=label, irc_direction='reverse')

# Spawn freq (or check it if this is a composite job) for polyatomic molecules.
if label in self.output.keys() and self.species_dict[label].number_of_atoms > 1:
if label in self.output.keys() and self.species_dict[label].number_of_atoms > 1 \
and self.species_dict[label].irc_label is None:
if 'freq' not in job_name and self.job_types['freq']:
# This is either an opt or a composite job (not an optfreq job), spawn freq.
self.run_freq_job(label)
Expand All @@ -1512,7 +1515,7 @@ def spawn_post_opt_jobs(self,
self.check_freq_job(label=label, job=self.job_dict[label]['optfreq'][job_name])

# Spawn sp after an opt (non-composite) job.
if not composite and self.job_types['sp']:
if not composite and self.job_types['sp'] and self.species_dict[label].irc_label is None:
self.run_sp_job(label)

# Perceive the Molecule from xyz.
Expand All @@ -1521,7 +1524,7 @@ def spawn_post_opt_jobs(self,
self.species_dict[label].mol_from_xyz()

# Spawn scan jobs.
if self.job_types['rotors']:
if self.job_types['rotors'] and self.species_dict[label].irc_label is None:
if not self.species_dict[label].rotors_dict:
self.species_dict[label].determine_rotors()
self.run_scan_jobs(label)
Expand Down

0 comments on commit a47a81b

Please sign in to comment.