From ca03344b9289895080b38610dabaece45b2b5ab7 Mon Sep 17 00:00:00 2001 From: alongd Date: Tue, 30 Jul 2019 08:00:27 -0400 Subject: [PATCH 1/3] Save the conformers before/after opt files in the conformers folder --- arc/plotter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arc/plotter.py b/arc/plotter.py index cc3903358f..4dc3f2fd40 100644 --- a/arc/plotter.py +++ b/arc/plotter.py @@ -714,7 +714,7 @@ def save_conformers_file(project_directory, label, xyzs, level_of_theory, multip ts_methods (list, optional): Entries are method names used to generate the TS guess. """ spc_dir = 'rxns' if is_ts else 'Species' - geo_dir = os.path.join(project_directory, 'output', spc_dir, label, 'geometry') + geo_dir = os.path.join(project_directory, 'output', spc_dir, label, 'geometry', 'conformers') if not os.path.exists(geo_dir): os.makedirs(geo_dir) if energies is not None and any(e is not None for e in energies): From c645983566c5f5af5f0f43cab8715b1496713508 Mon Sep 17 00:00:00 2001 From: alongd Date: Tue, 30 Jul 2019 08:03:02 -0400 Subject: [PATCH 2/3] Save species xyz file after opt don't wait for "All converged" --- arc/scheduler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arc/scheduler.py b/arc/scheduler.py index 06c7e18c64..44263ca81b 100644 --- a/arc/scheduler.py +++ b/arc/scheduler.py @@ -1251,6 +1251,7 @@ def parse_opt_geo(self, label, job): self.check_freq_job(label, job) self.output[label]['status'] += 'opt converged; ' self.species_dict[label].opt_level = self.opt_level + plotter.save_geo(species=self.species_dict[label], project_directory=self.project_directory) if self.species_dict[label].is_ts: rxn_str = ' of reaction {0}'.format(self.species_dict[label].rxn_label) else: @@ -1603,7 +1604,6 @@ def check_all_done(self, label): (self.species_dict[label].is_ts or self.species_dict[label].number_of_atoms == 1 or ('freq converged' in status and 'opt converged' in status)))): self.output[label]['status'] += 'ALL converged' - plotter.save_geo(species=self.species_dict[label], project_directory=self.project_directory) if self.species_dict[label].is_ts: self.species_dict[label].make_ts_report() logger.info(self.species_dict[label].ts_report + '\n') From 5de663a75c33b9ce92af63da53cd7edebe76601e Mon Sep 17 00:00:00 2001 From: alongd Date: Tue, 30 Jul 2019 08:29:28 -0400 Subject: [PATCH 3/3] Tests: Adaptations to tests --- arc/plotterTest.py | 2 +- arc/schedulerTest.py | 4 ++-- arc/species/speciesTest.py | 10 ++++++---- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/arc/plotterTest.py b/arc/plotterTest.py index 7f72ecd204..03e4ff9dca 100644 --- a/arc/plotterTest.py +++ b/arc/plotterTest.py @@ -80,7 +80,7 @@ def test_save_conformers_file(self): xyzs=spc1.conformers, level_of_theory='APFD/def2tzvp', multiplicity=spc1.multiplicity, charge=spc1.charge, is_ts=False, energies=spc1.conformer_energies) - conf_file_path = os.path.join(project_directory, 'output', 'Species', label, 'geometry', + conf_file_path = os.path.join(project_directory, 'output', 'Species', label, 'geometry', 'conformers', 'conformers_before_optimization.txt') self.assertTrue(os.path.isfile(conf_file_path)) diff --git a/arc/schedulerTest.py b/arc/schedulerTest.py index 0ed9377812..536972dc50 100644 --- a/arc/schedulerTest.py +++ b/arc/schedulerTest.py @@ -93,7 +93,7 @@ def test_conformers(self): H -1.16566701 0.32023496 -0.81630508""" self.assertEqual(self.sched1.species_dict[label].initial_xyz, expecting) methylamine_conf_path = os.path.join(self.sched1.project_directory, 'output', 'Species', 'methylamine', - 'geometry', 'conformers_after_optimization.txt') + 'geometry', 'conformers', 'conformers_after_optimization.txt') self.assertTrue(os.path.isfile(methylamine_conf_path)) with open(methylamine_conf_path, 'r') as f: lines = f.readlines() @@ -109,7 +109,7 @@ def test_conformers(self): xyzs=self.sched1.species_dict['C2H6'].conformers, level_of_theory='level1', multiplicity=1, charge=0) c2h6_conf_path = os.path.join(self.sched1.project_directory, 'output', 'Species', 'C2H6', 'geometry', - 'conformers_before_optimization.txt') + 'conformers', 'conformers_before_optimization.txt') self.assertTrue(os.path.isfile(c2h6_conf_path)) with open(c2h6_conf_path, 'r') as f: lines = f.readlines() diff --git a/arc/species/speciesTest.py b/arc/species/speciesTest.py index 5c4ec16b64..b7f8993ff5 100644 --- a/arc/species/speciesTest.py +++ b/arc/species/speciesTest.py @@ -641,18 +641,20 @@ def test_append_conformers(self): save_conformers_file(project_directory=project_directory, label='vinoxy', xyzs=xyzs, level_of_theory='level1', multiplicity=2, charge=0) self.assertTrue(os.path.isfile(os.path.join(project_directory, 'output', 'Species', 'vinoxy', 'geometry', - 'conformers_before_optimization.txt'))) + 'conformers', 'conformers_before_optimization.txt'))) save_conformers_file(project_directory=project_directory, label='vinoxy', xyzs=xyzs, level_of_theory='level1', multiplicity=2, charge=0, energies=energies) self.assertTrue(os.path.isfile(os.path.join(project_directory, 'output', 'Species', 'vinoxy', 'geometry', - 'conformers_after_optimization.txt'))) + 'conformers', 'conformers_after_optimization.txt'))) spc2 = ARCSpecies(label=str('vinoxy'), smiles=str('C=C[O]'), xyz=os.path.join( - project_directory, 'output', 'Species', 'vinoxy', 'geometry', 'conformers_before_optimization.txt')) + project_directory, 'output', 'Species', 'vinoxy', 'geometry', 'conformers', + 'conformers_before_optimization.txt')) spc3 = ARCSpecies(label=str('vinoxy'), smiles=str('C=C[O]'), xyz=os.path.join( - project_directory, 'output', 'Species', 'vinoxy', 'geometry', 'conformers_after_optimization.txt')) + project_directory, 'output', 'Species', 'vinoxy', 'geometry', 'conformers', + 'conformers_after_optimization.txt')) self.assertEqual(spc2.conformers[2], xyzs[2]) self.assertEqual(spc3.conformers[2], xyzs[2])