Skip to content

Infinite Slab

A 1-D slab along z, infinite in x and y. Useful for the analytic Neufeld (1990) test.

Specify by density or directly by line-center optical depth (tau); with tau, density is derived from the line set by linename.

max_step can be effectively unlimited: there is no spatial structure to resolve, and velocity gradients are not currently supported for slabs.

Full configuration
slab_lya.yaml
dataset_type: 'infiniteslab'
driver_type: 'mcrtsimulation'
device: "cpu"

infiniteslab:
  boxsize: 3.086e21       # cm (1 kpc)
  temperature: 20000.0    # K
  density: 0.0156196      # cm^-3

mcrtsimulation:
  outputpath: output
  overwrite: true
  linename: Lya
  nphotons_max: 100000
  nphotons_step_max: 100000
  nsteps_per_photon_max: 100000000
  xcrit: 0.0
  acc_scheme: Smith15
  max_step: 1000000.0
  emissionmodel:
    mode: "singlesource"
    singlesource:
      nphotons: 1000
      lum_total: 1e42
      position: [0.5, 0.5, 0.5]
  outputprocessors:
    - type: "photon"
      active: true

Variants

Specify optical depth instead of density, replace density: with (requires linename in driver):

  tau: 1e6

Add dust, add to infiniteslab: and set the interactor in mcrtsimulation::

# in infiniteslab:
  tau_dust: 0.1           # dust optical depth across half the slab

# in mcrtsimulation:
  interactor: ResonantWithDustInteractor