Skip to content

Commit

Permalink
Merge pull request #2 from molssi-seamm/dev
Browse files Browse the repository at this point in the history
Added geomeTRIC minimizer
  • Loading branch information
seamm authored Oct 13, 2024
2 parents 751f88e + 9c13a9c commit 80f6755
Show file tree
Hide file tree
Showing 7 changed files with 517 additions and 48 deletions.
9 changes: 6 additions & 3 deletions HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@
History
=======

2024.7.31 (2024-07-31)
----------------------
2024.10.13 -- Added geomeTRIC minimizer
* Added transition states as a target
* Added the geomeTRIC minimizer
* Rationalized the convergence criteria, allowing them to be used across minimizers.

2024.7.31 -- Plug-in created using the SEAMM plug-in cookiecutter.

* Plug-in created using the SEAMM plug-in cookiecutter.
1 change: 1 addition & 0 deletions devtools/conda-envs/test_env.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ dependencies:
# Pip-only installs
- pip:
- seamm-ase
- seamm-geometric
# Documentation
- sphinx-copybutton
- sphinxnotes-strike
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
seamm
seamm-ase
seamm-geometric
seamm-util
seamm-widgets
tabulate
Expand Down
225 changes: 225 additions & 0 deletions structure_step/metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,231 @@

metadata = {}

# Optimizers
metadata["optimizers"] = {
"geomeTRIC/geomeTRIC": {
"convergence formulas": (
"E+grad+step",
"ASE",
"MolPro",
"MOPAC",
"QChem",
),
"coordinate systems": (
"TRIC: translation-rotation internal coordinates",
"TRIC-p: primitive (redundant) TRIC",
"Cart: Cartesian coordinates",
"DLC: delocalized internal coordinates",
"HDLC: hybrid delocalized internal coordinates",
),
"targets": (
"minimum",
"transition state",
),
"default": True,
},
"BFGS/ASE": {
"convergence formulas": ("ASE",),
"targets": ("minimum",),
},
"BFGSLineSearch/ASE": {
"convergence formulas": ("ASE",),
"targets": ("minimum",),
},
"LBFGS/ASE": {
"convergence formulas": ("ASE",),
"targets": ("minimum",),
},
"LBFGSLineSearch/ASE": {
"convergence formulas": ("ASE",),
"targets": ("minimum",),
},
"GPMin/ASE": {
"convergence formulas": ("ASE",),
"targets": ("minimum",),
},
"MDMin/ASE": {
"convergence formulas": ("ASE",),
"targets": ("minimum",),
},
"FIRE/ASE": {
"convergence formulas": ("ASE",),
"targets": ("minimum",),
},
}

# The various formulas for convergence criteria
metadata["convergence formulas"] = {
"E+grad+step": {
"text": (
" _energy change_ < Energy change criterion \n"
" _rms gradient_ < RMS gradient criterion \n"
"_atomic gradient_ < Maximum atomic gradient criterion\n"
" _rms step_ < RMS step criterion \n"
" _atomic step_ < Maximum atomic step criterion "
),
"criteria": (
"Energy change criterion",
"RMS gradient criterion",
"Maximum atomic gradient criterion",
"RMS step criterion",
"Maximum atomic step criterion",
),
},
"ASE": {
"text": "_atomic gradient_ < Maximum atomic gradient criterion",
"criteria": ("Maximum atomic gradient criterion",),
},
"MolPro": {
"text": (
"_atomic gradient_ < Maximum atomic gradient criterion\n"
"and\n"
" _energy change_ < Energy change criterion \n"
"or\n"
" _atomic step_ < Maximum atomic step criterion "
),
"criteria": (
"Energy change criterion",
"Maximum atomic gradient criterion",
"Maximum atomic step criterion",
),
},
"MOPAC": {
"text": "_rms gradient_ < RMS gradient criterion",
"criteria": ("RMS gradient criterion",),
},
"QChem": {
"text": (
"_atomic gradient_ < Maximum atomic gradient criterion\n"
"and\n"
" _energy change_ < Energy change criterion \n"
"or\n"
" _atomic step_ < Maximum atomic step criterion "
),
"criteria": (
"Energy change criterion",
"Maximum atomic gradient criterion",
"Maximum atomic step criterion",
),
},
}

# The convergence criteria
metadata["convergence parameters"] = {
"ASE": {
"Energy change criterion": ("99.9", "E_h"),
"RMS gradient criterion": ("99.9", "E_h/Å"),
"Maximum atomic gradient criterion": ("0.05", "eV/Å"),
"RMS step criterion": ("99.9", "Å"),
"Maximum atomic step criterion": ("99.9", "Å"),
"convergence formula": "ASE",
},
"Gaussian (loose)": {
"Energy change criterion": ("1.0e-6", "E_h"),
"RMS gradient criterion": ("1.7e-4", "E_h/Å"),
"Maximum atomic gradient criterion": ("2.5e-3", "E_h/Å"),
"RMS step criterion": ("6.7e-3", "Å"),
"Maximum atomic step criterion": ("1.0e-2", "Å"),
"convergence formula": "E+grad+step",
},
"Gaussian": {
"Energy change criterion": ("1.0e-6", "E_h"),
"RMS gradient criterion": ("3.0e-4", "E_h/Å"),
"Maximum atomic gradient criterion": ("4.5e-4", "E_h/Å"),
"RMS step criterion": ("1.2e-3", "Å"),
"Maximum atomic step criterion": ("1.8e-3", "Å"),
"convergence formula": "E+grad+step",
},
"Gaussian (tight)": {
"Energy change criterion": ("1.0e-6", "E_h"),
"RMS gradient criterion": ("1.0e-6", "E_h/Å"),
"Maximum atomic gradient criterion": ("2.0e-6", "E_h/Å"),
"RMS step criterion": ("4.0e-5", "Å"),
"Maximum atomic step criterion": ("6.0e-5", "Å"),
"convergence formula": "E+grad+step",
},
"Gaussian (very tight)": {
"Energy change criterion": ("1.0e-6", "E_h"),
"RMS gradient criterion": ("1.0e-6", "E_h/Å"),
"Maximum atomic gradient criterion": ("2.0e-6", "E_h/Å"),
"RMS step criterion": ("4.0e-6", "Å"),
"Maximum atomic step criterion": ("6.0e-6", "Å"),
"convergence formula": "E+grad+step",
},
"Inter-fragment (tight)": {
"Energy change criterion": ("1.0e-6", "E_h"),
"RMS gradient criterion": ("1.0e-5", "E_h/Å"),
"Maximum atomic gradient criterion": ("1.5e-5", "E_h/Å"),
"RMS step criterion": ("4.0e-4", "Å"),
"Maximum atomic step criterion": ("6.0e-4", "Å"),
"convergence formula": "E+grad+step",
},
"MolPro": {
"Energy change criterion": ("1.0e-6", "E_h"),
"RMS gradient criterion": ("99.9", "E_h/a_0"),
"Maximum atomic gradient criterion": ("3.0e-4", "E_h/a_0"),
"RMS step criterion": ("99.9", "a_0"),
"Maximum atomic step criterion": ("3.0e-4", "a_0"),
"convergence formula": "MolPro",
},
"MOPAC": {
"Energy change criterion": ("99.9", "kcal/mol"),
"RMS gradient criterion": ("1.0", "kcal/mol/Å"),
"Maximum atomic gradient criterion": ("99.9", "kcal/mol/Å"),
"RMS step criterion": ("99.9", "Å"),
"Maximum atomic step criterion": ("99.9", "Å"),
"convergence formula": "MOPAC",
},
"MOPAC (precise)": {
"Energy change criterion": ("99.9", "kcal/mol"),
"RMS gradient criterion": ("0.01", "kcal/mol/Å"),
"Maximum atomic gradient criterion": ("99.9", "kcal/mol/Å"),
"RMS step criterion": ("99.9", "Å"),
"Maximum atomic step criterion": ("99.9", "Å"),
"convergence formula": "MOPAC",
},
"NWChem (loose)": {
"Energy change criterion": ("1.0e-6", "E_h"),
"RMS gradient criterion": ("3.0e-3", "E_h/Å"),
"Maximum atomic gradient criterion": ("4.5e-3", "E_h/Å"),
"RMS step criterion": ("3.6e-3", "Å"),
"Maximum atomic step criterion": ("5.4e-3", "Å"),
"convergence formula": "E+grad+step",
},
"NWChem": {
"Energy change criterion": ("1.0e-6", "E_h"),
"RMS gradient criterion": ("3.0e-4", "E_h/Å"),
"Maximum atomic gradient criterion": ("4.5e-4", "E_h/Å"),
"RMS step criterion": ("1.2e-3", "Å"),
"Maximum atomic step criterion": ("1.8e-3", "Å"),
"convergence formula": "E+grad+step",
},
"NWChem (tight)": {
"Energy change criterion": ("1.0e-6", "E_h"),
"RMS gradient criterion": ("1.0e-6", "E_h/Å"),
"Maximum atomic gradient criterion": ("2.0e-6", "E_h/Å"),
"RMS step criterion": ("4.0e-5", "Å"),
"Maximum atomic step criterion": ("6.0e-5", "Å"),
"convergence formula": "E+grad+step",
},
"QChem": {
"Energy change criterion": ("1.0e-6", "E_h"),
"RMS gradient criterion": ("99.9", "E_h/Å"),
"Maximum atomic gradient criterion": ("3.0e-4", "E_h/Å"),
"RMS step criterion": ("99.9", "Å"),
"Maximum atomic step criterion": ("1.2e-3", "Å"),
"convergence formula": "QChem",
},
"Turbomole": {
"Energy change criterion": ("1.0e-6", "E_h"),
"RMS gradient criterion": ("5.0e-4", "E_h/Å"),
"Maximum atomic gradient criterion": ("1.0e-3", "E_h/Å"),
"RMS step criterion": ("5.0e-4", "Å"),
"Maximum atomic step criterion": ("1.0e-3", "Å"),
"convergence formula": "E+grad+step",
},
}

"""Description of the computational models for Structure.
Hamiltonians, approximations, and basis set or parameterizations,
Expand Down
Loading

0 comments on commit 80f6755

Please sign in to comment.