diff --git a/arc/main.py b/arc/main.py index d5c4c63a85..0d7b3a19ab 100644 --- a/arc/main.py +++ b/arc/main.py @@ -986,16 +986,20 @@ def set_levels_of_theory(self): logger.info('\n\nUsing the following levels of theory:\n') if self.conformer_opt_level is None: - self.conformer_opt_level = default_levels_of_theory['conformer'] + self.conformer_opt_level = default_levels_of_theory['conformer_opt'] default_flag = ' (default)' else: default_flag = '' self.conformer_opt_level = Level(repr=self.conformer_opt_level) logger.info(f'Conformers opt:{default_flag} {self.conformer_opt_level}') - if self.conformer_sp_level is not None: - self.conformer_sp_level = Level(repr=self.conformer_sp_level) - logger.info(f'Conformers sp: {self.conformer_sp_level}') + if self.conformer_sp_level is None: + self.conformer_sp_level = default_levels_of_theory['conformer_sp'] + default_flag = ' (default)' + else: + default_flag = '' + self.conformer_sp_level = Level(repr=self.conformer_sp_level) + logger.info(f'Conformers sp:{default_flag} {self.conformer_sp_level}') if self.reactions or any([spc.is_ts for spc in self.species]): if not self.ts_guess_level: diff --git a/arc/main_test.py b/arc/main_test.py index a3e7c4a0e9..0c910789bd 100644 --- a/arc/main_test.py +++ b/arc/main_test.py @@ -90,6 +90,10 @@ def test_as_dict(self): 'method': 'wb97xd', 'method_type': 'dft', 'software': 'gaussian'}, + 'conformer_sp_level': {'basis': 'cc-pvtz-f12', + 'method': 'ccsd(t)-f12', + 'method_type': 'wavefunction', + 'software': 'molpro'}, 'ess_settings': {'cfour': ['local'], 'gaussian': ['local', 'server2'], 'gcn': ['local'], diff --git a/arc/scheduler_test.py b/arc/scheduler_test.py index 10d5b1571e..97f567504e 100644 --- a/arc/scheduler_test.py +++ b/arc/scheduler_test.py @@ -91,7 +91,7 @@ def setUpClass(cls): cls.sched1 = Scheduler(project='project_test_1', ess_settings=cls.ess_settings, species_list=[cls.spc1, cls.spc2, cls.spc3], composite_method=None, - conformer_opt_level=Level(repr=default_levels_of_theory['conformer']), + conformer_opt_level=Level(repr=default_levels_of_theory['conformer_opt']), opt_level=Level(repr=default_levels_of_theory['opt']), freq_level=Level(repr=default_levels_of_theory['freq']), sp_level=Level(repr=default_levels_of_theory['sp']), @@ -107,7 +107,7 @@ def setUpClass(cls): cls.sched2 = Scheduler(project='project_test_2', ess_settings=cls.ess_settings, species_list=[cls.spc1, cls.spc2, cls.spc3], composite_method=None, - conformer_opt_level=Level(repr=default_levels_of_theory['conformer']), + conformer_opt_level=Level(repr=default_levels_of_theory['conformer_opt']), opt_level=Level(repr=default_levels_of_theory['opt']), freq_level=Level(repr=default_levels_of_theory['freq']), sp_level=Level(repr=default_levels_of_theory['sp']), @@ -123,7 +123,7 @@ def setUpClass(cls): cls.sched3 = Scheduler(project='project_test_4', ess_settings=cls.ess_settings, species_list=[cls.spc1], composite_method=Level(repr='CBS-QB3'), - conformer_opt_level=Level(repr=default_levels_of_theory['conformer']), + conformer_opt_level=Level(repr=default_levels_of_theory['conformer_opt']), opt_level=Level(repr=default_levels_of_theory['freq_for_composite']), freq_level=Level(repr=default_levels_of_theory['freq_for_composite']), scan_level=Level(repr=default_levels_of_theory['scan_for_composite']), @@ -223,7 +223,7 @@ def test_determine_adaptive_level(self): ess_settings=self.ess_settings, species_list=[self.spc1, self.spc2], composite_method=None, - conformer_opt_level=default_levels_of_theory['conformer'], + conformer_opt_level=default_levels_of_theory['conformer_opt'], opt_level=default_levels_of_theory['opt'], freq_level=default_levels_of_theory['freq'], sp_level=default_levels_of_theory['sp'], diff --git a/arc/settings/settings.py b/arc/settings/settings.py index 72946e303a..8a3ae789a8 100644 --- a/arc/settings/settings.py +++ b/arc/settings/settings.py @@ -180,7 +180,8 @@ 'openbabel':'output.yml', } -default_levels_of_theory = {'conformer': 'wb97xd/def2svp', # it's recommended to choose a method with dispersion +default_levels_of_theory = {'conformer_opt': 'wb97xd/def2svp', # it's recommended to choose a method with dispersion + 'conformer_sp': 'ccsd(t)-f12/cc-pvtz-f12', # This should be a level for which BAC is available 'ts_guesses': 'wb97xd/def2svp', 'opt': 'wb97xd/def2tzvp', # good default for Gaussian # 'opt': 'wb97m-v/def2tzvp', # good default for QChem