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 = <name_of_input_file>
! Here, the placeholder string "<name_of_input_file> "
should be written exactly as shown here and not the name of the input file. It will be
replaced automatically.
!output-directory = output_100K/
!
!output-directory = E:\nextnano\output\
!
!output-directory = "E:\My
Documents\nextnano\output\<name_of_input_file>" !
<== (new!) Here, the
string "<name_of_input_file> "
should be written and not the name of the input file. It will be
replaced automatically.
!
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 !
!----------------------------------------------------------!
Output directory
The whole output will be written into the folder
output_100K/... .
output-directory = output_100K/
!
Further example:
output-directory = output_100K
!
= 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/ .
New: The default output directory has the name
of the input file <name_of_input_file> .
Alternative: Use command line argument (higher priority).
nextnano3.exe -outputdirectory
output_100K
nextnano3.exe -outputdirectory
output_100K/
nextnano3.exe -outputdirectory
./
nextnano3.exe -outputdirectory
"<name_of_input_file>" !
Here, the string "<name_of_input_file>"
should be written and not the name of the input file. It will
be replaced automatically.
nextnano3.exe -outputdirectory
E:\nextnano_output\<name_of_input_file>
nextnano3.exe -outputdirectory
"E:\My
Documents\nextnano_output\<name_of_input_file>"
nextnano3.exe -outputdirectory
"E:\My Documents\nextnano_output\<name_of_input_file>\output"
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/
nextnano3.exe -inputfile
HEMT_300K.in -outputdirectory
"<name_of_input_file>"
Important: If one is using nextnanomat, then the value
of output-directory is ignored because
-outputdirectory
"<simulation_output_folder>/<name_of_input_file>" is passed to the
executable.
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 .
Alternative: Use command line argument (higher priority).
nextnano3.exe -threads
2
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
|