next up previous contents index
Next: 5.4.3 Header of subroutines Up: 5.4 Comments Previous: 5.4.1 Header of files   Contents   Index

5.4.2 Header of modules

The header of a module could look like:

!---**************----------------------------------------
module rhd_hyd_module
!--------------------------------------------------
! NAME:
!   rhd_hyd_module ('rhd_hydrodynamics_module')
!
! PURPOSE:
!   Provide hydrodynamics routines for rhd.
!
! CATEGORY:
!   Hydrodynamics
!
! CALLING SEQUENCE:
!   use rhd_hyd_module
!
! TYPES:
!   None
!
! VARIABLES:
!   None
!
! ROUTINES: (all contained routines; public ones are marked with '>')
! > rhd_hyd_SwitchInfo:    Print information about used compiler switches
!   rhd_bound_3DTransmit:  Adjust density values in top cells for the open boundary condition
!   rhd_bound_3DInOutFlow: Adjust values in bottom cells to fulfill the open boundary condition
! > rhd_bound_3DCenter:    Modify energy in central cells to keep entropy constant
! > rhd_bound_3DHeatBottom: Modify energy in bottom cells to keep entropy constant.
!   rhd_bound_1DTransmit:  Adjust values in top or bottom cells for transmitting boundary condition
!   rhd_hyd_Roe1Doutput:   Extract some averaged quantities
!   rhd_hyd_sDiff:         Compute 1D energy flux down an entropy step with state reconstruction
!   rhd_hyd_FluxState:     Compute 1D flux from state vector for single quantity
!   rhd_hyd_Pred:          Compute reduced pressure as gravity correction for Roe solver.
!   rhd_hyd_RoeWavealpha12: Compute 1D Roe sound-wave fluxes
!   rhd_hyd_RoeWavealpha36: Compute 1D Roe entropy-wave and ionization-energy fluxes
!   rhd_hyd_RoeWavealpha45: Compute 1D Roe transversal-momentum fluxes
!   rhd_hyd_Fluxrhoei:     Compute 1D internal energy flux from the fluxes of individual waves
!   rhd_hyd_RoeWave1Dflux: Compute 1D Roe fluxes with wave reconstructions
!   rhd_hyd_RoeState1Dflux: Compute 1D Roe fluxes with state reconstructions
!   rhd_hyd_Dust:          Advect passive tracers
!   rhd_hyd_mhd:           Advect magnetic fields
!   rhd_hyd_Roe1DStep:     Perform 1D hydrodynamics step in x1 direction with Roe scheme
!   rhd_hyd_Roe1DMincedStep: Perform 1D hydro step in x1 direction, call Roe solver repeatedly
!   rhd_hyd_SingleStep:    Perform entire (single) 2D or 3D hydrodynamics step, employ Roe scheme
! > rhd_hyd_Step:          Perform entire 3D hydro step, possibly composed of multiple time-steps
!
! CALLING TREE:
!   rhd_hyd_SwitchInfo
!   |
!   rhd_bound_3DCenter
!   | * eosinter
!   |
!   rhd_bound_3DHeatBottom
!   | * eosinter
!   |
!   rhd_hyd_Step
!     * rhd_hyd_SingleStep
!       + rhd_hyd_CoriolisOMP
!       + rhd_bound_3DTransmit
!       | * eosinter
!       + rhd_bound_3DInOutFlow
!       | * eosinter_all
!       + rhd_hyd_Roe1DMincedStep
!       | * rhd_hyd_Roe1DStep
!       |   ...
!       + rhd_hyd_Roe1DStep
!         * rhd_bound_1DGhost
!         * rhd_grav
!         * rhd_bound_1DTransmit
!         * + eosinter_PdPTdT
!         * rhd_bound_1DGhost
!         * eosinter_all
!         * eosinter_PdPTdT
!         * eosinter_PdP
!         * rhd_hyd_RoeState1Dflux
!         | + rhd_hyd_RecVecEq
!         | + rhd_hyd_RecVec
!         * rhd_hyd_RoeWave1Dflux
!         | + rhd_hyd_Pred
!         | + rhd_hyd_RoeWavealpha12
!         |   * rhd_hyd_Fluxalpha
!         |   * rhd_hyd_FluxalphaEq
!         | + rhd_hyd_RoeWavealpha36
!         |   * rhd_hyd_Fluxalpha
!         |   * rhd_hyd_FluxalphaEq
!         |   * rhd_hyd_FluxState
!         |     . rhd_hyd_RecVecEq
!         |     . rhd_hyd_RecVec
!         |   * rhd_hyd_sDiff
!         |     . rhd_hyd_RecVecEq
!         |     . rhd_hyd_RecVec
!         | + rhd_hyd_RoeWavealpha45
!         |   * rhd_hyd_FluxState
!         |     . rhd_hyd_RecVecEq
!         |     . rhd_hyd_RecVec
!         | + rhd_hyd_Fluxrhoei
!         * rhd_hyd_Roe1Doutput
!         | + rhd_mean_weight
!         | + rhd_mean_x23mean
!         | + rhd_mean_x23weight
!         | + rhd_mean_rindex
!         | + rhd_mean_rcmean
!         | + rhd_mean_VecProj
!         | + rhd_mean_rbmean
!         * rhd_hyd_Dust
!         | + rhd_hyd_FluxState
!         |    * rhd_hyd_RecVecEq
!         |    * rhd_hyd_RecVec
!         | + rhd_hyd_Rossow78tfall
!         | + rhd_hyd_RecVecEq
!         | + rhd_hyd_RecVec
!         | + rhd_mean_weight
!         | + rhd_mean_x23mean
!         * rhd_hyd_mhd
!           + rhd_hyd_Fluxalpha
!
! MODIFICATION HISTORY:
!   1997-06-19 (B.F. Kiel) First version
!   1999-05-11 (B.F. Copenhagen) Routine bound3d_inoutflow added
! ...
!   2014-08-17 (B.F.) Use global boxes for working copies
!   2014-12-02 (B.F.) Remove "rhd_roe1d_step_l01=0" option
!--------------------------------------------------

The description of modules, routines, and functions should start at column 27, unless the name is too long.


next up previous contents index
Next: 5.4.3 Header of subroutines Up: 5.4 Comments Previous: 5.4.1 Header of files   Contents   Index