broadening¶
- starkzee.broadening.calculate_plasma_frequency(Ne_m3)[source]¶
Return the electron plasma angular frequency ω_p [rad s⁻¹].
The plasma frequency sets the lower cutoff for electron-impact broadening: perturbations with frequency ω < ω_p are screened by collective plasma oscillations and do not contribute to individual collisions.
ω_p = √(N_e e² / (ε₀ m_e))
- starkzee.broadening.calculate_larmor_frequency(B)[source]¶
Return the electron Larmor (cyclotron) angular frequency ω_L [rad s⁻¹].
In a magnetic field B the electron gyrates at
ω_L = e B / m_e
This frequency acts as a lower cutoff for the GBK electron-broadening model when it exceeds both ω_p and ω_e: cyclotron motion prevents an electron from approaching the radiator more closely than the cyclotron radius, reducing the effective cross-section at low detunings.
- starkzee.broadening.calculate_configuration_frequency(Ne_m3, Te_ev)[source]¶
Return the ion-configuration change frequency ω_e = 2π / τ_e [rad s⁻¹].
τ_e is the mean time for an electron to cross the inter-particle distance r_e at the thermal velocity v_th:
r_e = (3 / 4π N_e)^(1/3) — mean inter-electron spacing v_th = √(k_B T_e / m_e) — thermal speed (non-relativistic) τ_e = r_e / v_th ω_e = 2π / τ_e
ω_e represents the typical rate at which the local electric field seen by the radiator changes due to electron motion, and is used as a lower cutoff in the GBK broadening model.
- starkzee.broadening.calculate_electron_impact_prefactor(Ne_m3, Te_ev)[source]¶
Return the electron-impact width prefactor W₀ [eV].
The total electron-impact half-width is
W_e = W₀ × ⟨r²⟩_n × [C_n + G(Δω)]
where ⟨r²⟩_n is the statistically averaged squared radius of the upper level (in a₀²), C_n is a strong-collision constant, and G is the GBK dynamical factor. W₀ combines the electron density, temperature, and fundamental constants into a single prefactor:
W₀ = (4π/3) N_e √(2m_e / (π k_B T_e)) × (ħ/m_e)² × (ħ/e)
The factor (ħ/m_e)² converts the squared velocity integral from SI to atomic-unit area, and (ħ/e) converts rad s⁻¹ to eV.
- starkzee.broadening.gbk_model(delta_omega_ev, omega_c_ev, Te_ev, Z, n=2)[source]¶
Evaluate the semi-classical GBK dynamical broadening function G(Δω).
The Griem–Baranger–Kolb (GBK) model accounts for the frequency dependence of electron-impact broadening using an exponential-integral form:
G(Δω) = ½ E₁(y)
where E₁ is the exponential integral and the dimensionless argument is
y = (n² / 2Z)² × (Δω² + ω_c²) / (E_H T_e)
with E_H = 2 Ry the Hartree energy and T_e in eV. At line center (Δω = 0) G reduces to ½ E₁((n²/2Z)² ω_c² / (E_H T_e)) ≈ a positive constant; in the far wings where Δω ≫ ω_c the argument y grows and G → 0, suppressing the broadening at large detunings (the impact approximation breaks down).
The cutoff frequency ω_c = max(ω_p, ω_e, ω_L) prevents the logarithm from diverging at small impact parameters and encodes the transition from the impact regime to the quasi-static regime.
- Parameters:
delta_omega_ev (
floatorarray-like) – Frequency detuning from line center Δω [eV].omega_c_ev (
float) – Cutoff angular frequency ω_c [eV] (= ħ ω_c in SI units).Te_ev (
float) – Electron temperature [eV].Z (
int) – Nuclear charge of the radiating ion.n (
int, optional) – Principal quantum number of the upper level (default 2).
- Returns:
Dimensionless GBK factor G(Δω) ≥ 0.
- Return type:
floatorndarray
References
Griem, Baranger, Kolb & Oertel, Phys. Rev. 116, 4 (1959).
- starkzee.broadening.electron_impact_width(delta_omega_ev, Ne_m3, Te_ev, B, Z, n=2)[source]¶
Return the total electron-impact half-width W_e(Δω) [eV].
Implements the frequency-dependent GBK model for electron Stark broadening, extended to include a magnetic-field-dependent cutoff frequency. The total half-width (HWHM of the Lorentzian) is:
W_e(Δω) = W₀ × ⟨r²⟩_n × [C_n + G(Δω, ω_c)]
Prefactor W₀ — see
calculate_electron_impact_prefactor().Mean squared radius ⟨r²⟩_n is the statistical (2l+1)-weighted average of ⟨r²⟩_{n,l} over all l subshells:
⟨r²⟩_{n,l} = (n²/2Z²) [5n² + 1 − 3l(l+1)] [a₀²] ⟨r²⟩_n = (1/n²) Σ_{l=0}^{n-1} (2l+1) ⟨r²⟩_{n,l}
Scales approximately as n⁴/Z², so broadening grows rapidly with n.
Strong-collision constant C_n (from Table 1 of Ferri et al. 2021):
n
C_n
≤ 2
1.50
3, 4
0.75
≥ 5
0.40
Cutoff frequency ω_c = max(ω_p, ω_L, ω_e) where ω_p is the plasma frequency, ω_L the electron Larmor frequency, and ω_e the configuration change frequency. The magnetic field raises ω_c at high B, reducing the resonant broadening contribution.
- Parameters:
delta_omega_ev (
floatorarray-like) – Frequency detuning from line center Δω [eV]. Pass0.0for the on-resonance (line-center) width.Ne_m3 (
float) – Electron number density [m⁻³].Te_ev (
float) – Electron temperature [eV].B (
float) – Magnetic field [T].B=0is valid; ω_L = 0 in that case.Z (
int) – Nuclear charge of the radiating ion (1 for hydrogen).n (
int, optional) – Principal quantum number of the upper level (default 2). The width refers to the upper-level broadening only; the lower-level contribution is neglected, consistent with the semi-classical model.
- Returns:
Electron-impact half-width W_e [eV] (HWHM of the Lorentzian component at detuning Δω). Always positive.
- Return type:
floatorndarray
Notes
A negligible floor of 1e-10 eV is added by the caller in
calculate_static_profile()solely to prevent 0/0 in the Lorentzian at exactly zero density; the raw value returned here is the physical width without that floor.