Monte Carlo Radiative Transfer

This page explains the options for Monte Carlo radiative transfer (MCRT) simulations.

General MCRT Parameters

The following parameters are important MCRT parameters:

  • n_photons – Actual number of photon packets used. [Default value: 1]

  • output_photons – Flag to output escaped and absorbed photon packets. [Default value: true]

  • photon_file – Output a separate photon file with this base name, e.g. “photons”. [Optional]

  • output_n_scat – Flag to output the number of scattering events for photon packets. [Default value: false]

  • output_collisions – Flag to output collisional excitation data for photons and cameras. [Default value: false]

  • output_source_position – Flag to output the emission position for photon packets. [Default value: false]

Line Parameters

The following parameters are related to line specifications:

  • line – Name of the line to be modeled. [Default value: Lyman-alpha | Other options: Balmer-alpha, Balmer-beta, Balmer-gamma, Balmer-delta, Balmer-epsilon, Paschen-alpha, Paschen-beta, Brackett-alpha, CIII-1907-1909, CIV-1548-1550, NII-6550, NII-6585, NIII-1747-1749, NIV-1486, OI-6302, OI-6366, OII-3727-3730, OIII-1661-1666, OIII-4364, OIII-4933, OIII-4960, OIII-5008, NeIII-3969, MgII-2796-2803, SiII-1190-1193, SiII-1260, SiII-1304, SiII-1527, SiIII-1206, SiIV-1394-1403, SII-6718, SII-6733]

  • dust_model – Dust model for the line radiative transfer. [Options: SMC, MW, LAURSEN_SMC, filename]

  • kappa_dust – Dust opacity at the wavelength of the line. [Default value: Based on dust_model and line | Units: cm^2/g of dust]

  • sigma_dust – Dust cross section at the wavelength of the line. [Default value: Based on dust_model and line | Units: cm^2/Z/hydrogen atom]

  • albedo – Dust scattering albedo defined as \(A = k_\text{scat} / (k_\text{abs} + k_\text{scat})\). [Default value: Based on dust_model and line | Valid range: 0 < albedo < 1]

  • g_dust – Anisotropy parameter \(\langle \mu \rangle\) for dust scattering. [Default value: Based on dust_model and line | Valid range: -1 < g_dust < 1]

  • f_ion – Survival fraction of dust in \({\rm H\,{\small II}}\) regions. [Default value: 1 | Valid range: 0 < f_ion < 1]

  • T_sputter – Thermal sputtering temperature cutoff, such that no dust exists within gas hotter than this value. [Default value: 1e6 | Units: K]

  • p_dest – Line destruction probability between absorption and re-emission. [Default value: 0 | Valid range: 0 < p_dest < 1]

Resonance Line Parameters

The following parameters are related to resonance lines:

  • recoil – Include recoil induced Doppler shifting with line scattering. [Default value: true]

  • x_crit – Constant critical frequency for core-skipping. [Default value: 0 | Valid range: x_crit > 0]

  • dynamical_core_skipping – Non-local core-skipping for resonance lines. [Default value: false]

  • n_exp_atau – Healpix exponent for the non-local \(a \tau_0\) core-skipping estimates, resulting in \(12 \times 4^{n_\text{exp,atau}}\) directions. [Default value: 0 | Valid range: n_exp_atau >= 0]

  • n_side_atau – Healpix number of base pixel subdivisions for the non-local \(a \tau_0\) core-skipping estimates, resulting in \(12 \times n_\text{side,atau}^2\) directions. [Overrides n_exp_atau | Default value: 1 | Valid range: n_side_atau >= 1]

Exit Parameters

The following parameters are related to exit options:

  • doppler_frequency – Output frequency in units of Doppler widths, otherwise as a velocity offset from line center (in units of km/s). [Default value: false]

  • T_exit – Exit temperature for standardized Doppler frequency. [Default value: 1e4 | Units: K]

  • v_exit – Exit velocity for shifted observer frames. [Default value: (0,0,0) | Units: cm/s]

  • exit_wrt_com – Exit with respect to the center of mass velocity frame. [Default value: false]

Note

In what follows the units of “freq” refer to km/s unless using doppler_frequency.

Radiation Source Parameters

The following parameters are related to line radiative transfer options:

  • recombinations – Include recombination emission with luminosity \(\mathcal{L}_\text{rec} = h \nu_0 \int \alpha_\text{B,eff}(T) n_e n_\text{HII} \text{d}V\). [Default value: false]

  • collisions – Include collisional excitation emission with luminosity for Lyα of \(\mathcal{L}_\text{col} = h \nu_0 \int q_\text{col}(T) n_e n_\text{HI} \text{d}V\). Note: This flag also works for all implemented hydrogen lines and many collisionally excited metal lines. [Default value: false]

  • continuum – Include stellar continuum emission around the line. [Default value: false]

  • continuum_range – Continuum velocity offset range for frequency sampling. [Default value: (-2000,2000) | Units: km/s]

  • j_exp – Luminosity boosting exponent for power-law emission biasing, i.e. probabilities are rescaled according to \(\propto \mathcal{L}_\text{cell}^{j_\text{exp}}\) such that \(j_\text{exp} < 1\) can better sample lower emissivity regions. [Default value: 1 | Valid range: 0 < j_exp < 1]

  • emission_n_min – Minimum number density of emitting cells. [Default value: 0 | Units: cm^-3]

  • emission_n_max – Maximum number density of emitting cells. [Default value: infinity | Units: cm^-3]

  • emission_ne_min – Minimum electron number density of emitting cells. [Default value: 0 | Units: cm^-3]

  • emission_ne_max – Maximum electron number density of emitting cells. [Default value: infinity | Units: cm^-3]

  • point – Point source position in [0 0 0] format. [Optional | Units: cm]

  • x_point – Point source \(x\) position. [Optional | Units: cm]

  • y_point – Point source \(y\) position. [Optional | Units: cm]

  • z_point – Point source \(z\) position. [Optional | Units: cm]

  • L_point – Point source luminosity. [Default value: 1 | Units: erg/s]

  • r_shell – Shell source radius. [Optional | Units: cm]

  • L_shell – Shell source luminosity. [Default value: 1 | Units: erg/s]

Camera Parameters

The following parameters are related to cameras options:

  • n_bins – Number of frequency bins. [Default value: 100]

  • n_slit_bins – Number of frequency bins for slits. [Default value: n_bins]

  • n_cube_bins – Number of frequency bins for data cubes. [Default value: n_bins]

  • n_radial_cube_bins – Number of frequency bins for radial data cubes. [Default value: n_bins]

  • freq_range – Frequency extrema in [-1000 1000] format. Note: Similar setup for slit_freq_range, cube_freq_range, and radial_cube_freq_range. [Default value: (-1000,1000) | Units: freq]

  • freq_min – Frequency range minimum. Note: Similar setup for slit_freq_min, cube_freq_min, and radial_cube_freq_min. [Default value: -1000 | Units: freq]

  • freq_max – Frequency range maximum. Note: Similar setup for slit_freq_max, cube_freq_max, and radial_cube_freq_max. [Default value: 1000 | Units: freq]

  • output_fluxes – Output spectral fluxes. [Default value: true | Dimensions: (n_cameras, n_bins) | Output units: erg/s/cm^2/angstrom]

  • output_images – Output surface brightness images. [Default value: true | Dimensions: (n_cameras, nx_pixels, ny_pixels) | Output units: erg/s/cm^2/arcsec^2]

  • output_slits – Output spectral slits. [Default value: false | Dimensions: (n_cameras, n_slit_pixels, n_slit_bins) | Output units: erg/s/cm^2/arcsec^2/angstrom]

  • output_cubes – Output spectral data cubes. [Default value: false | Dimensions: (n_cameras, nx_cube_pixels, ny_cube_pixels, n_cube_bins) | Output units: erg/s/cm^2/arcsec^2/angstrom]

  • output_images2 – Output statistical moment images, e.g. to estimate convergence statistics as the relative error is approximately \(\sqrt{\text{images2}} / \text{images}\). [Default value: false | Dimensions: (n_cameras, nx_pixels, ny_pixels) | Output units: erg^2/s^2/cm^4/arcsec^4]

  • output_radial_images – Output radial surface brightness images. [Default value: false | Dimensions: (n_cameras, n_radial_pixels) | Output units: erg/s/cm^2/arcsec^2]

  • output_radial_cubes – Output radial spectral data cubes. [Default value: false | Dimensions: (n_cameras, n_radial_cube_pixels, n_radial_cube_bins) | Output units: erg/s/cm^2/arcsec^2/angstrom]

  • output_radial_images2 – Output statistical moment radial images, e.g. to estimate convergence statistics as the relative error is approximately \(\sqrt{\text{radial\_images2}} / \text{radial\_images}\). [Default value: false | Dimensions: (n_cameras, n_radial_pixels) | Output units: erg^2/s^2/cm^4/arcsec^4]

The following parameters produce intrinsic or attenuation only images:

  • output_mcrt_emission – Output intrinsic emission without transport based on MCRT sampling (also works for radial images). [Default value: false | Dimensions: (n_cameras, nx_pixels, ny_pixels) | Output units: erg/s/cm^2/arcsec^2]

  • output_mcrt_attenuation – Output attenuated emission without scattering based on MCRT sampling (also works for radial images). [Default value: false | Dimensions: (n_cameras, nx_pixels, ny_pixels) | Output units: erg/s/cm^2/arcsec^2]

  • output_proj_emission – Output intrinsic emission without transport with ray-based imaging. [Default value: false | Dimensions: (n_cameras, nx_pixels, ny_pixels) | Output units: erg/s/cm^2/arcsec^2]

  • output_proj_attenuation – Output attenuated emission without scattering with ray-based imaging. [Default value: false | Dimensions: (n_cameras, nx_pixels, ny_pixels) | Output units: erg/s/cm^2/arcsec^2]

Note

The intrinsic and attenuation only images do not require scattering. Therefore, the projection outputs are preferred as they employ a ray-based quadtree imaging method for a noiseless solution with adaptive spatial convergence.

The following parameters produce spatially integrated camera frequency moments [Dimensions: n_cameras]:

  • output_escape_fractions – Output camera escape fractions. [Default value: true]

  • output_freq_avgs – Output camera frequency averages. [Default value: false | Output units: freq]

  • output_freq_stds – Output frequency standard deviations. [Default value: false | Output units: freq]

  • output_freq_skews – Output frequency skewnesses. [Default value: false]

  • output_freq_kurts – Output frequency kurtoses. [Default value: false]

The following parameters produce camera frequency moments for each image pixel [Dimensions: (n_cameras, nx_pixels, ny_pixels)]:

  • output_freq_images – Output average frequency images. [Default value: false | Output units: freq]

  • output_freq2_images – Output frequency^2 images. [Default value: false | Output units: freq^2]

  • output_freq3_images – Output frequency^3 images. [Default value: false | Output units: freq^3]

  • output_freq4_images – Output frequency^4 images. [Default value: false | Output units: freq^4]

The following parameters produce camera frequency moments for each radial image pixel [Dimensions: (n_cameras, n_radial_pixels)]:

  • output_freq_radial_images – Output average frequency radial images. [Default value: false | Output units: freq]

  • output_freq2_radial_images – Output frequency^2 radial images. [Default value: false | Output units: freq^2]

  • output_freq3_radial_images – Output frequency^3 radial images. [Default value: false | Output units: freq^3]

  • output_freq4_radial_images – Output frequency^4 radial images. [Default value: false | Output units: freq^4]

The following parameters are useful for on-the-fly false color imaging:

  • output_rgb_images – Output flux-weighted frequency RGB images. Note: The normalized image log intensity can be used as the alpha opacity of the image to give a nice illustration of the spectral data cube. [Default value: false | Dimensions: (n_cameras, nx_pixels, ny_pixels, 3) | Output units: RGB color]

  • output_rgb_radial_images – Output flux-weighted frequency RGB radial images. [Default value: false | Dimensions: (n_cameras, n_radial_pixels, 3) | Output units: RGB color]

  • output_rgb_map – Output flux-weighted frequency RGB Healpix map. [Default value: false | Dimensions: (12 * n_side_map^2, 3) | Output units: RGB color]

  • rgb_freq_range – Frequency extrema in [-1000 1000] format. [Default value: (-1000,1000) | Units: freq]

  • rgb_freq_min – Frequency range minimum. [Default value: -1000 | Units: freq]

  • rgb_freq_max – Frequency range maximum. [Default value: 1000 | Units: freq]

  • adjust_camera_frequency – Adjust frequencies for each camera based on offsets from a file. Note: This was implemented to center the RGB and other cameras for Lyα on the Hα line center. Thus, the file must have a dataset called “freq_avgs” of length n_cameras. [Default value: false]

  • freq_offset_file – Frequency offset file (optional). [Default value: init_file]

  • freq_offset_dir – Frequency offset directory (optional). [Default value: init_dir]

  • freq_offset_base – Frequency offset file base (optional). [Default value: init_base]

  • freq_offset_ext – Frequency offset file extension (optional). [Default value: hdf5]

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 \(12 \times 4^{n_\text{exp,map}}\) directions. Note: Similar setup for n_exp_flux, n_exp_radial, and n_exp_cube. [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 \(12 \times n_\text{side,map}^2\) directions. Note: Similar setup for n_side_flux, n_side_radial, and n_side_cube. [Overrides n_exp_map | Default value: 4 | Valid range: n_side_map >= 1]

  • n_map_bins – Number of frequency bins for the line-of-sight flux map. Note: Similar setup for n_cube_map_bins. [Default value: 100]

  • map_freq_range – Frequency extrema in [-1000 1000] format for the line-of-sight flux map. Note: Similar setup for cube_map_freq_range. [Default value: (-1000,1000) | Units: freq]

  • map_freq_min – Frequency range minimum for the line-of-sight flux map. Note: Similar setup for cube_map_freq_min. [Default value: -1000 | Units: freq]

  • map_freq_max – Frequency range maximum for the line-of-sight flux map. Note: Similar setup for cube_map_freq_max. [Default value: 1000 | Units: freq]

  • map_radius – Radius for the line-of-sight Healpix map of radial surface brightness images. Note: Similar setup for cube_map_radius. [Units: cm]

  • map_radius_bbox – Radius for the line-of-sight Healpix map of radial surface brightness images. Note: Similar setup for cube_map_radius_bbox. [Units: bounding box]

  • 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. [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. [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. [Units: arcseconds]

  • output_map – Output a line-of-sight Healpix map of escape fractions. [Default value: false | Dimensions: (12 * n_side_map^2)]

  • output_map2 – Output statistical moment line-of-sight Healpix map, e.g. to estimate convergence statistics as the relative error is approximately \(\sqrt{\text{map2}} / \text{map}\). [Default value: false | Dimensions: (12 * n_side_map^2)]

  • output_flux_map – Output a line-of-sight Healpix map of spectral fluxes. [Default value: false | Dimensions: (12 * n_side_flux^2, n_map_bins) | Output units: erg/s/cm^2/angstrom]

  • output_radial_map – Output a line-of-sight Healpix map of radial surface brightness images. [Default value: false | Dimensions: (12 * n_side_radial^2, n_map_pixels) | Output units: erg/s/cm^2/arcsec^2]

  • output_cube_map – Output a line-of-sight Healpix map of radial spectral data cubes. [Default value: false | Dimensions: (12 * n_side_cube^2, n_cube_map_pixels, n_cube_map_bins) | Output units: erg/s/cm^2/arcsec^2/angstrom]

The following parameters produce frequency moments for each Healpix map pixel [Dimensions: 12 * n_side_map^2]:

  • output_freq_map – Output average frequency map. [Default value: false | Output units: freq]

  • output_freq2_map – Output frequency^2 map. [Default value: false | Output units: freq^2]

  • output_freq3_map – Output frequency^3 map. [Default value: false | Output units: freq^3]

  • output_freq4_map – Output frequency^4 map. [Default value: false | Output units: freq^4]

Advanced Parameters

The following parameters are related to advanced options:

  • two_level_atom – Line radiative transfer incorporates occupation number densities from both lower and upper transitions. If this is false then we assume that bound electrons are always in the ground state. Note: This currently also switches from a Voigt to a Gaussian line profile, and assumes complete redistribution for scattering. [Default value: false]

  • resonant_scattering – Turn resonant scattering on/off. Note: It is not recommended to override this option unless you know exactly what you are doing. [Default value: Based on line]

  • load_balancing – Use MPI load balancing algorithms. Note: Due to the OpenMP load balancing this is not recommended in general as the number of MPI tasks is usually much smaller than the number of photon packets. [Default value: false]