Go to the source code of this file.
|
module | m_photoi_mc |
| Module that provides routines for Monte Carlo photoionization.
|
|
|
subroutine, public | m_photoi_mc::phmc_initialize (cfg, is_used) |
| Initialize photoionization parameters.
|
|
subroutine, public | m_photoi_mc::phmc_print_grid_spacing (dr_base) |
| Print the grid spacing used for the absorption of photons.
|
|
subroutine, public | m_photoi_mc::phmc_get_table_air (phmc_tbl, p_o2, max_dist) |
| Compute the photonization table for air. If the absorption function is f(r), this table contains r as a function of F (the cumulative absorption function, between 0 and 1). Later on a distance can be sampled by drawing a uniform 0,1 random number and finding the corresponding distance. The table constructed up to max_dist; we can ignore photons that fly very far.
|
|
real(dp) function, public | m_photoi_mc::phmc_absorption_func_air (dist, p_o2) |
| The absorption function for photons in air according to Zheleznyak's model.
|
|
subroutine, public | m_photoi_mc::phmc_do_absorption (xyz_in, xyz_out, n_dim, n_photons, tbl, prng) |
| Given a list of photon production positions (xyz_in), compute where they end up (xyz_out).
|
|
subroutine, public | m_photoi_mc::phmc_set_src (tree, rng, i_src, i_photo, use_cyl, dt) |
| Set the source term due to photoionization. At most phmc_num_photons discrete photons are produced.
|
|