DART-Ray
Modules | Functions/Subroutines
dartray_hub.f90 File Reference

Modules

module  dartray_hub
 Contains subroutines that execute the RT algorithms. The rt_type() keyword allows all the subroutines in DART-Ray to distinguish between the different parts of the RT calculation. The rt_algorithm() keyword is used to distinguish between the different RT algorithms.
 

Functions/Subroutines

subroutine dartray_hub::dartray_main
 This is the procedure for the main RT algorithm. Used both for the stellar emission and dust emission RT calculations. In the case of the dust emission RT, it is called multiple times until convergence criteria is reached. More...
 
subroutine dartray_hub::dartray_main_2d
 This is the procedure for the 2D algorithm. The calculation of the i_obs() arrays is not implemented because the scaspe() arrays are symmetrized only for the directions of the HEALpix sphere, not the added directions for the observer lines-of-sight. More...
 
subroutine dartray_hub::dartray_i_obs
 This DART-Ray procedure calculates i_obs() arrays from the input arrays and pre-calculated scaspe_tot array. When calculating i_obs() with this procedure, the scattered luminosities considered are those of the HEALPix directions in the scaspe_tot() array, not the extra directions for the observer line-of-sight. This allows to calculate maps for observer directions and positions other than those used in the "main" RT calculation. To avoid overwriting of the i_obs() file name, the output file names are slightly changed compared to those set in set_filenames(). More...
 
subroutine dartray_hub::dartray_sed
 This dartray procedure calculates and prints the SEDs for the direct and total radiation luminosity. In order to work both i_obs_part2 and i_obs files have to be printed (it outputs an error if they don't exist). If the keyword print_maps is set, then it also calculates the surface brightness maps for the external observer. More...
 
subroutine dartray_hub::dartray_dust
 Dartray procedure for the dust emission RT calculation. More...
 
subroutine dartray_hub::dartray_projection
 Algorithm to project physical quantities on the observer maps, such as optical depth or intrinsic stellar luminosity (without dust extinction). More...
 
subroutine dartray_hub::dartray_switch
 Selects Dartray algorithm depending on input rt_algorithm(). More...
 
subroutine dartray_hub::select_rt_type
 This subroutine is used to select the right rt_type(). It simply set rt_type to the next value in the list. /todo It would be good to print an appropriate message when a new part of the calculation is started. For now it prints the ID numbers for the rt calculation step. More...
 
subroutine dartray_hub::rt_prepare
 This routine performs several checks before the beginning of some steps in the rt calculation (look at each case for more info). For example, it checks whether another scattering iteration is necessary or whether the intermediate output files have to be restored and the direct light calculation to be skipped. More...
 
subroutine dartray_hub::grid_initialize
 This routine calls all the routines to initialize the grid and sources/observer parameters. More...
 
subroutine dartray_hub::grid_initialize_dust
 Initializes arrays for dust RT algorithms. Note that lnum() is still equal to lnum_stars() in the first called subroutines. More...
 
subroutine dartray_hub::make_output_dust
 Calls the subroutines to print the output files for the dust RT algorithms. More...