{ "info": { "author": "Adam R. Symington", "author_email": "ars44@bath.ac.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Science/Research", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Scientific/Engineering" ], "description": "# SurfinPy\n\n
\n
\n
\n\nThis is the documentation for the open-source Python project - `surfinpy`.\nA library designed to facilitate the generation of publication ready surface phase diagrams from ab initio calculations.\nsurfinpy is built on existing Python packages that those in the solid state physics/chemistry community should already be familiar with. \nIt is hoped that this tool will bring some benfits to the solid state community and facilitate the generation of publication ready phase diagrams (powered by Matplotlib.)\n\nThe main features include:\n\n1. **Method to generate 2D surface phase diagrams as a function of chemical potential.** \n\n - Generate a diagram for two adsorbing species e.g. water and carbon dioxide. \n - Generate a diagram for an adsorbing species and a surface species e.g. water and oxygen vacancies. \n - Use experimental data combined with ab initio data to generate a temperature dependent phase diagram. \n\n2. **Method to generate 2D surface phase diagrams as a function of temperature and pressure.** \n\n - Use experimental data combined with ab initio data to generate a pvt plot showing the state of a surface. \n\n3. **Use calculated surface energies to built crystal morphologies.** \n\n - Use the surface energies produced by `surfinpy` alongside Pymatgen to built particle morphologies. \n - Evaulate how a particles shape changes with temperature and pressure.\n\nThe code has been developed to analyse VASP calculations however should in theory be compatible with other ab initio codes.\n`surfinpy` was developed during a PhD project and as such the functionality focuses on the research questions encountered during that project, which we should clarify\nare wide ranging. Code contributions aimed at expanding the code to new of problems are encouraged.\n\n`surfinpy` is free to use.\n\n## Usage\n\nA full list of examples can be found in the examples folder of the git repository, these include both the Python scripts needed to generate each plot, and \njupyter notebook tutorials which combine the full theory with code examples.\n\n## Installation\n\nsurfinpy is a Python 3 package and requires a typical scientific Python stack. Use of the tutorials requires Anaconda/Jupyter to be installed.\n\nTo build from source:\n\n pip install -r requirements.txt\n\n python setup.py build\n\n python setup.py install\n\n python setup.py test\n\nOr alternatively install with pip\n\n pip install surfinpy\n\n\n### Documentation\n\nTo build the documentation from scratch\n \n cd docs\n make html\n\n### License\n\n`surfinpy` is made available under the MIT License.\n\n### Detailed requirements\n\n`surfinpy` is compatible with Python 3.5+ and relies on a number of open source Python packages, specifically:\n\n- Numpy\n- Scipy\n- Matplotlib\n- Pymatgen\n\n## Contributing\n\n### Contact\n\nIf you have questions regarding any aspect of the software then please get in touch with the developer Adam Symington via email - ars44@bath.ac.uk. \nAlternatively you can create an issue on the [Issue Tracker](https://github.com/symmy596/SurfinPy/issues) or you can discuss your questions on our [gitter channel](https://gitter.im/Surfinpy/Lobby).\n\n### Bugs\n\nThere may be bugs. If you think you've caught one, please report it on the [Issue Tracker](https://github.com/symmy596/SurfinPy/issues).\nThis is also the place to propose new ideas for features or ask questions about the design of `surfinpy`. Poor documentation is considered a bug\nso feel free to request improvements.\n\n### Code contributions\n\nWe welcome help in improving and extending the package. This is managed through Github pull requests; for external contributions we prefer the\n[\"fork and pull\"](https://guides.github.com/activities/forking/)__\nworkflow while core developers use branches in the main repository:\n\n 1. First open an Issue to discuss the proposed contribution. This\n discussion might include how the changes fit surfinpy's scope and a\n general technical approach.\n 2. Make your own project fork and implement the changes\n there. Please keep your code style compliant with PEP8.\n 3. Open a pull request to merge the changes into the main\n project. A more detailed discussion can take place there before\n the changes are accepted.\n\nFor further information please contact Adam Symington, ars44@bath.ac.uk\n\n## Author\n\n* Adam R.Symington\n \n## Acknowledgements\n \n* [Prof Stephen C.Parker](http://people.bath.ac.uk/chsscp/) - (Bath University)\n* Joshua Tse (Huddersfield Uniersity)",
"description_content_type": "text/markdown",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/symmy596/SurfinPy",
"keywords": "",
"license": "MIT license",
"maintainer": "",
"maintainer_email": "",
"name": "surfinpy",
"package_url": "https://pypi.org/project/surfinpy/",
"platform": "",
"project_url": "https://pypi.org/project/surfinpy/",
"project_urls": {
"Homepage": "https://github.com/symmy596/SurfinPy"
},
"release_url": "https://pypi.org/project/surfinpy/1.0.2/",
"requires_dist": null,
"requires_python": "",
"summary": "Surface Phase Diagram Plotting Tools",
"version": "1.0.2"
},
"last_serial": 5042812,
"releases": {
"0.6": [
{
"comment_text": "",
"digests": {
"md5": "d89e913955bba8ad49c2d149bab74a45",
"sha256": "4e1fd4d08772750cf414e0cea553102c2acb6f45bca02ce52571cfcd46fa62a0"
},
"downloads": -1,
"filename": "surfinpy-0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d89e913955bba8ad49c2d149bab74a45",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 13937,
"upload_time": "2019-01-04T14:39:38",
"url": "https://files.pythonhosted.org/packages/5f/7f/ea949e7025f11deb6e92c864f7582bc9c07ff4796110924c64929bad5cb4/surfinpy-0.6-py3-none-any.whl"
}
],
"0.7": [
{
"comment_text": "",
"digests": {
"md5": "a3c4040e38bd91d60c2e6ef503d2b1d4",
"sha256": "bdd08d1b725e4c970a1221de6830b2d40baa65c1258926530d8a85660ce71419"
},
"downloads": -1,
"filename": "surfinpy-0.7-py3.7.egg",
"has_sig": false,
"md5_digest": "a3c4040e38bd91d60c2e6ef503d2b1d4",
"packagetype": "bdist_egg",
"python_version": "3.7",
"requires_python": null,
"size": 28767,
"upload_time": "2019-01-25T13:33:39",
"url": "https://files.pythonhosted.org/packages/a2/44/5971b39f158e4c81dd2f0e325e9a91d081d81e8a7a7d16a371a5f28c1558/surfinpy-0.7-py3.7.egg"
},
{
"comment_text": "",
"digests": {
"md5": "9bc288fc0be3928df5395750bc3a7c5d",
"sha256": "46a0c9a65e76ef6f61347dfd31958a70fb03caf1bc7c83993f3833af75707176"
},
"downloads": -1,
"filename": "surfinpy-0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9bc288fc0be3928df5395750bc3a7c5d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 14000,
"upload_time": "2019-01-04T14:49:50",
"url": "https://files.pythonhosted.org/packages/5b/cf/96c83c7982144646a4d05282b4d9a040337e6b0580ba64ce04c6e369bedf/surfinpy-0.7-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "49266258deeedc689f340113a441a2c7",
"sha256": "9878bb836a590e35a585628eeb8867a697b39bc035b2e309c51831bf8b847472"
},
"downloads": -1,
"filename": "surfinpy-0.7.tar.gz",
"has_sig": false,
"md5_digest": "49266258deeedc689f340113a441a2c7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13587,
"upload_time": "2019-01-04T14:49:51",
"url": "https://files.pythonhosted.org/packages/80/e6/fa282ed3c3705687bff57a287d82307fad12fea16ec3672b67a01b6a499d/surfinpy-0.7.tar.gz"
}
],
"0.8": [
{
"comment_text": "",
"digests": {
"md5": "ab0f43dc3f57496a49d9e389d4ea99c2",
"sha256": "6bf5c3fa1d3dfbe8ea03d5e58007fec6122bbbcdb33ba188e72747cd65ecdcd6"
},
"downloads": -1,
"filename": "surfinpy-0.8.tar.gz",
"has_sig": false,
"md5_digest": "ab0f43dc3f57496a49d9e389d4ea99c2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13747,
"upload_time": "2019-01-25T13:33:41",
"url": "https://files.pythonhosted.org/packages/61/3b/c8673dbb4ba849e143dd00f4a1414d3afa4660b3c91bac1c2ffa57ee733a/surfinpy-0.8.tar.gz"
}
],
"0.9": [
{
"comment_text": "",
"digests": {
"md5": "2448b5e57fb5649e83c8bae3a2443456",
"sha256": "1f175eb8dd2bfd16921a14ab61acf02d863e05bac07145e6dfec7c148dffceb9"
},
"downloads": -1,
"filename": "surfinpy-0.9.tar.gz",
"has_sig": false,
"md5_digest": "2448b5e57fb5649e83c8bae3a2443456",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13502,
"upload_time": "2019-02-19T20:32:28",
"url": "https://files.pythonhosted.org/packages/c1/62/ffd84c340d569214ae92f46c86c93bbe4e29316777c057ae16c6ae6889d3/surfinpy-0.9.tar.gz"
}
],
"1.0": [
{
"comment_text": "",
"digests": {
"md5": "875d4c662d9b8058665b935f98273b41",
"sha256": "ec2f30f65d886adf36400a5677c69ab0a1fb07c8e0696020209f68c385e29215"
},
"downloads": -1,
"filename": "surfinpy-1.0.tar.gz",
"has_sig": false,
"md5_digest": "875d4c662d9b8058665b935f98273b41",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 11457,
"upload_time": "2019-02-19T21:01:21",
"url": "https://files.pythonhosted.org/packages/79/5d/0d6077e515a6650fcb33f8314e6514558050726383fa258e4d50b2415292/surfinpy-1.0.tar.gz"
}
],
"1.0.1": [
{
"comment_text": "",
"digests": {
"md5": "c8b3030c4612d645d31f3419be215964",
"sha256": "ffda8804f7452b9238a6338e10df088bd85a92780b1181a79e52796be5c84ea7"
},
"downloads": -1,
"filename": "surfinpy-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "c8b3030c4612d645d31f3419be215964",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13984,
"upload_time": "2019-02-20T11:31:00",
"url": "https://files.pythonhosted.org/packages/c1/ac/14d03be35983a81dc56a2ad706ed4ba80e545d9587e33039c395f7895f5f/surfinpy-1.0.1.tar.gz"
}
],
"1.0.2": [
{
"comment_text": "",
"digests": {
"md5": "c471218dddc37ef119220bde42d03b78",
"sha256": "fcc9a538dc36acf2d48a0916331d8f4a3247a66a04f380f91d58984c82eeac3b"
},
"downloads": -1,
"filename": "surfinpy-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "c471218dddc37ef119220bde42d03b78",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14303,
"upload_time": "2019-04-02T09:07:24",
"url": "https://files.pythonhosted.org/packages/31/92/b9fadeb9401d69662f9751918c6d97934e19ab7b302968580a584277c4c9/surfinpy-1.0.2.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "c471218dddc37ef119220bde42d03b78",
"sha256": "fcc9a538dc36acf2d48a0916331d8f4a3247a66a04f380f91d58984c82eeac3b"
},
"downloads": -1,
"filename": "surfinpy-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "c471218dddc37ef119220bde42d03b78",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14303,
"upload_time": "2019-04-02T09:07:24",
"url": "https://files.pythonhosted.org/packages/31/92/b9fadeb9401d69662f9751918c6d97934e19ab7b302968580a584277c4c9/surfinpy-1.0.2.tar.gz"
}
]
}