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)