Energy landscape
================
[![pypi](https://img.shields.io/pypi/v/atooms-landscape.svg)](https://pypi.python.org/pypi/atooms-landscape/)
[![version](https://img.shields.io/pypi/pyversions/atooms-landscape.svg)](https://pypi.python.org/pypi/atooms-landscape/)
[![license](https://img.shields.io/pypi/l/atooms-pp.svg)](https://en.wikipedia.org/wiki/GNU_General_Public_License)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fframagit.org%2Fatooms%2Flandscape/HEAD?labpath=docs%2Findex.ipynb)
[![pipeline](https://framagit.org/atooms/landscape/badges/master/pipeline.svg)](https://framagit.org/atooms/landscape/badges/master/pipeline.svg)
[![coverage report](https://framagit.org/atooms/landscape/badges/master/coverage.svg)](https://framagit.org/atooms/landscape/-/commits/master)
Energy landscape analysis tools built with atooms.
Quick start
-----------
Find the minimum of the potential energy surface (PES) of a Lennard-Jones trimer
```python
from atooms.landscape import conjugate_gradient
from atooms.system import Particle, Cell, System
from atooms.models.f90 import Interaction
system = System()
system.particle = [Particle(species=1, position=[0., 0., 0.]),
Particle(species=1, position=[0.5, 1., -.1]),
Particle(species=1, position=[1.1, 0.1, 0.1])]
system.cell = Cell([10., 10., 10.])
system.interaction = Interaction('lennard_jones')
result = conjugate_gradient(system)
distance = sum(system.particle[0].distance(system.particle[1])**2)**0.5
assert abs(distance - 1.12246) < 1e-5
```
Features
--------
- Optimization methods to find **local minima** of the PES
- Steepest descent
- Conjugate gradients
- l-BFGS
- Fast inertial relaxation engine (FIRE)
- Optimization methods to find **stationary points** of the PES
- Eigenvector-following
- Square-force minimization
- Normal modes analysis
Documentation
-------------
Check out the [tutorial](https://atooms.frama.io/landscape/tutorial) for more examples and the [public API](https://atooms.frama.io/landscape/api/landscape) for full details.
Org-mode and jupyter notebooks are available under `docs/`. You can run the tutorial interactively on [Binder]( https://mybinder.org/v2/git/https%3A%2F%2Fframagit.org%2Fatooms%2Flandscape/HEAD?labpath=docs%2Findex.ipynb).
Installation
------------
From pypi
```
pip install atooms-landscape
```
You can clone the code repository and install from source
```
git clone https://framagit.org/atooms/landscape.git
cd landscape
make install
```
Contributing
------------
Contributions to the project are welcome. If you wish to contribute, check out [these guidelines](https://framagit.org/atooms/atooms/-/blob/master/CONTRIBUTING.md).
Authors
-------
Daniele Coslovich: https://www.units.it/daniele.coslovich/
Thanks go to Ginevra Lautizi for her contribution to code testing.
Raw data
{
"_id": null,
"home_page": "https://framagit.org/atooms/landscape",
"name": "atooms-landscape",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Daniele Coslovich",
"author_email": "daniele.coslovich@umontpellier.fr",
"download_url": null,
"platform": null,
"description": "Energy landscape\n================\n\n[![pypi](https://img.shields.io/pypi/v/atooms-landscape.svg)](https://pypi.python.org/pypi/atooms-landscape/)\n[![version](https://img.shields.io/pypi/pyversions/atooms-landscape.svg)](https://pypi.python.org/pypi/atooms-landscape/)\n[![license](https://img.shields.io/pypi/l/atooms-pp.svg)](https://en.wikipedia.org/wiki/GNU_General_Public_License)\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fframagit.org%2Fatooms%2Flandscape/HEAD?labpath=docs%2Findex.ipynb)\n[![pipeline](https://framagit.org/atooms/landscape/badges/master/pipeline.svg)](https://framagit.org/atooms/landscape/badges/master/pipeline.svg)\n[![coverage report](https://framagit.org/atooms/landscape/badges/master/coverage.svg)](https://framagit.org/atooms/landscape/-/commits/master)\n\nEnergy landscape analysis tools built with atooms.\n\nQuick start\n-----------\n\nFind the minimum of the potential energy surface (PES) of a Lennard-Jones trimer\n```python\nfrom atooms.landscape import conjugate_gradient\nfrom atooms.system import Particle, Cell, System\nfrom atooms.models.f90 import Interaction\n\nsystem = System()\nsystem.particle = [Particle(species=1, position=[0., 0., 0.]),\n Particle(species=1, position=[0.5, 1., -.1]),\n Particle(species=1, position=[1.1, 0.1, 0.1])]\nsystem.cell = Cell([10., 10., 10.])\nsystem.interaction = Interaction('lennard_jones')\nresult = conjugate_gradient(system)\ndistance = sum(system.particle[0].distance(system.particle[1])**2)**0.5\nassert abs(distance - 1.12246) < 1e-5\n```\n\nFeatures\n--------\n- Optimization methods to find **local minima** of the PES\n - Steepest descent\n - Conjugate gradients\n - l-BFGS\n - Fast inertial relaxation engine (FIRE)\n- Optimization methods to find **stationary points** of the PES\n - Eigenvector-following\n - Square-force minimization\n- Normal modes analysis\n\nDocumentation\n-------------\n\nCheck out the [tutorial](https://atooms.frama.io/landscape/tutorial) for more examples and the [public API](https://atooms.frama.io/landscape/api/landscape) for full details.\n\nOrg-mode and jupyter notebooks are available under `docs/`. You can run the tutorial interactively on [Binder]( https://mybinder.org/v2/git/https%3A%2F%2Fframagit.org%2Fatooms%2Flandscape/HEAD?labpath=docs%2Findex.ipynb).\n\nInstallation\n------------\nFrom pypi\n```\npip install atooms-landscape\n```\n\nYou can clone the code repository and install from source\n```\ngit clone https://framagit.org/atooms/landscape.git\ncd landscape\nmake install\n```\n\nContributing\n------------\nContributions to the project are welcome. If you wish to contribute, check out [these guidelines](https://framagit.org/atooms/atooms/-/blob/master/CONTRIBUTING.md).\n\nAuthors\n-------\nDaniele Coslovich: https://www.units.it/daniele.coslovich/\n\nThanks go to Ginevra Lautizi for her contribution to code testing.\n\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "Energy landscape analysis tools built with atooms",
"version": "2.0.1",
"project_urls": {
"Homepage": "https://framagit.org/atooms/landscape"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "da99549f0234d34fef317bd77e07a432643b1e366dd523b2704641f39bdb57b9",
"md5": "82bdc8f3189b01fd064894d82001e53b",
"sha256": "311b403b99126339ff7ceb00af8c99d0b036b0d4fa1bc1abfd6c77e3dfad815a"
},
"downloads": -1,
"filename": "atooms_landscape-2.0.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "82bdc8f3189b01fd064894d82001e53b",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 21937,
"upload_time": "2024-10-21T19:13:44",
"upload_time_iso_8601": "2024-10-21T19:13:44.225083Z",
"url": "https://files.pythonhosted.org/packages/da/99/549f0234d34fef317bd77e07a432643b1e366dd523b2704641f39bdb57b9/atooms_landscape-2.0.1-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-21 19:13:44",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "atooms-landscape"
}