redback.transient_models.spectral_models.voigt_profile
- redback.transient_models.spectral_models.voigt_profile(wavelength, lambda_center, amplitude, sigma_gaussian, gamma_lorentz, continuum=0.0)[source]
Voigt profile: convolution of Gaussian and Lorentzian line profiles
Useful for modeling spectral lines where both thermal broadening (Gaussian) and natural/pressure broadening (Lorentzian) are important.
- Parameters:
wavelength (array) – Wavelength array in Angstroms
lambda_center (float) – Central wavelength of the line in Angstroms
amplitude (float) – Peak amplitude of the profile (can be negative for absorption)
sigma_gaussian (float) – Gaussian width parameter in Angstroms (thermal broadening)
gamma_lorentz (float) – Lorentzian HWHM parameter in Angstroms (natural/pressure broadening)
continuum (float) – Continuum level (default 0.0)
- Returns:
flux – Voigt profile at each wavelength
- Return type:
array
References
Schreier 2018 (JQSRT, 213, 13) - Voigt function review
Approximation based on Faddeeva function
Notes
The Voigt profile is defined as the real part of the Faddeeva function: V(x, y) = Re[w(z)] where z = (x + iy)/sqrt(2) with x = (wavelength - lambda_center)/(sigma_gaussian * sqrt(2)) and y = gamma_lorentz / (sigma_gaussian * sqrt(2))
Examples
>>> # H-alpha line with thermal and pressure broadening >>> wave = np.linspace(6560, 6570, 1000) >>> flux = voigt_profile(wave, lambda_center=6563.0, amplitude=1.0, ... sigma_gaussian=0.5, gamma_lorentz=0.2)