Exploration of the Potential Energy Surface (PES) of molecular or atomic clusters is a crucial step in analyzing physical–chemistry properties and processes. The Atomic and Molecular Energy Surface Sampler (AMCESS) is an end-to-end package implemented in Python 3.9 to generate candidate structures for the critical points sampling of the PES. The amcess main purpose is to be a user-friendly package, easy to install, import, and run, available on most platforms and open-source. As a Python module, amcess can be integrated into any workflow. This package has code reviews with unit testing and continuous integration, code coverage tools, and automatically keeps documentation up–to–date.
The amcess package uses simple input files and automates common procedures to explore the PES using the Simulated Annealing, Simplicial Homology Global Optimization (SHGO), and Bayesian Optimization to generate candidate structures for any kind of critical points, such as local minima or transition states. The package also allows the user to perform local searches around defined regions. The PES is generated by computing the electronic energy using standard and powerful quantum chemistry packages such as PySCF and Psi4, also implemented in Python.
Read more about the project in the documentation.
Technical documents behind this project can be accessed here.
First, you should install the required Python packages
attrs>=23.2.0
scipy>=1.12.0
numpy==1.23.1
pyscf>=2.5.0
h5py>=3.1.0
pyberny>=0.6.3
geomeTRIC>=0.9.7.2
GPyOpt>=1.2.6
pyDOE>=0.3.8
matplotlib>=3.8.3
matplotlib-inline>=0.1.6
To use Jupyter Notebook
py3Dmol>=2.0.4
notebook>=6.5.6
notebook_shim>=0.2.4
jupyter>=1.0.0
ipykernel>=6.29.3
rise>=5.7.1
check the file requirements.txt
. For developers, you should install requirements_dev.txt
.
AMCESS is a Python 3.9 package
Install virtual environment:
python -m venv <VirtualEnvName>
Activate virtual environment:
source <VirtualEnvName>
/bin/activate`
Install the packages:
after cloning this repository
pip install .
or directly from PyPI
pip install amcess
Run AMCESS (check some examples below). Additionally, you can install requirements.txt
to use Jupyter notebooks.
For developers,
install dependencies:
pip install -r requirements.txt -r requirements_dev.txt
Run all test:
tox
A detailed workflow is provided in the workflow
directory. It has a list of Jupyter notebooks with detailed examples of AMCESS tools and capabilities.
Workflow (Binder):
01_importing_atoms_and_molecules.ipynb
02_move_rotate_molecules.ipynb
03_move_rotate_cluster.ipynb
04_freeze_molecule_redefine_center.ipynb
05_initialize_cluster_and_move_molecule.ipynb
Some of the ideas to keep growing are:
The easiest way to get help with the project is to join the #amcess channel on Discord.
We hang out there and you can get real-time help with your projects.
Discord: https://discord.gg/vxQQCjpg
GNU General Public License v3 (GLPv3)
Main authors: Alejandra Mendez, Juan Jose Aucar, Daniel Bajac, César Ibargüen, Andy Zapata, Edison Florez (edisonffh@mail.com)
Under development
A previous version of AMCESS, called ASCEC [1] (Spanish acronym Annealing Simulado con Energía Cuántica) was written in FORTRAN77 and was successfully used in a wide range of research and academic applications. From atomic cluster to molecular cluster, the ASCEC package has produced novel results (structure never seen before) published in the literature. Read more on ASCEC publications.
You could check the directory ASCECV3
ASCECV3/
|---papers/
|---p_ascec/
|---examples/
|---adf
|---dalton
|---g03
|---gamess
|---nwchem