All Projects → MolSSI → QCElemental

MolSSI / QCElemental

Licence: BSD-3-Clause license
Periodic table, physical constants, and molecule parsing for quantum chemistry.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to QCElemental

Qcengine
Quantum chemistry program executor and IO standardizer (QCSchema).
Stars: ✭ 83 (-28.45%)
Mutual labels:  chemistry, standards, quantum-chemistry
qcmaquis
Release-only repository for SCINE QCMaquis, the DMRG software from the Reiher group.
Stars: ✭ 18 (-84.48%)
Mutual labels:  chemistry, computational-chemistry, quantum-chemistry
QUICK
QUICK: A GPU-enabled ab intio quantum chemistry software package
Stars: ✭ 79 (-31.9%)
Mutual labels:  chemistry, computational-chemistry, quantum-chemistry
Xopt
eXternal OPTimizer
Stars: ✭ 5 (-95.69%)
Mutual labels:  chemistry, quantum-chemistry
periodic-table
Interactive Periodic Table which I made with React.js and CSS Grid. I was trying to memorize all the elements and thought, hey can I make this peculiar layout with my current CSS skills? I finally did
Stars: ✭ 92 (-20.69%)
Mutual labels:  chemistry, periodic-table
Awesome Python Chemistry
A curated list of Python packages related to chemistry
Stars: ✭ 410 (+253.45%)
Mutual labels:  chemistry, quantum-chemistry
qp2
Quantum Package : a programming environment for wave function methods
Stars: ✭ 37 (-68.1%)
Mutual labels:  chemistry, computational-chemistry
Hande
Open source stochastic quantum chemistry
Stars: ✭ 50 (-56.9%)
Mutual labels:  chemistry, quantum-chemistry
Gaussium
A Quantum Chemistry program written in Python 3 supporting RHF, UHF, TDHF, CIS, MP2, DFT, CCSD and CCSD(T) methods.
Stars: ✭ 36 (-68.97%)
Mutual labels:  chemistry, quantum-chemistry
Fermi.jl
Fermi quantum chemistry program
Stars: ✭ 107 (-7.76%)
Mutual labels:  chemistry, quantum-chemistry
stda
stda program for computing excited states and response functions via simplified TD-DFT methods (sTDA, sTD-DFT, and SF-sTD-DFT)
Stars: ✭ 23 (-80.17%)
Mutual labels:  computational-chemistry, quantum-chemistry
chemlib
🧪 A comprehensive chemistry library for Python.
Stars: ✭ 26 (-77.59%)
Mutual labels:  chemistry, periodic-table
mendeleev
A python package for accessing various properties of elements, ions and isotopes in the periodic table of elements.
Stars: ✭ 107 (-7.76%)
Mutual labels:  chemistry, periodic-table
Psi4
Open-Source Quantum Chemistry – an electronic structure package in C++ driven by Python
Stars: ✭ 521 (+349.14%)
Mutual labels:  chemistry, quantum-chemistry
EzReson
An efficient toolkit for chemical resonance analysis based on quantum chemistry calculations. It implements the quantitative theory of resonance by expansion of the wave function from a DFT/HF calculation in terms of those of the Lewis structures.
Stars: ✭ 14 (-87.93%)
Mutual labels:  chemistry, quantum-chemistry
Nwchem
NWChem: Open Source High-Performance Computational Chemistry
Stars: ✭ 227 (+95.69%)
Mutual labels:  chemistry, quantum-chemistry
atom-pwa
Learn the basics of chemistry doing the tests and using the periodic table
Stars: ✭ 41 (-64.66%)
Mutual labels:  chemistry, periodic-table
pylj
Teaching Utility for Classical Atomistic Simulation.
Stars: ✭ 23 (-80.17%)
Mutual labels:  chemistry, computational-chemistry
periodic-table.io
periodic-table.io
Stars: ✭ 37 (-68.1%)
Mutual labels:  chemistry, periodic-table
Molecular Design Toolkit
Notebook-integrated tools for molecular simulation and visualization
Stars: ✭ 123 (+6.03%)
Mutual labels:  chemistry, quantum-chemistry

QCElemental

Build Status codecov Language grade: Python Documentation Status Chat on Slack python

QCElemental is a resource module for quantum chemistry containing 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.

It is intended to keep the QCElemental code compatible with Python 3.6+ as long as dependencies allow. Packages are assured for Python 3.8+.

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 tmost 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'}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].