From 675b82ec32274719a59571b92c2b3c67ae90dd0f Mon Sep 17 00:00:00 2001 From: Javier Emilio Alfonso Ramos Date: Thu, 17 Oct 2024 18:39:04 +0200 Subject: [PATCH 01/10] tight criteria --- autode/config.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/autode/config.py b/autode/config.py index 48f252247..f9f631d08 100644 --- a/autode/config.py +++ b/autode/config.py @@ -257,14 +257,14 @@ class G09: grid = "integral=ultrafinegrid" optts_block = ( "Opt=(TS, CalcFC, NoEigenTest, MaxCycles=100, " - "MaxStep=10, NoTrustUpdate)" + "MaxStep=10, NoTrustUpdate, Tight)" ) keywords = KeywordsSet( low_opt=[pbe0, def2svp, "Opt=Loose", MaxOptCycles(10), d3bj, grid], grad=[pbe0, def2svp, "Force(NoStep)", d3bj, grid], low_sp=[pbe0, def2svp, d3bj, grid], - opt=[pbe0, def2svp, "Opt", d3bj, grid], + opt=[pbe0, def2svp, "Opt=Tight", d3bj, grid], opt_ts=[pbe0, def2svp, "Freq", d3bj, grid, optts_block], hess=[pbe0, def2svp, "Freq", d3bj, grid], sp=[pbe0, def2tzvp, d3bj, grid], @@ -284,14 +284,14 @@ class G16: # ts_str = ( "Opt=(TS, CalcFC, NoEigenTest, MaxCycles=100, MaxStep=10, " - "NoTrustUpdate, RecalcFC=30)" + "NoTrustUpdate, RecalcFC=30, Tight)" ) keywords = KeywordsSet( low_opt=[pbe0, def2svp, "Opt=Loose", d3bj, MaxOptCycles(10)], grad=[pbe0, def2svp, "Force(NoStep)", d3bj], low_sp=[pbe0, def2svp, d3bj], - opt=[pbe0, def2svp, "Opt", d3bj], + opt=[pbe0, def2svp, "Opt=Tight", d3bj], opt_ts=[pbe0, def2svp, "Freq", d3bj, ts_str], hess=[pbe0, def2svp, "Freq", d3bj], sp=[pbe0, def2tzvp, d3bj], From 1f4c6e027dc19a159db344a7f4cb7aa6883c7096 Mon Sep 17 00:00:00 2001 From: Javier Emilio Alfonso Ramos Date: Thu, 17 Oct 2024 18:52:41 +0200 Subject: [PATCH 02/10] csv output --- autode/reactions/reaction.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/autode/reactions/reaction.py b/autode/reactions/reaction.py index e24899bce..97cd8aa2f 100644 --- a/autode/reactions/reaction.py +++ b/autode/reactions/reaction.py @@ -726,10 +726,7 @@ def print_output(self) -> None: method.keywords.sp and method.keywords.opt ), "High level methods must have sp and opt keywords" print( - f"Energies generated by autodE on: {date.today()}. Single point " - f"energies at {method.keywords.sp.bstring} and optimisations at " - f"{method.keywords.opt.bstring}", - "Species, E_opt, G_cont, H_cont, E_sp", + "Species,E_opt,G_cont,H_cont,E_sp", sep="\n", file=csv_file, ) From a68ae849298c2211ebfbbf9ce50784b7b491f406 Mon Sep 17 00:00:00 2001 From: Javier Emilio Alfonso Ramos Date: Fri, 18 Oct 2024 11:19:53 +0200 Subject: [PATCH 03/10] single point refinement bool --- autode/reactions/reaction.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/autode/reactions/reaction.py b/autode/reactions/reaction.py index 97cd8aa2f..84ec02626 100644 --- a/autode/reactions/reaction.py +++ b/autode/reactions/reaction.py @@ -119,6 +119,7 @@ def __str__(self): def calculate_reaction_profile( self, units: Union["Unit", str] = "kcal mol-1", + single_point_refinement: bool = True, with_complexes: bool = False, free_energy: bool = False, enthalpy: bool = False, @@ -132,6 +133,9 @@ def calculate_reaction_profile( Keyword Arguments: units (autode.units.Unit | str): + single_point_refinement (bool): Calculate single point at a + higher level of theory + with_complexes (bool): Calculate the lowest energy conformers of the reactant and product complexes @@ -161,7 +165,8 @@ def calculate(reaction): reaction.calculate_complexes() if free_energy or enthalpy: reaction.calculate_thermochemical_cont() - reaction.calculate_single_points() + if single_point_refinement: + reaction.calculate_single_points() reaction.print_output() return None From 5dbd19b3222ea973b767cf0281a0b15f8a09b6ba Mon Sep 17 00:00:00 2001 From: Javier Emilio Alfonso Ramos Date: Fri, 18 Oct 2024 11:22:20 +0200 Subject: [PATCH 04/10] bug #358 --- autode/wrappers/G09.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/autode/wrappers/G09.py b/autode/wrappers/G09.py index 684521fa6..b18e85e9d 100644 --- a/autode/wrappers/G09.py +++ b/autode/wrappers/G09.py @@ -546,7 +546,7 @@ def coordinates_from(self, calc: "CalculationExecutor") -> Coordinates: coords: List[List[float]] = [] for i, line in enumerate(calc.output.file_lines): - if "Input orientation" in line: + if "Input orientation" in line or "Standard orientation" in line: coords.clear() xyz_lines = calc.output.file_lines[ i + 5 : i + 5 + calc.molecule.n_atoms From 1821fd3bf11d97058e7b0c356dccfc5760ba6d1a Mon Sep 17 00:00:00 2001 From: Javier Emilio Alfonso Ramos Date: Tue, 29 Oct 2024 09:37:41 +0100 Subject: [PATCH 05/10] Revert "csv output" This reverts commit 1f4c6e027dc19a159db344a7f4cb7aa6883c7096. --- autode/reactions/reaction.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/autode/reactions/reaction.py b/autode/reactions/reaction.py index 84ec02626..d0ae649df 100644 --- a/autode/reactions/reaction.py +++ b/autode/reactions/reaction.py @@ -731,7 +731,10 @@ def print_output(self) -> None: method.keywords.sp and method.keywords.opt ), "High level methods must have sp and opt keywords" print( - "Species,E_opt,G_cont,H_cont,E_sp", + f"Energies generated by autodE on: {date.today()}. Single point " + f"energies at {method.keywords.sp.bstring} and optimisations at " + f"{method.keywords.opt.bstring}", + "Species, E_opt, G_cont, H_cont, E_sp", sep="\n", file=csv_file, ) From e402660a06f660886b816c56dcaac15b537e6836 Mon Sep 17 00:00:00 2001 From: Javier Emilio Alfonso Ramos Date: Tue, 29 Oct 2024 09:37:50 +0100 Subject: [PATCH 06/10] Revert "tight criteria" This reverts commit 675b82ec32274719a59571b92c2b3c67ae90dd0f. --- autode/config.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/autode/config.py b/autode/config.py index f9f631d08..48f252247 100644 --- a/autode/config.py +++ b/autode/config.py @@ -257,14 +257,14 @@ class G09: grid = "integral=ultrafinegrid" optts_block = ( "Opt=(TS, CalcFC, NoEigenTest, MaxCycles=100, " - "MaxStep=10, NoTrustUpdate, Tight)" + "MaxStep=10, NoTrustUpdate)" ) keywords = KeywordsSet( low_opt=[pbe0, def2svp, "Opt=Loose", MaxOptCycles(10), d3bj, grid], grad=[pbe0, def2svp, "Force(NoStep)", d3bj, grid], low_sp=[pbe0, def2svp, d3bj, grid], - opt=[pbe0, def2svp, "Opt=Tight", d3bj, grid], + opt=[pbe0, def2svp, "Opt", d3bj, grid], opt_ts=[pbe0, def2svp, "Freq", d3bj, grid, optts_block], hess=[pbe0, def2svp, "Freq", d3bj, grid], sp=[pbe0, def2tzvp, d3bj, grid], @@ -284,14 +284,14 @@ class G16: # ts_str = ( "Opt=(TS, CalcFC, NoEigenTest, MaxCycles=100, MaxStep=10, " - "NoTrustUpdate, RecalcFC=30, Tight)" + "NoTrustUpdate, RecalcFC=30)" ) keywords = KeywordsSet( low_opt=[pbe0, def2svp, "Opt=Loose", d3bj, MaxOptCycles(10)], grad=[pbe0, def2svp, "Force(NoStep)", d3bj], low_sp=[pbe0, def2svp, d3bj], - opt=[pbe0, def2svp, "Opt=Tight", d3bj], + opt=[pbe0, def2svp, "Opt", d3bj], opt_ts=[pbe0, def2svp, "Freq", d3bj, ts_str], hess=[pbe0, def2svp, "Freq", d3bj], sp=[pbe0, def2tzvp, d3bj], From a192480cf14ce7731ca9b2d9c1db684b34131335 Mon Sep 17 00:00:00 2001 From: t-young31 Date: Wed, 16 Oct 2024 08:26:21 +0100 Subject: [PATCH 07/10] template --- .github/workflows/pytest.yml | 2 +- .github/workflows/pytest_cov.yml | 2 +- doc/changelog.rst | 13 +++++++++++++ setup.py | 2 +- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml index eff13511e..30e2783f4 100644 --- a/.github/workflows/pytest.yml +++ b/.github/workflows/pytest.yml @@ -22,7 +22,7 @@ jobs: fail-fast: true matrix: os: ["ubuntu-latest", "macos-latest", "windows-latest"] - python-version: ["3.8", "3.12"] + python-version: ["3.8", "3.13"] defaults: run: diff --git a/.github/workflows/pytest_cov.yml b/.github/workflows/pytest_cov.yml index 88d9ca084..00a9c1008 100644 --- a/.github/workflows/pytest_cov.yml +++ b/.github/workflows/pytest_cov.yml @@ -23,7 +23,7 @@ jobs: fail-fast: true matrix: os: ["ubuntu-latest", "windows-latest"] - python-version: ["3.11"] + python-version: ["3.12"] defaults: run: diff --git a/doc/changelog.rst b/doc/changelog.rst index fffecaf7b..031d97403 100644 --- a/doc/changelog.rst +++ b/doc/changelog.rst @@ -1,6 +1,19 @@ Changelog ========= +1.4.5 +------ +------- + +Functionality improvements +************************** +- ... + +Bug Fixes +********* +- ... + + 1.4.4 ------ ------- diff --git a/setup.py b/setup.py index 8e145d2f1..21332c25b 100644 --- a/setup.py +++ b/setup.py @@ -32,7 +32,7 @@ setup( name="autode", - version="1.4.4", + version="1.4.5", python_requires=">3.7", packages=[ "autode", From 314ead0beb45123541330172786ba6c58a7c1a50 Mon Sep 17 00:00:00 2001 From: Javier Emilio Alfonso Ramos Date: Tue, 29 Oct 2024 11:17:02 +0100 Subject: [PATCH 08/10] update changelog and readme --- README.md | 1 + doc/changelog.rst | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 558dbe879..9e043e2da 100644 --- a/README.md +++ b/README.md @@ -97,3 +97,4 @@ If **autodE** is used in a publication please consider citing the [paper](https: - Daniel Hollas ([@danielhollas](https://github.com/danielhollas)) - Nils Heunemann ([@nilsheunemann](https://github.com/NilsHeunemann)) - Sijie Fu ([@sijiefu](https://github.com/SijieFu)) +- Javier Alfonso ([@javialra97](https://github.com/javialra97) diff --git a/doc/changelog.rst b/doc/changelog.rst index 031d97403..a72ffd97d 100644 --- a/doc/changelog.rst +++ b/doc/changelog.rst @@ -7,12 +7,11 @@ Changelog Functionality improvements ************************** -- ... +- Adds a boolean option for calculating single points refinements Bug Fixes ********* -- ... - +- Fixes coordinate extraction in some G16 output files 1.4.4 ------ From 3be4931fc6cfce195c8b7b8361c78c88493ebc47 Mon Sep 17 00:00:00 2001 From: Javier Emilio Alfonso Ramos Date: Tue, 29 Oct 2024 11:23:38 +0100 Subject: [PATCH 09/10] parentheses --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9e043e2da..7b2b0e17b 100644 --- a/README.md +++ b/README.md @@ -97,4 +97,4 @@ If **autodE** is used in a publication please consider citing the [paper](https: - Daniel Hollas ([@danielhollas](https://github.com/danielhollas)) - Nils Heunemann ([@nilsheunemann](https://github.com/NilsHeunemann)) - Sijie Fu ([@sijiefu](https://github.com/SijieFu)) -- Javier Alfonso ([@javialra97](https://github.com/javialra97) +- Javier Alfonso ([@javialra97](https://github.com/javialra97)) From 52aa45a6539b29c36a1dc753deb7c6802d8e3e30 Mon Sep 17 00:00:00 2001 From: Javier Emilio Alfonso Ramos Date: Tue, 5 Nov 2024 11:24:08 +0100 Subject: [PATCH 10/10] provisional patch --- autode/wrappers/G09.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/autode/wrappers/G09.py b/autode/wrappers/G09.py index b18e85e9d..b2cfcbf05 100644 --- a/autode/wrappers/G09.py +++ b/autode/wrappers/G09.py @@ -546,7 +546,9 @@ def coordinates_from(self, calc: "CalculationExecutor") -> Coordinates: coords: List[List[float]] = [] for i, line in enumerate(calc.output.file_lines): - if "Input orientation" in line or "Standard orientation" in line: + if "Input orientation" in line or ( + "Standard orientation" in line and len(coords) == 0 + ): coords.clear() xyz_lines = calc.output.file_lines[ i + 5 : i + 5 + calc.molecule.n_atoms