.. _ionization:
.. raw:: html
.. role:: dv
MCRT Ionization Equilibrium
===========================
This page explains the options for ionization equilibrium Monte Carlo radiative transfer (MCRT) simulations. The Ionization module produces self-consistent ionization states that can be used as initial conditions for emission lines with the MCRT module.
.. _Ionization General Parameters:
General Parameters
------------------
The following parameters are important module parameters:
* ``n_photons`` -- Number of photon packets used in the simulation.
:dv:`[Default value: 1]`
* ``n_photons_per_star`` -- Number of photon packets per star particle.
:dv:`[Optional]`
* ``n_photons_max`` -- Maximum number of photon packets allowed when ``n_photons_per_star`` is used.
:dv:`[Optional]`
* ``max_iter`` -- Maximum number of iterations for the radiative transfer and ionization solver.
:dv:`[Default value: 10 | Valid range: 1 < max_iter < 100]`
* ``max_error`` -- Relative error tolerance for convergence in the ionization solver. Note: Convergence is based on the global rate of hydrogen recombinations: :math:`\int \alpha_\text{B}(T) n_e n_\text{HII} \text{d}V`.
:dv:`[Default value: 0.01 | Valid range: 0 < max_error < 1]`
* ``max_error_pre`` -- Relative error tolerance for convergence in the pre-conditioning step of the ionization solver.
:dv:`[Default value: 0.01 | Valid range: max_error <= max_error_pre < 1]`
* ``n_photons_pre`` -- Number of pre-conditioning photon packets used in the simulation.
:dv:`[Default value: n_photons]`
* ``precondition`` -- Convenience factor to simultaneously decrease the number of photons and increase the max error used in the pre-conditioning step. If set to N, then ``n_photons_pre = n_photons / N`` and ``max_error_pre = max_error * N``.
:dv:`[Default value: 1 | Recommended value: 10]`
.. note:: The solver will stop if the relative error is less than ``max_error`` or if the maximum number of iterations is reached. To prevent updating the ionization states, set ``max_iter`` to 1. Experience shows that the ionization states converge faster when using ``precondition = 10``, which works well for most cases.
* ``charge_exchange`` -- Include charge exchange processes.
:dv:`[Default value: false]`
* ``dialectric_recombination`` -- Include dielectric recombination processes.
:dv:`[Default value: false]`
* ``output_abundances`` -- Flag to output ionization abundances for each cell, e.g., :math:`x_\text{HII} = n_\text{HII} / n_\text{H}`).
:dv:`[Default value: true]`
* ``output_iterations`` -- Flag to write intermediate ionization results after each iteration of the radiative transfer solver.
:dv:`[Default value: false]`
* ``n_skip_iterations`` -- Number of iterations to skip between writing intermediate ionization results.
:dv:`[Default value: 1 | Valid range: n_skip_iterations >= 1]`
* ``output_photons`` -- Flag to output escaped and absorbed photon packets.
:dv:`[Default value: true]`
* ``photon_file`` -- Output a separate photon file with this base name, e.g. "photons".
:dv:`[Optional]`
* ``output_n_scat`` -- Flag to output the number of scattering events for photon packets.
:dv:`[Compile-time parameter | Default value: false]`
* ``output_absorption_distance`` -- Flag to output the distance traveled until undergoing absorption.
:dv:`[Default value: false]`
* ``output_source_position`` -- Flag to output the emission position for photon packets.
:dv:`[Default value: false]`
* ``output_{atom}_absorption`` -- Flag to output the absorption due to a specific atom over all ionization species for photon packets.
:dv:`[Default value: false]`
* ``output_{ion}_absorption`` -- Flag to output the absorption due to a specific ion for photon packets.
:dv:`[Default value: false]`
.. note:: The ``{atom}`` placeholder should be replaced with the atom name, which can be any of the following: ``hydrogen``, ``helium``, ``carbon``, ``nitrogen``, ``oxygen``, ``neon``, ``magnesium``, ``silicon``, ``sulfer``, and ``iron``. The ``{ion}`` placeholder should be replaced with the ion name, which can be any of the following: ``HI``, ``HeI``, ``HeII``, ``CI``, ``CII``, ``CIII``, etc.
.. _Ionization Ion Parameters:
Ionization Parameters
---------------------
These parameters control which ions are included in the simulation:
* ``ion_max_eV`` -- Maximum ionization threshold energy to include.
:dv:`[Default value: 100 | Units: eV]`
* ``helium_ions`` -- Flag to include all helium ions.
:dv:`[Default value: true]`
* ``HeI_ion`` and ``HeII_ion`` -- Include HeI and HeII ionization.
:dv:`[Default value: helium_ions]`
* ``metal_ions`` -- Flag to include metal ions, i.e. ``C``, ``N``, ``O``, ``Ne``, ``Mg``, ``Si``, ``S``, and ``Fe``.
:dv:`[Default value: false]`
* ``{atom}_ions`` -- Flag to include all ions for a specific atom, e.g., ``silicon_ions`` for all silicon ions up to ``ion_max_eV``.
:dv:`[Default value: metal_ions]`
* ``{ion}_ion`` -- Flag to include a specific ion, e.g., ``SiIV`` for all ions up to SiIV.
:dv:`[Default value: {atom}_ions]`
* ``ion_bins`` -- Include frequency bin edges corresponding to ionization thresholds of all ions.
:dv:`[Default value: false]`
* ``metal_bins`` -- Include frequency bin edges corresponding to ionization thresholds of all metal ions.
:dv:`[Default value: false | Overrides ion_bins]`
* ``{atom}_bins`` -- Include frequency bin edges corresponding to ionization thresholds of all ions for a specific atom.
:dv:`[Default value: false | Overrides ion_bins and metal_bins]`
* ``{ion}_bin`` -- Include a frequency bin edge corresponding to the ionization threshold of a specific ion.
:dv:`[Default value: false | Overrides {atom}_bins]`
* ``min_bin_eV`` -- Lower limit of the lowest energy bin.
:dv:`[Optional | Units: eV]`
* ``min_bin_angstrom`` -- Lower limit of the lowest energy bin in angstroms.
:dv:`[Optional | Units: angstrom]`
* ``max_bin_eV`` -- Upper limit of the highest energy bin.
:dv:`[Default value: Corresponds to 1 angstrom | Units: eV]`
* ``max_bin_angstrom`` -- Upper limit of the highest energy bin in angstroms.
:dv:`[Optional | Units: angstrom]`
* ``max_bin_dex`` -- Maximum frequency bin width in dex (logarithmic scale).
:dv:`[Optional | Valid range: > 0]`
.. _Ionization Dust Parameters:
Dust Parameters
---------------
These parameters define the dust properties in the simulation:
* ``dust_model`` -- Dust model for the radiative transfer setting the dust opacity, albedo, and anisotropy parameters.
:dv:`[Options: SMC, MW, LAURSEN_SMC, filename]`
* ``kappa_HI``, ``kappa_HeI``, ``kappa_HeII`` -- Dust opacity in the HI, HeI, and HeII ionizing frequency bins, scaling the absorption coefficient by the dust mass: :math:`k_\text{dust} = \kappa_\text{dust} \rho_\text{dust}`.
:dv:`[Default value: Based on dust_model | Units: cm^2/g of dust]`
* ``albedo_HI``, ``albedo_HeI``, ``albedo_HeII`` -- Dust scattering albedo in the HI, HeI, and HeII ionizing frequency bins, defined as :math:`A = k_\text{scat} / (k_\text{abs} + k_\text{scat})`.
:dv:`[Default value: Based on dust_model and line | Valid range: 0 < albedo < 1]`
* ``cosine_HI``, ``cosine_HeI``, ``cosine_HeII`` -- Anisotropy parameter :math:`\langle \mu \rangle` for dust scattering in the HI, HeI, and HeII ionizing frequency bins.
:dv:`[Default value: Based on dust_model and line | Valid range: -1 < cosine < 1]`
.. _Ionization Radiation Source Parameters:
Radiation Source Parameters
---------------------------
These parameters define the radiation sources in the simulation:
* ``source_file_Z_age`` -- File containing source spectra tabulated as functions of metallicity and age.
:dv:``[Optional]``
* ``source_model`` -- Model for the stellar sources, most of which are predefined for HI, HeI, and HeII.
:dv:`[Default value: "" | Options: GMC, MRT, BC03-IMF-SOLAR, BC03-IMF-HALF-SOLAR, BC03-IMF, BPASS-IMF-135-100, BPASS-CHAB-100, custom]`
* ``f_esc_stars`` -- Escape fraction from stellar birth clouds (only applies to 13.6 eV and above).
:dv:`[Default value: 1 | Valid range: 0 < f_esc_stars < 1]`
* ``j_exp`` -- Luminosity boosting exponent for power-law emission biasing, i.e. probabilities are rescaled according to :math:`\propto \mathcal{L}_\text{cell}^{j_\text{exp}}` such that :math:`j_\text{exp} < 1` can better sample lower emissivity regions.
:dv:`[Default value: 1 | Valid range: 0 < j_exp < 1]`
* ``V_exp`` -- Volume boosting exponent for power-law emission biasing, i.e. probabilities are rescaled according to :math:`\propto V_\text{cell}^{V_\text{exp}}` such that :math:`V_\text{exp} < 1` can better sample smaller volume regions.
:dv:`[Default value: 1]`
* ``nu_exp`` -- Frequency boosting exponent for power-law emission biasing, i.e. probabilities are rescaled according to :math:`\propto \nu^{nu_\text{exp}}` such that :math:`nu_\text{exp} > 1` can better sample higher frequency bands.
:dv:`[Default value: 1]`
* ``HI_bias`` -- Additional frequency boost factor for HI ionizing photons above the minimum energy threshold (13.6 eV).
:dv:`[Default value: 1 | Valid range: >=1]`
.. * ``min_HI_bin_cdf`` -- Minimum cumulative distribution function (CDF) value for bins > 13.6 eV.
.. :dv:`[Default value: 0]`
.. _Ionization Gas Emission Parameters:
Gas Emission Parameters
~~~~~~~~~~~~~~~~~~~~~~~
These parameters control gas emission processes:
* ``free_free`` -- Include free-free continuum emission.
:dv:`[Default value: false]`
* ``free_bound`` -- Include free-bound continuum emission.
:dv:`[Default value: false]`
* ``two_photon`` -- Include two-photon continuum emission.
:dv:`[Default value: false]`
.. _Ionization AGN Source Parameters:
AGN Source Parameters
~~~~~~~~~~~~~~~~~~~~~
These parameters define the AGN sources in the simulation:
* ``AGN_model`` -- Model for the AGN source.
:dv:`[Optional | Options: Stalevski12, Lusso15]`
* ``Lbol_AGN`` -- Bolometric luminosity of the AGN. Can also be specified in solar luminosities.
:dv:`[Default value: 1e11 Lsun | Units: erg/s]`
.. _Ionization Point Source Parameters:
Point Source Parameters
~~~~~~~~~~~~~~~~~~~~~~~
These parameters define point sources in the simulation:
* ``point`` -- Point source position in `[x y z]` format.
:dv:`[Optional | Units: cm]`
* ``x_point``, ``y_point``, ``z_point`` -- Point source :math:`(x, y, z)` coordinates.
:dv:`[Optional | Units: cm]`
* ``T_point`` -- Temperature of the point source blackbody spectrum.
:dv:`[Required if point_source is true | Units: K]`
* ``Lbol_point`` -- Bolometric luminosity of the point source.
:dv:`[Optional | Units: erg/s]`
* ``L_point`` -- Luminosity of the point source in the specified energy range.
:dv:`[Optional | Units: erg/s]`
* ``Ndot_point`` -- Photon rate of the point source.
:dv:`[Optional | Units: photons/s]`
* ``kappa_point`` -- Dust opacity for the point source.
:dv:`[Default value: Based on dust_model | Units: cm^2/g of dust]`
* ``albedo_point`` -- Dust scattering albedo for the point source.
:dv:`[Default value: Based on dust_model | Valid range: 0 < albedo < 1]`
* ``cosine_point`` -- Dust scattering anisotropy parameter for the point source.
:dv:`[Default value: Based on dust_model | Valid range: -1 < cosine < 1]`
.. _Ionization Plane Source Parameters:
Plane Source Parameters
~~~~~~~~~~~~~~~~~~~~~~~
These parameters define plane sources in the simulation:
* ``plane_direction`` -- Direction of the plane source.
:dv:`[Options: '+x', '-x', '+y', '-y', '+z', '-z']`
* ``T_plane`` -- Temperature of the plane source blackbody spectrum.
:dv:`[Required if plane_source is true and source_file_Z_age is not specified | Units: K]`
* ``Sbol_plane`` -- Plane bolometric surface flux.
:dv:`[Optional | Units: erg/s/cm^2]`
* ``Lbol_plane`` -- Plane bolometric luminosity.
:dv:`[Optional | Units: erg/s]`
* ``L_plane`` -- Luminosity of the plane source in the specified energy range.
:dv:`[Optional | Units: erg/s]`
* ``Ndot_plane`` -- Photon rate of the plane source.
:dv:`[Optional | Units: photons/s]`
* ``plane_beam`` -- Use an ellipsoidal beam instead of a rectangular plane.
:dv:`[Default value: false]`
* ``plane_center_x_bbox``, ``plane_center_y_bbox``, ``plane_center_z_bbox`` -- Center of the plane source in bounding box units.
:dv:`[Valid range: 0 < value < 1]`
* ``plane_radius_x_bbox``, ``plane_radius_y_bbox``, ``plane_radius_z_bbox`` -- Radii of the plane source in bounding box units.
:dv:`[Valid range: > 0]`
* ``kappa_plane`` -- Dust opacity for the plane source.
:dv:`[Default value: Based on dust_model | Units: cm^2/g of dust]`
* ``albedo_plane`` -- Dust scattering albedo for the plane source.
:dv:`[Default value: Based on dust_model | Valid range: 0 < albedo < 1]`
* ``cosine_plane`` -- Dust scattering anisotropy parameter for the plane source.
:dv:`[Default value: Based on dust_model | Valid range: -1 < cosine < 1]`
.. _Ionization UV Background Parameters:
UV Background Parameters
~~~~~~~~~~~~~~~~~~~~~~~~
These parameters control the inclusion of a UV background:
* ``UVB_model`` -- UV background model to use.
:dv:`[Optional | Options: FG11, etc.]`
* ``self_shielding`` -- Include UV background self-shielding in dense regions.
:dv:`[Default value: false]`
.. _Ionization Output Parameters:
Probe Output Parameters
-----------------------
These parameters control various probe output options:
* ``output_stars`` -- Flag to output the emission and escape data for each star.
:dv:`[Default value: false]`
* ``output_cells`` -- Flag to output the emission and escape data for each cell.
:dv:`[Default value: false]`
* ``output_cells_UVB_HI`` -- Output cell UV background ionization for HI.
:dv:`[Default value: false | Units: photons/s]`
* ``output_cells_rec_{ion}`` -- Output cell recombination rates for a specific ion.
:dv:`[Default value: false | Units: photons/s]`
* ``output_cells_col_{ion}`` -- Output cell collisional ionization rates for a specific ion.
:dv:`[Default value: false | Units: photons/s]`
* ``output_cells_phot_{ion}`` -- Output cell photoionization rates for a specific ion.
:dv:`[Default value: false | Units: photons/s]`
* ``output_cells_cx_{ion}`` -- Output cell charge exchange rates for a specific ion.
:dv:`[Default value: false | Units: photons/s]`
* ``output_photoionization`` -- Flag to output species photoionization rate integrals for each cell.
:dv:`[Default value: false | Units: photons/s/carrier]`
* ``output_photoheating`` -- Flag to output the total photoheating rate for each cell.
:dv:`[Default value: false | Units: erg/s]`
* ``output_photon_density`` -- Flag to output the photon density for each cell and frequency bin.
:dv:`[Default value: false | Units: photons/cm^3]`
.. _Ionization Observed Output Parameters:
Observed Output Parameters
--------------------------
This section describes the output options for MCRT simulations, including angle-averages, peel-off cameras, and directional binning parameters.
.. _Ionization Escape Parameters:
Angle-averaged Parameters
~~~~~~~~~~~~~~~~~~~~~~~~~
The following parameters are related to angular-averaged escape options:
* ``output_radial_avg`` -- Output angle-averaged radial surface brightness.
:dv:`[Default value: false]`
* ``output_bin_radial_avg`` -- Output angle-averaged bin radial surface brightness.
:dv:`[Default value: false]`
.. _Ionization Camera Parameters:
Camera Parameters
~~~~~~~~~~~~~~~~~
The following parameters are related to cameras options:
* ``output_escape_fractions`` -- Output camera escape fractions.
:dv:`[Default value: true | Dimensions: (n_cameras)]`
* ``output_bin_escape_fractions`` -- Output bin escape fractions.
:dv:`[Default value: false | Dimensions: (n_cameras, n_bins)]`
* ``output_images`` -- Output surface brightness images.
:dv:`[Default value: true | Dimensions: (n_cameras, nx_pixels, ny_pixels) | Output units: photons/s/cm^2]`
* ``output_bin_images`` -- Output bin surface brightness images.
:dv:`[Default value: false | Dimensions: (n_cameras, nx_pixels, ny_pixels, n_bins) | Output units: photons/s/cm^2]`
* ``output_radial_images`` -- Output radial surface brightness images.
:dv:`[Default value: false | Dimensions: (n_cameras, n_radial_pixels) | Output units: photons/s/cm^2]`
* ``output_bin_radial_images`` -- Output bin radial surface brightness images.
:dv:`[Default value: false | Dimensions: (n_cameras, n_radial_pixels, n_bins) | Output units: photons/s/cm^2]`
* ``output_mcrt_emission`` -- Output intrinsic emission without transport based on MCRT sampling (also works for radial images).
:dv:`[Default value: false | Dimensions: (n_cameras, nx_pixels, ny_pixels) | Output units: photons/s/cm^2]`
* ``output_mcrt_attenuation`` -- Output attenuated emission without scattering based on MCRT sampling (also works for radial images).
:dv:`[Default value: false | Dimensions: (n_cameras, nx_pixels, ny_pixels) | Output units: photons/s/cm^2]`
.. _Ionization Healpix Binning Parameters:
Healpix Binning Parameters
~~~~~~~~~~~~~~~~~~~~~~~~~~
The following parameters are related to line-of-sight healpix binning options:
* ``n_exp_map`` -- Healpix exponent for the line-of-sight map, resulting in :math:`12 \times 4^{n_\text{exp,map}}` directions. Note: Similar setup for ``n_exp_flux``, ``n_exp_radial``, and ``n_exp_cube``.
:dv:`[Default value: 2 | Valid range: n_exp_map >= 0]`
* ``n_side_map`` -- Healpix number of base pixel subdivisions for the line-of-sight map, resulting in :math:`12 \times n_\text{side,map}^2` directions. Note: Similar setup for ``n_side_flux``, ``n_side_radial``, and ``n_side_cube``.
:dv:`[Overrides n_exp_map | Default value: 4 | Valid range: n_side_map >= 1]`
* ``map_radius`` -- Radius for the line-of-sight healpix map of radial surface brightness images. Note: Similar setup for ``cube_map_radius``.
:dv:`[Units: cm]`
* ``map_radius_bbox`` -- Radius for the line-of-sight healpix map of radial surface brightness images in units of the bounding box radius :math:`R_{\rm box}`. Note: Similar setup for ``cube_map_radius_bbox``.
:dv:`[Units: bounding box]`
* ``map_radius_Rvir`` -- Radius for the line-of-sight healpix map of radial surface brightness images in units of the selected halo virial radius :math:`R_{\rm vir}`. Note: Similar setup for ``cube_map_radius_Rvir``.
:dv:`[Units: Virial radius]`
* ``n_map_pixels`` -- Number of radial pixels for the line-of-sight healpix map of radial surface brightness images. Note: Similar setup for ``n_cube_map_pixels``.
:dv:`[Default value: 100]`
* ``map_pixel_width`` -- Intrinsic width of each radial pixel for the line-of-sight healpix map of radial surface brightness images. Note: Similar setup for ``cube_map_pixel_width``.
:dv:`[Units: cm]`
* ``map_pixel_arcsec`` -- Observed angular width of each radial pixel for the line-of-sight healpix map of radial surface brightness images. Note: Similar setup for ``cube_map_pixel_arcsec``.
:dv:`[Units: arcseconds]`
* ``output_map`` -- Output a line-of-sight healpix map of escape fractions.
:dv:`[Default value: false | Dimensions: (12 * n_side_map^2)]`
* ``output_map2`` -- Output a statistical moment line-of-sight healpix map, e.g. to estimate convergence statistics as the relative error is approximately :math:`\sqrt{\text{map2}} / \text{map}`.
:dv:`[Default value: false | Dimensions: (12 * n_side_map^2)]`
* ``output_radial_map`` -- Output a line-of-sight healpix map of radial surface brightness images.
:dv:`[Default value: false | Dimensions: (12 * n_side_radial^2, n_map_pixels) | Output units: photons/s/cm^2]`
* ``output_bin_radial_map`` -- Output a line-of-sight healpix map of radial spectral data cubes.
:dv:`[Default value: false | Dimensions: (12 * n_side_cube^2, n_cube_map_pixels, n_bins) | Output units: photons/s/cm^2]`
.. _Ionization Advanced Parameters:
Advanced Parameters
-------------------
These parameters are for advanced outputs and configurations:
* ``output_ion_stats`` -- Flag to output ionization statistics for all active ions.
:dv:`[Default value: false]`
* ``output_ion_stats_{atom}`` -- Output ionization statistics for a specific atom.
:dv:`[Default value: false | Overrides output_ion_stats]`
* ``output_ion_stats_{ion}`` -- Output ionization statistics for a specific ion.
:dv:`[Default value: false | Overrides output_ion_stats_{atom}]`
* ``output_ion_stats_gas`` -- Output total ionization statistics for all active ions.
:dv:`[Default value: false]`
* ``output_ion_stats_dust`` -- Output dust absorption statistics.
:dv:`[Default value: false]`
* ``output_ion_stats_tot`` -- Output total ionization and absorption statistics (gas + dust).
:dv:`[Default value: false]`
.. _Ionization Spatial Statistics Parameters:
Spatial Statistics Parameters
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The following parameters are compile-time options and need to be set in the ``defines.yaml`` file:
* ``output_ion_cell_age_freq`` -- Output the rate of absorptions by cell, age, and frequency.
:dv:`[Compile-time parameter | Default value: false | Units: photons/s]`
* ``output_ion_radial_age_freq`` -- Output the rate of absorptions by radial bin, age, and frequency.
:dv:`[Compile-time parameter | Default value: false | Units: photons/s]`
* ``output_ion_distance_age_freq`` -- Output the rate of absorptions by distance bin, age, and frequency.
:dv:`[Compile-time parameter | Default value: false | Units: photons/s]`
.. _Ionization Radial Flow Parameters:
Radial Flow Parameters
~~~~~~~~~~~~~~~~~~~~~~
The radial flow data is a 3D probe of the radiation field. The output data is in the ``radial_flow`` group with attributes ``n_radial_bins`` and ``n_freq_bins`` and fields ``radial_edges`` [cm] (radial bin edges), ``freq_edges`` (frequency bin edge indices), ``freq_names`` (frequency bin edge names), ``freq_edges_eV`` [eV] (frequency bin edges in eV), ``Ndot_src`` (emission as a function of source radii and frequency bin), ``Ndot_esc`` (escape as a function of source radii and frequency bin), ``Ndot_{ion}`` (ionization and absorption statistics as a function of absorption radii and frequency bin), ``Ndot_pass`` (first passage by source radii and shell boundaries and frequency bin), and ``Ndot_flow`` (net flux by source radii and shell boundaries and frequency bin).
The following parameters are compile-time options and need to be set in the ``defines.yaml`` file:
* ``output_radial_flow`` -- Output radial flow data.
:dv:`[Compile-time parameter | Default value: false]`
* ``output_group_flows`` -- Output group flow data.
:dv:`[Compile-time parameter | Default value: false]`
* ``output_subhalo_flows`` -- Output subhalo flow data.
:dv:`[Compile-time parameter | Default value: false]`
The associated runtime parameters are:
* ``radial_linspace_pc`` -- Radial linear-spaced binning in parsecs for radial flow data as `[min max n_edges]`.
:dv:`[Default value: 1 | Units: pc]`
* ``radial_logspace_pc`` -- Radial log-spaced binning in parsecs for radial flow data as `[log_min log_max n_edges]`.
:dv:`[Default value: 1 | Units: pc]`
* ``radial_linspace_Rvir`` -- Radial linear-spaced binning in units of the selected halo virial radius :math:`R_{\rm vir}` for radial flow data as `[min max n_edges]`.
:dv:`[Default value: 1 | Units: Virial radius]`
* ``radial_logspace_Rvir`` -- Radial log-spaced binning in units of the selected halo virial radius :math:`R_{\rm vir}` for radial flow data as `[log_min log_max n_edges]`.
:dv:`[Default value: 1 | Units: Virial radius]`
* ``radial_edges_pc`` -- Radial edges in parsecs for radial flow data. Note: Similar config for ``radial_edges_Rvir`` and ``radial_edges_cm``.
:dv:`[Default value: 1 | Units: pc]`
.. _Ionization Refinement Parameters:
Refinement Parameters
~~~~~~~~~~~~~~~~~~~~~
The following parameters are for grid refinement:
* ``output_refinement`` -- Flag to output a refined version of the grid based on requirements to resolve HII regions. Note: This option is only available when using the voronoi geometry (and requires ``HAVE_CGAL`` for mesh connectivity).
:dv:`[Default value: false]`
* ``refinement_rtol`` -- Relative photon rate tolerance for grid refinement.
:dv:`[Default value: 0.1 | Valid range: > 0]`
* ``refinement_x_HI`` -- Neutral hydrogen fraction threshold for grid refinement.
:dv:`[Default value: 0.1 | Valid range: 0 < refinement_x_HI < 1]`
* ``refinement_Rmin`` -- Effective resolution threshold for grid refinement.
:dv:`[Default value: 1 | Valid range: > 0]`
* ``refinement_mdeg`` -- Merging opening angle in degrees for grid refinement.
:dv:`[Default value: 5 | Valid range: 0 < refinement_mdeg < 30]`
* ``refinement_pert`` -- Perturbation factor for newly added grid refinement points.
:dv:`[Default value: 0.01 | Valid range: 0 < refinement_pert < 0.01]`