# Ionized Hydrogen models¶

## Hydrogen Models¶

Hydrogen in HII regions is typically assumed to follow Case B recombination theory.

The values for the Case B recombination coefficients are given by Hummer & Storey (1987). They are also computed in Hummer (1994) and tabulated at a wiki. I had to OCR and pull out by hand some of the coefficients.

However, Storey & Hummer 1995 might be a better resource now? https://cdsarc.unistra.fr/viz-bin/cat/VI/64

### Module API¶

pyspeckit.spectrum.models.hydrogen.add_to_registry(sp)[source] [github] [bitbucket]

Add the Hydrogen model to the Spectrum’s fitter registry

pyspeckit.spectrum.models.hydrogen.find_lines(xarr)[source] [github] [bitbucket]

Given a pyspeckit.units.SpectrosopicAxis instance, finds all the lines that are in bounds. Returns a list of line names.

pyspeckit.spectrum.models.hydrogen.hydrogen_fitter(sp, temperature=10000, tiedwidth=False)[source] [github] [bitbucket]

Generate a set of parameters identifying the hydrogen lines in your spectrum. These come in groups of 3 assuming you’re fitting a gaussian to each. You can tie the widths or choose not to.

temperature [ 5000, 10000, 20000 ]
The case B coefficients are computed for 3 temperatures
tiedwidth [ bool ]
Should the widths be tied?

Returns a list of tied and guesses in the xarr’s units

pyspeckit.spectrum.models.hydrogen.hydrogen_model(xarr, amplitude=1.0, width=0.0, velocity=0.0, a_k=0.0, temperature=10000)[source] [github] [bitbucket]

Generate a set of parameters identifying the hydrogen lines in your spectrum. These come in groups of 3 assuming you’re fitting a gaussian to each. You can tie the widths or choose not to.

Parameters: sp : pyspeckit.Spectrum The spectrum to fit temperature : [ 5000, 10000, 20000 ] The case B coefficients are computed for 3 temperatures a_k : float The K-band extinction normalized to 2.2 microns. Simple exponential. width : float Line width in km/s velocity : float Line center in km/s amplitude : float arbitrary amplitude of the first line (all other lines will be scaled to this value) np.ndarray with same shape as sp.xarr :
pyspeckit.spectrum.models.hydrogen.rrl(n, dn=1, amu=1.007825, Z=1)[source] [github] [bitbucket]

compute Radio Recomb Line freqs in GHz from Brown, Lockman & Knapp ARAA 1978 16 445

UPDATED:
Gordon & Sorochenko 2009, eqn A6
Parameters: n : int The number of the lower level of the recombination line (H1a is Lyman alpha, for example) dn : int The delta-N of the transition. alpha=1, beta=2, etc. amu : float The mass of the central atom Z : int The ionization parameter for the atom. Z=1 is neutral, Z=2 is singly ionized, etc. For hydrogen, only z=1 makes sense, since ionized hydrogen has no electrons and therefore cannot have recombination lines. frequency in GHz :