4.6. Command Line

Command line usage:

Example on Linux:

./nextnano.NEGF++_ubuntu_intel --input-file <path to input file> [--output-folder <path to output folder>] [--material-database ./Material_Database.negf] [--threads <integer value>]

nextnano.NEGF++ can be invoked from the command-line using these arguments in arbitrary order:

Mandatory arguments include:

-i, --input-file <path to input file>

Path to XML input file.

Optional arguments include:

-d <path to database>, --database <path to database>

Specify database file.

-l <path to license file>, --license <path to license file>

Specify license file.

-o <folder>, --output-folder <folder>

Specify output directory. If not specified, ./Output will be used.

-t i, --threads i

Set number of parallel threads. Here, i threads are specified.

Note

Multi-threading in the NEGF routines

If present, the input parameter

SimulationParameter{
   ...
   NMaxThreads = 12
   ...
}

sets the maximum number of threads used in the NEGF routines. If --threads command line parameter (see above) is specified in the command line in addition, the number of threads used in the NEGF routines is fixed to the latter value.

If this number exceeds the number of physical cores, NMaxThreads is automatically reduced to the number of physical cores to avoid slowdown of the program. Note that when hyperthreading is activated, the number of physical cores is half of the number of logical processors.

For an automatic setting, do not specify these parameters. Then it will be derived from the number of physical cores and sweep situation.

Parallelization of Temperature-Voltage sweep

This feature will be implemented.