epyr.physics.constants

Physical constants for EPR/NMR spectroscopy All values from 2022 CODATA recommendations with proper units and uncertainties Constants available in both SI and CGS units.

Functions

avogadro([return_uncertainty])

Avogadro constant in SI units (mol⁻¹).

bmagn([return_uncertainty])

Bohr magneton in SI units (J T⁻¹).

boltzm([return_uncertainty])

Boltzmann constant in SI units (J⋅K⁻¹).

clight()

Speed of light in vacuum in SI units (m⋅s⁻¹).

constants_summary()

Print summary of all physical constants with units and values.

echarge([return_uncertainty])

Elementary charge in SI units (C).

evolt([return_uncertainty])

Electron volt in SI units (J).

frequency_to_magnetic_field(freq_hz[, g_factor])

Convert frequency to magnetic field.

gamma_hz([g_factor])

Calculate gyromagnetic ratio in Hz/T for any g-factor.

gfree([return_uncertainty])

Free electron g-factor (dimensionless).

hbar()

Reduced Planck constant ℏ = h/(2π) in SI units (J⋅s).

magnetic_field_to_frequency(B_tesla[, g_factor])

Convert magnetic field to resonance frequency.

nmagn([return_uncertainty])

Nuclear magneton in SI units (J⋅T⁻¹).

planck()

Planck constant in SI units (J⋅s = J⋅Hz⁻¹).

thermal_energy(temperature_k)

Thermal energy k_B T at given temperature.

wavelength_to_frequency(wavelength_m)

Convert wavelength to frequency.

epyr.physics.constants.gfree(return_uncertainty=False)[source]

Free electron g-factor (dimensionless).

Parameters:

return_uncertaintybool

If True, return (value, standard_uncertainty)

Returns:

float or tuple

Free electron g-factor (dimensionless)

References:

2022 CODATA recommended values

Parameters:

return_uncertainty (bool)

Return type:

float | Tuple[float, float]

epyr.physics.constants.bmagn(return_uncertainty=False)[source]

Bohr magneton in SI units (J T⁻¹).

Parameters:

return_uncertaintybool

If True, return (value, standard_uncertainty)

Returns:

float or tuple

Bohr magneton in J T⁻¹

References:

2022 CODATA recommended values

Parameters:

return_uncertainty (bool)

Return type:

float | Tuple[float, float]

epyr.physics.constants.planck()[source]

Planck constant in SI units (J⋅s = J⋅Hz⁻¹).

Returns:

float

Planck constant in J⋅s

References:

2019 SI redefinition, exact value

Return type:

float

epyr.physics.constants.hbar()[source]

Reduced Planck constant ℏ = h/(2π) in SI units (J⋅s).

Returns:

float

Reduced Planck constant in J⋅s

Return type:

float

epyr.physics.constants.clight()[source]

Speed of light in vacuum in SI units (m⋅s⁻¹).

Returns:

float

Speed of light in m⋅s⁻¹

References:

1983 SI redefinition, exact value

Return type:

float

epyr.physics.constants.boltzm(return_uncertainty=False)[source]

Boltzmann constant in SI units (J⋅K⁻¹).

Parameters:

return_uncertaintybool

If True, return (value, standard_uncertainty)

Returns:

float or tuple

Boltzmann constant in J⋅K⁻¹

References:

2019 SI redefinition, exact value

Parameters:

return_uncertainty (bool)

Return type:

float | Tuple[float, float]

epyr.physics.constants.avogadro(return_uncertainty=False)[source]

Avogadro constant in SI units (mol⁻¹).

Parameters:

return_uncertaintybool

If True, return (value, standard_uncertainty)

Returns:

float or tuple

Avogadro constant in mol⁻¹

References:

2019 SI redefinition, exact value

Parameters:

return_uncertainty (bool)

Return type:

float | Tuple[float, float]

epyr.physics.constants.nmagn(return_uncertainty=False)[source]

Nuclear magneton in SI units (J⋅T⁻¹).

Parameters:

return_uncertaintybool

If True, return (value, standard_uncertainty)

Returns:

float or tuple

Nuclear magneton in J⋅T⁻¹

References:

2022 CODATA recommended values

Parameters:

return_uncertainty (bool)

Return type:

float | Tuple[float, float]

epyr.physics.constants.echarge(return_uncertainty=False)[source]

Elementary charge in SI units (C).

Parameters:

return_uncertaintybool

If True, return (value, standard_uncertainty)

Returns:

float or tuple

Elementary charge in C

References:

2019 SI redefinition, exact value

Parameters:

return_uncertainty (bool)

Return type:

float | Tuple[float, float]

epyr.physics.constants.evolt(return_uncertainty=False)[source]

Electron volt in SI units (J).

Parameters:

return_uncertaintybool

If True, return (value, standard_uncertainty)

Returns:

float or tuple

Electron volt in J

References:

2019 SI redefinition, exact value (e × 1V)

Parameters:

return_uncertainty (bool)

Return type:

float | Tuple[float, float]

epyr.physics.constants.gamma_hz(g_factor=None)[source]

Calculate gyromagnetic ratio in Hz/T for any g-factor.

The gyromagnetic ratio relates frequency to magnetic field: ν = γ B where γ = g μ_B / h

Parameters:

g_factorfloat, optional

g-factor (defaults to free electron g-factor)

Returns:

float

Gyromagnetic ratio in Hz/T

Examples:

>>> # Free electron gyromagnetic ratio
>>> gamma_e = gamma_hz()
>>> print(f"Free electron: {gamma_e:.3e} Hz/T")
>>> # Custom g-factor
>>> gamma_custom = gamma_hz(2.005)
>>> print(f"g=2.005: {gamma_custom:.3e} Hz/T")
>>> # Calculate resonance frequency
>>> B = 0.34  # Tesla (X-band field)
>>> freq = gamma_hz() * B
>>> print(f"X-band frequency: {freq/1e9:.2f} GHz")
Parameters:

g_factor (float | None)

Return type:

float

epyr.physics.constants.magnetic_field_to_frequency(B_tesla, g_factor=None)[source]

Convert magnetic field to resonance frequency.

Uses the fundamental EPR/NMR relation: ν = γB = gμ_B B/h

Parameters:

B_teslafloat

Magnetic field in Tesla

g_factorfloat, optional

g-factor (defaults to free electron g-factor)

Returns:

float

Resonance frequency in Hz

Examples:

>>> # X-band EPR at ~9.5 GHz
>>> B = 0.34  # Tesla
>>> freq = magnetic_field_to_frequency(B)  # Hz
>>> print(f"Frequency: {freq/1e9:.2f} GHz")
Parameters:
Return type:

float

epyr.physics.constants.frequency_to_magnetic_field(freq_hz, g_factor=None)[source]

Convert frequency to magnetic field.

Parameters:

freq_hzfloat

Frequency in Hz

g_factorfloat, optional

g-factor (defaults to free electron g-factor)

Returns:

float

Magnetic field in Tesla

Examples:

>>> # What field for 9.5 GHz EPR?
>>> freq = 9.5e9  # Hz
>>> B = frequency_to_magnetic_field(freq)
>>> print(f"Magnetic field: {B*1000:.1f} mT")
Parameters:
Return type:

float

epyr.physics.constants.thermal_energy(temperature_k)[source]

Thermal energy k_B T at given temperature.

Parameters:

temperature_kfloat

Temperature in Kelvin

Returns:

float

Thermal energy in J

Examples:

>>> # Room temperature thermal energy
>>> E_thermal = thermal_energy(295)  # K
>>> print(f"kT = {E_thermal/(1.602176634e-19):.3f} meV")
Parameters:

temperature_k (float)

Return type:

float

epyr.physics.constants.wavelength_to_frequency(wavelength_m)[source]

Convert wavelength to frequency.

Parameters:

wavelength_mfloat

Wavelength in meters

Returns:

float

Frequency in Hz

Examples:

>>> # 3 cm microwave wavelength
>>> freq = wavelength_to_frequency(0.03)  # m
>>> print(f"Frequency: {freq/1e9:.1f} GHz")
Parameters:

wavelength_m (float)

Return type:

float

epyr.physics.constants.constants_summary()[source]

Print summary of all physical constants with units and values.