DART-Ray
Functions/Subroutines
dartray_hub Module Reference

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. More...

Functions/Subroutines

subroutine 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_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_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_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_dust
 Dartray procedure for the dust emission RT calculation. More...
 
subroutine 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_switch
 Selects Dartray algorithm depending on input rt_algorithm(). More...
 
subroutine 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 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 grid_initialize
 This routine calls all the routines to initialize the grid and sources/observer parameters. More...
 
subroutine 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 make_output_dust
 Calls the subroutines to print the output files for the dust RT algorithms. More...
 

Detailed Description

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.

Function/Subroutine Documentation

subroutine dartray_hub::dartray_dust ( )

Dartray procedure for the dust emission RT calculation.

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

Here is the caller graph for this function:

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).

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine dartray_hub::dartray_switch ( )

Selects Dartray algorithm depending on input rt_algorithm().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine dartray_hub::grid_initialize ( )

This routine calls all the routines to initialize the grid and sources/observer parameters.

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine dartray_hub::make_output_dust ( )

Calls the subroutines to print the output files for the dust RT algorithms.

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the caller graph for this function: