Global settings
Global settings are general parameters which are valid throughout the whole
simulation.
!----------------------------------------------------------!
$global-settings
optional !
!
output-directory
character
required
!
number-of-parallel-threads integer
optional !
OpenMP-stacksize integer
optional !
debug-level integer
optional !
!
$end_global-settings
optional !
!----------------------------------------------------------!
Syntax
!----------------------------------------------------------!
$global-settings !
!
output-directory = output_1/
!
number-of-parallel-threads = 2
!
!OpenMP-stacksize =
1048576
! 1048576 bytes = 1 MB (MiB)
!OpenMP-stacksize =
16777216
! 16777216 bytes = 16 MB (MiB)
OpenMP-stacksize =
67108864
! 67108864 bytes = 64 MB (MiB)
debug-level = 0
!
!
$end_global-settings !
!----------------------------------------------------------!
The whole output will be written into the folder
output_1/....
Further example:
output-directory = output/QuantumDot1/
!
If no directory should be specified use either of the
following:
output-directory = ''
output-directory = .
output-directory = .\
output-directory = ./
output-directory =
\
output-directory =
/
The default output directory has the name output/.
Alternative: Use command line argument (higher priority).
nextnano3.exe -outputdirectory
output_1/ -threads
2
nextnano3.exe -outputdirectory
./
Hint: This can be used to write batch scripts (*.bat).
Example: temperature_script.bat
nextnano3.exe -inputfile
HEMT_100K.in -outputdirectory
output_100K/
nextnano3.exe -inputfile
HEMT_200K.in -outputdirectory
output_200K/
nextnano3.exe -inputfile
HEMT_300K.in -outputdirectory
output_300K/
Parallelization
The number of parallel threads specifies
- the number of parallel threads that are used within
OpenMP parallelization
- the number of parallel images (=threads) that are used within
Coarray Fortran
parallelization.
Note: Numerical libraries like Intel's Math Kernel Library (MKL) detect the
number of cores automatically.
Parallel code within nextnano³ is available for
- CBR: $CBR-current
- NEGF: $global-parameters-NEGF
Usage:
number-of-parallel-threads = 1 !
should be the optimum on single-core CPUs
number-of-parallel-threads = 2 !
should be the optimum on dual-core CPUs
number-of-parallel-threads = 4 !
should be the optimum on quad-core CPUs
number-of-parallel-threads = 24 !
should be the optimum on 24-core CPUs
LAPACK and BLAS routines contained in the MKL library are already parallelized.
So it could be that the number of parallel threads should be chosen smaller than
the number of cores, depending on the actual device and algorithm used in the
simulation.
!OpenMP-stacksize =
16777216
! 16777216 bytes = 16 MB (MiB)
OpenMP-stacksize =
67108864
! 67108864 bytes = 64 MB (MiB)
This command sets the stacksize for individual threads used in OpenMP in
units of [bytes].
This corresponds to the environment variable OMP_STACKSIZE.
Debug information
debug-level = 0 !
0 =
no debug information at all
1
! 1 = modest debug
information
2
! 2 =
more debug information
3
! 3 = even more debug information
Alternative: Use command line argument (higher priority).
nextnano3.exe -debuglevel
2
|