epyr.physics.conversions
Direct conversion functions for EPR spectroscopy
Provides simple, direct conversion functions between common EPR units: MHz, mT, cm-1, and related energy/field conversions.
Functions
|
Convert wavenumber in cm^-1 to frequency in MHz. |
Show practical examples of EPR unit conversions. |
|
|
Log an energy conversion table covering cm⁻¹, MHz, GHz, eV, K, meV. |
Log a frequency-vs-field conversion table for common EPR bands. |
|
|
Convert frequency in MHz to wavenumber in cm^-1. |
|
Convert frequency in MHz to magnetic field in mT. |
|
Convert magnetic field in mT to frequency in MHz. |
- epyr.physics.conversions.mhz_to_mt(frequency_mhz, g_factor=None)[source]
Convert frequency in MHz to magnetic field in mT.
Uses the fundamental EPR relation: B = h*nu / (g*mu_B)
Parameters:
- frequency_mhzfloat or array
Frequency in MHz
- g_factorfloat or array, optional
g-factor (defaults to free electron g-factor = 2.002319…)
Returns:
- float or array
Magnetic field in mT
Examples:
>>> # X-band EPR frequency >>> field = mhz_to_mt(9500) # 9.5 GHz >>> print(f"Field: {field:.1f} mT")
>>> # Different g-factors >>> fields = mhz_to_mt(9500, g_factor=[2.000, 2.005, 2.010]) >>> print(f"Fields: {fields}")
- epyr.physics.conversions.mt_to_mhz(field_mt, g_factor=None)[source]
Convert magnetic field in mT to frequency in MHz.
Uses the fundamental EPR relation: nu = g*mu_B*B / h
Parameters:
- field_mtfloat or array
Magnetic field in mT
- g_factorfloat or array, optional
g-factor (defaults to free electron g-factor = 2.002319…)
Returns:
- float or array
Frequency in MHz
Examples:
>>> # What frequency for 340 mT field? >>> freq = mt_to_mhz(340) >>> print(f"Frequency: {freq:.1f} MHz")
>>> # Array of fields >>> freqs = mt_to_mhz([100, 200, 300, 400]) >>> print(f"Frequencies: {freqs}")
- epyr.physics.conversions.cm_inv_to_mhz(wavenumber_cm_inv)[source]
Convert wavenumber in cm^-1 to frequency in MHz.
Uses the relation: nu = c * wavenumber where c is the speed of light.
Parameters:
- wavenumber_cm_invfloat or array
Wavenumber in cm^-1
Returns:
- float or array
Frequency in MHz
Examples:
>>> # Convert 1000 cm^-1 to MHz >>> freq = cm_inv_to_mhz(1000) >>> print(f"Frequency: {freq:.3e} MHz")
>>> # Array conversion >>> freqs = cm_inv_to_mhz([100, 500, 1000, 2000]) >>> print(f"Frequencies: {freqs}")
- epyr.physics.conversions.mhz_to_cm_inv(frequency_mhz)[source]
Convert frequency in MHz to wavenumber in cm^-1.
Uses the relation: wavenumber = nu / c where c is the speed of light.
Parameters:
- frequency_mhzfloat or array
Frequency in MHz
Returns:
- float or array
Wavenumber in cm^-1
Examples:
>>> # Convert 30000 MHz (30 GHz) to cm^-1 >>> wn = mhz_to_cm_inv(30000) >>> print(f"Wavenumber: {wn:.3f} cm^-1")
>>> # Array conversion >>> wns = mhz_to_cm_inv([1000, 5000, 10000, 30000]) >>> print(f"Wavenumbers: {wns}")
- epyr.physics.conversions.frequency_field_conversion_table(frequencies_ghz=None, g_factors=None)[source]
Log a frequency-vs-field conversion table for common EPR bands.
- Parameters:
- Returns:
Output goes through the module logger; nothing is returned.
- Return type:
None
Examples
>>> from epyr.physics import frequency_field_conversion_table >>> frequency_field_conversion_table(frequencies_ghz=[9.5]) # X-band only
- epyr.physics.conversions.energy_conversion_table(energies_cm_inv=None)[source]
Log an energy conversion table covering cm⁻¹, MHz, GHz, eV, K, meV.
- Parameters:
energies_cm_inv (list of float, optional) – Wavenumbers in cm⁻¹. Default
[1, 10, 100, 1000, 5000, 10000], covering the typical EPR / zero-field-splitting range.- Return type:
None
Examples
>>> from epyr.physics import energy_conversion_table >>> energy_conversion_table(energies_cm_inv=[1, 1000])