Next: 4.4.8 Obsolete macros
Up: 4.4 Compiler macros
Previous: 4.4.6 Hydrodynamics (tensor viscosity)
Contents
Index
Subsections
4.4.7.1 rhd_r01
(``rhd radiation 01'')
in rhd.F90
.
Category: feature activation.
Switch to include LHDrad radiation transport module.
It uses long characteristics and is restricted to an equidistant grid and
open boundaries at all surfaces (old ``supergiant module'').
Values:
undefined
: (default) LHDrad routines are deactivated.
1
: LHDrad routines are recognized by the compiler.
4.4.7.2 rhd_r02
(``rhd radiation 02'')
in rhd.F90
.
Category: feature activation.
Switch to include MSrad radiation transport module.
It uses long characteristics. The lateral boundaries have to be periodic.
Top and bottom can be closed or open (``solar module'').
Values:
undefined
: (default) MSrad routines are deactivated.
1
: MSrad routines are recognized by the compiler.
4.4.7.3 rhd_r03
(``rhd radiation 03'')
in rhd.F90
.
Category: feature activation.
Switch to include SHORTrad radiation transport module.
It uses short characteristics and is restricted to an equidistant grid and
open boundaries at all surfaces (new ``supergiant module'').
Values:
undefined
: (default) SHORTrad routines are deactivated.
1
: SHORTrad routines are recognized by the compiler.
(``rhd radiation 3 dimensions to ray loop 01'')
in rhd_lhdrad_module.F90
,
Category: performance enhancement.
There might be a performance gain by splitting the main loop in routine rhd_rad3d_toray
into three separate loops. Typically, one big loop is to be preferred.
Values:
undefined
: (default) One big loop
defined
: Three smaller loops
(``rhd radiation 3 dimensions from ray loop 01'')
in rhd_lhdrad_module.F90
,
Category: performance enhancement.
There might be a performance gain by splitting a big loop in routine rhd_rad3d_fromray
into two separate loops. Typically, one big loop is to be preferred.
Values:
undefined
: (default) One big loop
defined
: Two smaller loops
(``rhd radiation 3 dimensions radiation 02'')
in rhd_lhdrad_module.F90
,
Category: test.
Module rhd_lhdrad_module
contains a routine for the handling of periodic
boundaries.
It is in an experimental state and is deactivated by default.
Values:
undefined
: (default) Skip routine rhd_rad3d_dirper
during compilation
defined
: Compile routine rhd_rad3d_dirper
(``rhd radiation 3 dimensions solve timing 01'')
in rhd_lhdrad_module.F90
,
Category: additional output.
Produce timing information for the routines which solves the 1D radiation transport
equation along single ray.
This routine is called very frequently. The timing measurement might slow it down somewhat.
It should not be used in conjunction with OpenMP.
Values:
undefined
: (default) no timing information
defined
: call subroutines to measure elapsed time
(``rhd radiation 3 dimensions direction timing 01'')
in rhd_lhdrad_module.F90
,
Category: additional output.
Produce timing information for the routines which solves the radiation transport
equation for one direction field.
The timing measurement are called very frequently and might slow down the code.
It should not be used in conjunction with OpenMP.
Values:
undefined
: (default) no timing information
defined
: call subroutines to measure elapsed time
(``rhd radiation 3 dimensions step timing 01'')
in rhd_lhdrad_module.F90
,
Category: additional output.
Produce timing information with main 3D radiation transport routine.
It can be used together with OpenMP and should cause no noticeable performance loss.
Values:
undefined
: (default) no timing information
defined
: call subroutines to measure elapsed time
4.4.7.10 rhd_shortrad_operator_l01
(``rhd short-characteristics radiation operator loop 01'')
in rhd_shortrad_module.F90
.
Category: performance enhancement, selection of approximation.
Choose type of short characteristics operator. The operators usually come in pairs (1/2, 3/4, 5/6).
There is a development from 1/2 over 3/4 to 5/6 towards higher stability.
Both members of each pair should do the same operation but use different ways
to do a case distinction. The 'even' operator has in some cases the better
performance. But the 'odd' operator might be saver to use.
Values:
0
: simple test operator, fast but results are utterly useless!
1
: case distinction with ``if..then..else'' construct.
2
: case distinction with masks (weights 0.0 or 1.0).
3
: case distinction with ``if..then..else'' construct,
slope reduction of source function.
4
: case distinction with masks (weights 0.0 or 1.0),
slope reduction of source function.
5
: (default) case distinction with ``if..then..else'' construct,
modified slope reduction of source function.
6
: (old default) case distinction with masks (weights 0.0 or 1.0),
modified slope reduction of source function.
8
: test version.
4.4.7.11 rhd_shortrad_operator_l02
(``rhd short-characteristics radiation operator loop 02'')
in rhd_shortrad_module.F90
.
Category: performance enhancement.
Select the way the short characteristics operator is accessed.
Values:
0
: (old default) The routine with the short characteristics operator is called
within a loop and should be inlined.
1
: (default) The program fragment with the short characteristics operator is included.
No inlining necessary.
4.4.7.12 rhd_shortrad_dtauop_l01
(``rhd short-characteristics radiation delta tau operator loop 01'')
in rhd_shortrad_module.F90
.
Category: performance enhancement.
Choose type of short characteristics tau coupling operator.
Values:
1
: case distinction with ``if..then..else'' construct,
default if rhd_shortrad_operator_l01
=1,3,5.
2
: case distinction with masks (weights 0.0 or 1.0),
default if rhd_shortrad_operator_l01
=2,4,6.
4.4.7.13 rhd_shortrad_dtauop_l02
(``rhd short-characteristics radiation delta tau operator loop 02'')
in rhd_shortrad_module.F90
.
Category: performance enhancement.
Select the way the operator for the tau coupling (short characteristics module) is accessed.
Values:
0
: (old default) The routine with the tau coupling operator is called
within a loop and should be inlined.
1
: (default) The program fragment with the tau coupling operator is included.
No inlining necessary.
4.4.7.14 rhd_shortrad_formal_l01
(``rhd short-characteristics radiation formal loop 01'')
in rhd_shortrad_module.F90
.
Category: performance enhancement.
Select version of loop splitting for exp(-dtau) computation.
Values:
0
: (default) dtauhalf
, exp_mdtauhalf
, expl2t_mdtauhalf
are computed in a single loop
1
: (dtauhalf
, exp_mdtauhalf
), (expl2t_mdtauhalf
)
are computed in separate loops.
This prevents the SUN1 machine (Sunfire, Solaris, Forte 6.2) from doing
some performance degrading optimization
4.4.7.15 rhd_shortrad_dir1_l01
(``rhd short-characteristics radiation direction 1 loop 01'')
in rhd_shortrad_module.F90
.
Category: performance enhancement.
Choose routine version for rays in x1 direction.
Values:
0
: (old default) Use routine with permuted indices for rays in x1 direction.
In this case the innermost loop index is the third array index.
The transposition of arrays is not needed but some machines (e.g. SUN1) do not like
this index arrangement.
1
: (default) Transpose arrays and use routine rhd_shortrad_dir3
for rays in x1 direction.
The extra step for the transposition of some arrays (and the reverse procedure)
needs some time. But now the routine with the optimum index ordering can be used.
2
: Transpose arrays serially and use routine rhd_shortrad_dir3
for rays in x1 direction.
The extra step for the transposition of some arrays (and the reverse procedure)
needs some time. But now the routine with the optimum index ordering can be used.
4.4.7.16 rhd_shortrad_dir_l02
(``rhd short-characteristics radiation direction loop 02'')
in rhd_shortrad_module.F90
.
Category: performance enhancement, OpenMP.
Determine position of PARALLEL statement relative to outer loop in rhd_shortrad_dirX
.
Both settings give the same results but might show a different performance on a specific machine.
Values:
0
: (old default) PARALLEL statement inside of outer loop.
1
: (default) PARALLEL statement outside of outer loop.
4.4.7.17 rhd_shortrad_lambda_l01
(``rhd short-characteristics radiation lambda loop 01'')
in rhd_shortrad_module.F90
.
Category: feature activation.
Handling of extra arrays to allow partially implicit Lambda* iteration.
Values:
0
: (default) Only fully implicit Lambda* iteration allowed
(or fully explicit treatment).
1
: Also partially implicit Lambda* iteration allowed.
(``rhd short-characteristics radiation formal timing 01'')
in rhd_shortrad_module.F90
.
Category: additional output.
Produce timing information for routine which gives the formal solution of the
radiation transport equation with the help of short characteristics.
It can be used together with OpenMP and should cause no noticeable performance loss.
Values:
undefined
: (default) no timing information
defined
: call subroutines to measure elapsed time
(``rhd short-characteristics radiation step timing 01'')
in rhd_shortrad_module.F90
.
Category: additional output.
Produce timing information for main short characteristics routine.
It can be used together with OpenMP and should cause no noticeable performance loss.
Values:
undefined
: (default) no timing information
defined
: call subroutines to measure elapsed time
4.4.7.20 MSrad_raytas
(``Matthias Steffen radiation ray tau s'')
in MSrad3D.F90
.
Category: performance enhancement.
Values:
0
: (default) Loop with IF..THEN..ELSE
1
: Loop with ABS,SIGN
2
: Loop with MIN,MAX
Next: 4.4.8 Obsolete macros
Up: 4.4 Compiler macros
Previous: 4.4.6 Hydrodynamics (tensor viscosity)
Contents
Index