Core data structures for Quantum Chemistry.
Project description
QCElemental
Documentation: GitHub Pages
Core data structures for Quantum Chemistry. QCElemental also contains physical constants and periodic table data from NIST and molecule handlers.
Periodic Table and Physical Constants data are pulled from NIST srd144 and srd121, respectively (details) in a renewable manner (class around NIST-published JSON file).
This project also contains a generator, validator, and translator for Molecule QCSchema.
✨ Getting Started
-
Installation. QCElemental supports Python 3.7+. Starting with v0.50 (aka "next", aka "QCSchema v2 available"), Python 3.8+ will be supported.
python -m pip install qcelemental
-
To install QCElemental with molecule visualization capabilities (useful in iPython or Jupyter notebook environments):
python -m pip install 'qcelemental[viz]`
-
To install QCElemental with various alignment capabilities using
networkxpython -m pip install 'qcelemental[align]`
-
Or install both:
python -m pip install 'qcelemental[viz,align]`
-
See documentation
Periodic Table
A variety of periodic table quantities are available using virtually any alias:
>>> import qcelemental as qcel
>>> qcel.periodictable.to_E('KRYPTON')
'Kr'
>>> qcel.periodictable.to_element(36)
'Krypton'
>>> qcel.periodictable.to_Z('kr84')
36
>>> qcel.periodictable.to_A('Kr')
84
>>> qcel.periodictable.to_A('D')
2
>>> qcel.periodictable.to_mass('kr', return_decimal=True)
Decimal('83.9114977282')
>>> qcel.periodictable.to_mass('kr84')
83.9114977282
>>> qcel.periodictable.to_mass('Kr86')
85.9106106269
Physical Constants
Physical constants can be acquired directly from the NIST CODATA:
>>> import qcelemental as qcel
>>> qcel.constants.Hartree_energy_in_eV
27.21138602
>>> qcel.constants.get('hartree ENERGY in ev')
27.21138602
>>> pc = qcel.constants.get('hartree ENERGY in ev', return_tuple=True)
>>> pc.label
'Hartree energy in eV'
>>> pc.data
Decimal('27.21138602')
>>> pc.units
'eV'
>>> pc.comment
'uncertainty=0.000 000 17'
Alternatively, with the use of the Pint unit conversion package, arbitrary conversion factors can be obtained:
>>> qcel.constants.conversion_factor("bohr", "miles")
3.2881547429884475e-14
Covalent Radii
Covalent radii are accessible for most of the periodic table from Alvarez, Dalton Transactions (2008) doi:10.1039/b801115j (details).
>>> import qcelemental as qcel
>>> qcel.covalentradii.get('I')
2.626719314386381
>>> qcel.covalentradii.get('I', units='angstrom')
1.39
>>> qcel.covalentradii.get(116)
Traceback (most recent call last):
...
qcelemental.exceptions.DataUnavailableError: ('covalent radius', 'Lv')
>>> qcel.covalentradii.get(116, missing=4.0)
4.0
>>> qcel.covalentradii.get('iodine', return_tuple=True).dict()
{'numeric': True, 'label': 'I', 'units': 'angstrom', 'data': Decimal('1.39'), 'comment': 'e.s.d.=3 n=451', 'doi': 'DOI: 10.1039/b801115j'}
van der Waals Radii
Van der Waals radii are accessible for most of the periodic table from Mantina, J. Phys. Chem. A (2009) doi: 10.1021/jp8111556 (details).
>>> import qcelemental as qcel
>>> qcel.vdwradii.get('I')
3.7416577284064996
>>> qcel.vdwradii.get('I', units='angstrom')
1.98
>>> qcel.vdwradii.get(116)
Traceback (most recent call last):
...
qcelemental.exceptions.DataUnavailableError: ('vanderwaals radius', 'Lv')
>>> qcel.vdwradii.get('iodine', return_tuple=True).dict()
{'numeric': True, 'label': 'I', 'units': 'angstrom', 'data': Decimal('1.98'), 'doi': 'DOI: 10.1021/jp8111556'}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qcelemental-0.30.1.tar.gz.
File metadata
- Download URL: qcelemental-0.30.1.tar.gz
- Upload date:
- Size: 307.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58c34a97885f5bf1883b01cd7a4652c20b9a33ae0b2dead06ab1213a0a9bdabb
|
|
| MD5 |
133d8939090f5f64b5c6794923cccf94
|
|
| BLAKE2b-256 |
f2fda2179ee40c2937d12740b1dbd040c01d05e61f1e09381cc9027ea2be87f0
|
File details
Details for the file qcelemental-0.30.1-py3-none-any.whl.
File metadata
- Download URL: qcelemental-0.30.1-py3-none-any.whl
- Upload date:
- Size: 340.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
284215a4dd656ceb4243e8d0020e66405805717c12ef73c874c3221f1ef5a271
|
|
| MD5 |
d9d35554fd5b45267cf97741f7861e0c
|
|
| BLAKE2b-256 |
16fe1016a5ccc1a7fadb3780cb3bb9b76cb917e1d1655a81151b12b3bfbfb3e2
|