Geometric Solvers¶
The geometric solvers calculate ionization and/or temperature structure in simple spherical and planar geometries. The systems are discretized into layers and the attenuation of radiation is calculated in each. Sweeps are made through the layers during which the appropriate single zone solver is called in each layer. The sweeps continue until convergence is achieved.
SlabPln
:- A planar gas distribution with plane parallel radiation incident from one side.
Slab2Pln
:- A planar gas distribution with plane parallel radiation incident from both sides.
Slab2Bgnd
:- A planar gas distribution with an isotropic radiation field incident from both sides.
SphereStromgren
:- A spherically symmetric gas distribution with a point source at the center.
SphereBgnd
:- A spherically symmetric gas distribution in a uniform background radiation field.
Positional Arguments¶
All geometric classes share a common set of arguments. The positional (i.e. mandatory) arguments describe the gas distribution.
Args:
Edges (array): Position of discrete elements.
T (array): Temperature in each discrete element.
nH (array): Hydrogen number density in each discrete element.
nHe (array): Helium number density in each discrete element.
rad_src (
PointSource
,PlaneSource
, orBackgroundSource
): Radiation sources.
The first argument, Edges, describes the edges of each layer. For slabs, Edges is the distance from one of the illuminated surfaces of the slab to each layer edge. For spheres, Edges is the distance from the center of the sphere to each spherical layer edge. For a system discretized into N layers, Edges is an array with N+1 entries. Most of the time, the first element should be zero and the last the thickness of the slab or radius of the sphere, but this is not required. The next three arguments, T, nH, and nHe, are arrays with N elements and describe the initial temperature and density in each layer. The final required argument(s) should be instances of classes describing sources of radiation.
Keyword Arguments¶
Many keyword (i.e. optional) arguments are shared among the geometric classes and can be used to change the default solver behaviour.
Recombination¶
The default solver behaviour is to use case A recombination rates in each discrete element. These keyword arguments alter this behaviour.
Kwargs:
rec_meth (string): How to treat recombinations {
fixed
,outward
,radial
,ray
}fixed_fcA (float): If rec_meth =
fixed
, constant case A fraction.
If rec_meth = fixed
a constant case A fraction will be used in each
discrete element. The keyword fixed_fcA sets this value. If fixed_fcA
is set to 1.0
then case A rates are used throughout and recombination
radiation is ignored. If fixed_fcA is set equal to 0.0
then case B
rates are used throughout. This is known as the on-the-spot approximation.
Setting fixed_fcA to a float between 0.0
and 1.0
will produce
results bracketed by case A and case B results.
In spherical geometries, one can also choose to set rec_meth to outward
,
radial
, or isotropic
. If this is done, case A recombination rates are
used, and recombination radiation is transported through the density field.
For rec_meth = outward
, all recombination radiation is transported
radially outward (see [Ritzerveld05]). For rec_meth = radial
,
recombination radiation is transported radially inward and outward. For
rec_meth = isotropic
, recombination radiation is transported
isotropically from each layer. The last is the most realistic option.
In planar geometries, one can choose to set rec_meth to ray
. If this
is done, case A rates are used and recombination radiation contributes an
isotropic flux from each slab layer which is transported through the density
field.
Other¶
Kwargs:
find_Teq (bool): If
False
, use fixed input T, ifTrue
solve for equilibrium T (i.e. useSolve_PCTE
as the single zone solver in each element).z (float): Redshift, only need if find_Teq =
True
tol (float): tolerance for all convergence tests
thin (bool): if
True
radiation is not attenuated by passage through absorbing gas.
If the find_Teq keyword is set to True
, photo collisional thermal
equilibrium will be found in each discrete element and the user must provide
a redshift, z. If the thin keyword is set to True
, it is assumed that
the radiation is not attenuated by passage through the discrete elements and
optically thin values for the photoionization and/or photoheating rates are
used. The argument tol is a general slider in which lower values produce
longer run times but more accurate results. It is the deviation from unity
allowed in the sum of the electron number density over all discrete elements
between consecutive iterations.