epyr.physics.units

Unit conversion utilities for EPR/NMR spectroscopy

Converts between common spectroscopic units: cm⁻¹, eV, K, mT, MHz All conversions use 2022 CODATA physical constants for accuracy.

Functions

demo_conversions()

Demonstrate common unit conversions in EPR spectroscopy.

list_conversions()

List all supported unit conversions.

unitconvert(value, units[, g_factor])

Convert between spectroscopic units.

epyr.physics.units.unitconvert(value, units, g_factor=None)[source]

Convert between spectroscopic units.

Supported conversions: - cm⁻¹ ↔ eV, K, mT, MHz - eV ↔ cm⁻¹, K, mT, MHz - K ↔ cm⁻¹, eV, mT, MHz - mT ↔ cm⁻¹, eV, K, MHz - MHz ↔ cm⁻¹, eV, K, mT

Parameters:
  • value (float or array) – Input value(s) to convert

  • units (str) – Conversion string in format ‘unit_from->unit_to’ e.g., ‘cm^-1->MHz’, ‘eV->mT’

  • g_factor (float or array, optional) – g-factor for magnetic field conversions Defaults to free electron g-factor (2.002319…)

Returns:

Converted value(s)

Return type:

float or array

Examples

>>> # Convert wavenumbers to frequency
>>> freq = unitconvert(1000, 'cm^-1->MHz')  # 1000 cm⁻¹ to MHz
>>> print(f"{freq:.3f} MHz")
>>> # Convert with custom g-factor
>>> field = unitconvert(100, 'cm^-1->mT', g_factor=2.005)
>>> print(f"{field:.2f} mT")
>>> # Vector conversion
>>> energies = np.array([100, 200, 300])  # cm⁻¹
>>> temps = unitconvert(energies, 'cm^-1->K')
>>> print(f"Temperatures: {temps}")
epyr.physics.units.list_conversions()[source]

List all supported unit conversions.

epyr.physics.units.demo_conversions()[source]

Demonstrate common unit conversions in EPR spectroscopy.