McUtils.Data
Provides a small data framework for wrapping up datasets into classes for access and loading
Members:
- DataHandler
- DataError
- AtomData
- AtomDataHandler
- UnitsData
- UnitsDataHandler
- BondData
- BondDataHandler
- WavefunctionData
Examples:
We can work with atomic data. The key can be specified in multiple different ways.
from McUtils.Data import AtomData
assert isinstance(AtomData["H"], dict)
assert isinstance(AtomData["Hydrogen"], dict)
assert isinstance(AtomData["Helium3"], dict)
assert AtomData["Hydrogen2"] is AtomData["Deuterium"]
assert AtomData["H2"] is AtomData["Deuterium"]
assert AtomData["H1"] is AtomData["Hydrogen"]
assert AtomData[8] is AtomData["Oxygen"]
A fun property of isotopes
from McUtils.Data import AtomData
assert AtomData["Helium3", "Mass"] < AtomData["T"]["Mass"]
We can work with unit conversions. Inverse units are supplied using "Inverse..."
, prefixes can modify units (e.g. "Centi"
).
from McUtils.Data import UnitsData
assert UnitsData.data[("Hartrees", "InverseMeters")]["Value"] > 21947463.13
assert UnitsData.data[("Hartrees", "InverseMeters")]["Value"] == UnitsData.convert("Hartrees", "InverseMeters")
assert UnitsData.convert("Hartrees", "Wavenumbers") == UnitsData.convert("Hartrees", "InverseMeters") / 100
assert UnitsData.convert("Hartrees", "Wavenumbers") == UnitsData.convert("Centihartrees", "InverseMeters")
Atomic units, as a general system, are supported
from McUtils.Data import UnitsData
assert UnitsData.convert("AtomicMassUnits", "AtomicUnitOfMass") == UnitsData.convert("AtomicMassUnits", "ElectronMass")
assert UnitsData.convert("Wavenumbers", "AtomicUnitOfEnergy") == UnitsData.convert("Wavenumbers", "Hartrees")
Edit Examples or
Create New Examples
Edit Template or
Create New Template
Edit Docstrings