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 
	 
  |