Skip to main content

Python Framework for Materials Discovery and Design

Project description

PyChemia

Python Materials Discovery Framework

PyChemia is an open-source Python Library for materials structural search. The purpose of the initiative is to create a method agnostic framework for materials discovery and design using a variety of methods from Minima Hoping to Soft-computing based methods. PyChemia is also a library for data-mining, using several methods to discover interesting candidates among the materials already processed.

The core of the library is the Structure python class, it is able to describe periodic and non-periodic structures. As the focus of this library is structural search the class defines extensive capabilities to modify atomic structures.

The library includes capability to read and write in several ab-initio codes. At the level of DFT, PyChemia support VASP, ABINIT and Octopus. At Tight-binding level development is in process to support DFTB+ and Fireball. This allows the library to compute electronic-structure properties using state-of-the-art ab-initio software packages and extract properties from those calculations.

PyChemia requirements

Before installing PyChemia, you may need to first install a few critical dependencies

Mandatory

  1. Python >= 2.7 or Python >= 3.5 The library is tested on Travis for versions of Python 2.7, 3.5 and 3.6

    https://travis-ci.org/MaterialsDiscovery/PyChemia

  2. Numpy >= 1.12 NumPy is a fundamental package for any Python scientific library. Numpy arrays are essential for efficient array manipulation. Many distributions come with relatively old version of numpy, so you should install a more recent version.

  3. SciPy >= 0.18 SciPy is used for many linear algebra and FFT calls Most distros comes with scipy 0.13 or below. PyChemia uses scipy.spatial that have been actively developed since version 0.15, we have tested PyChemia on 0.17.

  4. Spglib >= 1.9.9 Spglib is used to determine symmetry groups for structures

  5. future This is a library that offers some easy hacks to support python 2.7 and python 3 on the same code source. The library is easy to install with pip

    pip install future

    or

    pip install future –user

  6. PyMongo >= 3.4 At least for structural search PyChemia relies strongly in MongoDB and its python driver. For the MongoDB server, any version beyond 3.0 should be fine. We have tested pychemia on MongoDB 3.2

    pip install pymongo

    or

    pip install pymongo –user

Optional

  1. Pandas Library for Data Analysis used by the datamining modules

  2. PyMC PyMC is a python module that implements Bayesian statistical models and fitting algorithms Important for the datamining capabilities of PyChemia

  3. Mayavi >= 4.1 Some basic visualization tools are incorporated using this library

  4. ScientificPython >2.6 This library is used for reading and writing NetCDF files

  5. pymatgen >= 2.9 pymatgen is an excellent library for materials analysis

  6. ASE Atomic Simulation Environment is another good library for ab-initio calculations. Quite impressive for the number of ab-initio packages supported

  7. qmpy The Python library behind the Open Quantum Materials Database. The OQMD is a database of DFT calculated structures. For the time being the database contains more than 300000 structures, with more than 90% of them with the electronic ground-state computed.

  8. [coverage] (https://bitbucket.org/ned/coveragepy) >= 4.0.1 Provides code coverage analysis

  9. python-coveralls To submit coverage information to coveralls.io

    https://coveralls.io/github/MaterialsDiscovery/PyChemia

Documentation

Instructions for installation, using and programming scripts with PyChemia can be found on two repositories for documentation:

  • Read The Docs:

http://pychemia.readthedocs.io/en/latest

  • Python Hosted:

http://pythonhosted.org/pychemia

Contributors

  1. Prof. Aldo H. Romero [West Virginia University] (Project Director)

  2. Guillermo Avendaño-Franco [West Virginia University] (Basic Infrastructure)

  3. Adam Payne [West Virginia University] (Bug fixes (Populations, Relaxators, and KPoints) )

  4. Irais Valencia Jaime [West Virginia University] (Simulation and testing)

  5. Sobhit Singh [West Virginia University] (Data-mining)

  6. Francisco Muñoz [Universidad de Chile] (PyPROCAR)

  7. Wilfredo Ibarra Hernandez [West Virginia University] (Interface with MAISE)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pychemia-0.18.2.21.tar.gz (24.7 MB view details)

Uploaded Source

Built Distribution

pychemia-0.18.2.21-py3-none-any.whl (369.9 kB view details)

Uploaded Python 3

File details

Details for the file pychemia-0.18.2.21.tar.gz.

File metadata

File hashes

Hashes for pychemia-0.18.2.21.tar.gz
Algorithm Hash digest
SHA256 b0c6e128a6d571298d890abb6fcb7562afd7ea53da8720796866ea9c042b84f9
MD5 ba1f32cde01e24e688c014f12b463fb1
BLAKE2b-256 3ab9614aec6329936ffb2a61904498b8fa30c47199b0a078829f3b16c78f88f7

See more details on using hashes here.

File details

Details for the file pychemia-0.18.2.21-py3-none-any.whl.

File metadata

File hashes

Hashes for pychemia-0.18.2.21-py3-none-any.whl
Algorithm Hash digest
SHA256 f56809ef46e3b2fe3f0a1d493d6d50499e0a47df2a441c41ad231c0cb91f3104
MD5 03d4a2f6895af655aba54a9eca0e743c
BLAKE2b-256 2e1ccf967c0628d6a405a7f476f6812f8d6e293eb04c5457c551e942868a70f3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page