nextnano.com
 nextnano³
 Download | SearchCopyright | Publications
 * password protected

 

nextnano³ software

 

 

 

 

 
 

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