{ "info": { "author": "Chi Chen", "author_email": "chc273@eng.ucsd.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering :: Chemistry", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Scientific/Engineering :: Physics", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# Minimum Energy Path Tools\n[![CircleCI](https://circleci.com/gh/chc273/mep.svg?style=svg)](https://circleci.com/gh/chc273/mep)\n[![Coverage Status](https://coveralls.io/repos/github/chc273/mep/badge.svg?branch=master)](https://coveralls.io/github/chc273/mep?branch=master)\n\n## Introduction \nThis package contains various methods for finding the minimal energy path in atom simulations.\n\nCurrently the following methods are implemented:\n\n> Nudged elastic band method [1]\n\n> Climbing image nudged elastic band method [2]\n\n## How to use\n\n### Regular NEB\n```python\n\nfrom mep.optimize import ScipyOptimizer\nfrom mep.path import Path\nfrom mep.neb import NEB\nfrom mep.models import LEPS\n\nleps = LEPS() # Test model \nop = ScipyOptimizer(leps) # local optimizer for finding local minima\nx0 = op.minimize([1, 4], bounds=[[0, 4], [-2, 4]]).x # minima one\nx1 = op.minimize([3, 1], bounds=[[0, 4], [-2, 4]]).x # minima two\n\n\npath = Path.from_linear_end_points(x0, x1, 101, 1) # set 101 images, and k=1\nneb =NEB(leps, path) # initialize NEB\nhistory = neb.run(verbose=True) # run\n\n```\n\nThe results will be like the following\n\n![LEPS example](./assets/leps.gif) ![LEPS_NEB](./assets/leps_ea.png) \n\n\nSimilar results can be obtained using the LEPS model with harmonics `LEPSHarm`\n\n![LEPSHarm_example](./assets/lepsharm.gif) ![LEPS_NEB](./assets/lepsharm_ea.png) \n\n### CI-NEB\nEvery thing is the same except that \n```python\nneb =NEB(leps, path, climbing=True, n_climbs=1) # set one image for climbing\nhistory = neb.run(verbose=True, n_steps=10, n_climb_steps=100) # run normal NEB for 10 steps and then switch to CINEB\n```\n\nFor comparison, normal NEB using `LEPSHarm` potential with 5 images gives the following\n\n![LEPS example](./assets/lepsharm_nocineb.png) ![LEPS_NEB](./assets/lepsharm_ea_nocineb.png) \n\nWith CI-NEB \n\n![LEPS example](./assets/lepsharm_cineb.png) ![LEPS_NEB](./assets/lepsharm_ea_cineb.png) \n\nWe can see that using only 5 images, the CINEB gets `Ea = 3.63 eV`, the same as the one we ran with 101 images!\nWith only normal NEB, however, this `Ea` value is substantially smaller (`3.25 eV`). \n## References\n\n> [1] Henkelman, G., & J\u00f3nsson, H. (2000). Improved tangent estimate in the nudged elastic band method for finding minimum energy paths and saddle points. The Journal of chemical physics, 113(22), 9978-9985.\n\n> [2] Henkelman, G., Uberuaga, B. P., & J\u00f3nsson, H. (2000). A climbing image nudged elastic band method for finding saddle points and minimum energy paths. The Journal of chemical physics, 113(22), 9901-9904.\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/chc273/mep", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/chc273/mep", "keywords": "materials,science,nudged elastic band", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "mep", "package_url": "https://pypi.org/project/mep/", "platform": "", "project_url": "https://pypi.org/project/mep/", "project_urls": { "Download": "https://github.com/chc273/mep", "Homepage": "https://github.com/chc273/mep" }, "release_url": "https://pypi.org/project/mep/0.0.1/", "requires_dist": [ "numpy", "pymatgen", "scipy" ], "requires_python": "", "summary": "Minimal energy path tools for atomistic systems", "version": "0.0.1" }, "last_serial": 5657611, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "da50b3e6d73778ca00dc12326d40b69f", "sha256": "f7e73bf1700d85bcd326a7587697a03f9da109d51ee65c95d4726dc14b95afc1" }, "downloads": -1, "filename": "mep-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "da50b3e6d73778ca00dc12326d40b69f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11281, "upload_time": "2019-08-09T20:14:43", "url": "https://files.pythonhosted.org/packages/b3/02/da70f715c521c4136f9f4fcc5590a455f9bd1a2e98c87718ebef92560c29/mep-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1465a676727d3120ff23f6f0a8fc770d", "sha256": "a9e75b5992ab94351b4947d76fef765a3157ef92104cb2c6125de1df5c2160ab" }, "downloads": -1, "filename": "mep-0.0.1.tar.gz", "has_sig": false, "md5_digest": "1465a676727d3120ff23f6f0a8fc770d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12899, "upload_time": "2019-08-09T20:14:53", "url": "https://files.pythonhosted.org/packages/3e/43/c1df179a3a4699529fab5f611b64a9fca19d41eb6600911de06eac278502/mep-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "da50b3e6d73778ca00dc12326d40b69f", "sha256": "f7e73bf1700d85bcd326a7587697a03f9da109d51ee65c95d4726dc14b95afc1" }, "downloads": -1, "filename": "mep-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "da50b3e6d73778ca00dc12326d40b69f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11281, "upload_time": "2019-08-09T20:14:43", "url": "https://files.pythonhosted.org/packages/b3/02/da70f715c521c4136f9f4fcc5590a455f9bd1a2e98c87718ebef92560c29/mep-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1465a676727d3120ff23f6f0a8fc770d", "sha256": "a9e75b5992ab94351b4947d76fef765a3157ef92104cb2c6125de1df5c2160ab" }, "downloads": -1, "filename": "mep-0.0.1.tar.gz", "has_sig": false, "md5_digest": "1465a676727d3120ff23f6f0a8fc770d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12899, "upload_time": "2019-08-09T20:14:53", "url": "https://files.pythonhosted.org/packages/3e/43/c1df179a3a4699529fab5f611b64a9fca19d41eb6600911de06eac278502/mep-0.0.1.tar.gz" } ] }