**xstar:**- Main program.
**dsec:**- calculate thermal equilibrium and charge neutrality using secant
method
**ener:**- set up energy grid
**func:**- calculate all ion fractions, level populations, heating, cooling,
emissivities and opacities.
**func1:**- calculate rates affecting ion fractions
**func2:**- calculate rates affecting level populations
**func2a:**- calculate rates affecting level populations due to Auger
and inner shell photoionization
**func2i:**- calculate number of bound levels for an ion
**func3:**- calculate heating-cooling rates, opacities and emissivities.
**init:**- initialization. Zeroes most variables
**heatt:**- total heating and cooling rate calculation, and calculation
of radiation fields (i.e. radiative transfer solution).
**msolvelucy:**- Level population calculation
**ioneqm:**- calculation ion fractions (for first pass).
**istruc:**- calculate ion abundances (for first pass)
**invert:**- used to prepare for next iteration of global calculation
**step:**- calculates spatial step size
**stpcut:**- update important quantities after each spatial step.
**trnfrc:**- calculates local continuum flux
**trnfrn:**- calculates transfer of diffusely emitted radiation.