4.8. Command Line

Command line usage:

Example on Linux:

$ ./nextnano.NEGF_ubuntu_intel.exe --input-file <path to input file> --license <path to NEGF license file> [--output-folder <path to output folder>] [--material-database ./Material_Database.negf] [--threads <integer value>]

The nextnano.NEGF tool 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.

--help

Print the command line usage and exit.

-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 n, --threads n

Sets the maximum number of threads to be used for openMP parallelization of the calculation of Green’s functions, self-energies, and other linear algebra. Here, n threads are specified.

--version

Print the software version and exit.

Note

Multi-threading in the NEGF routines

If --threads is not specified in the command line, the input parameter

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

is instead used to set this number.

For an automatic setting, do not specify these parameters. If neither of them are present, the maximum number of threads defaults to the hardware concurrency. When hyperthreading is activated, the number of physical cores is half of the number of logical processors. Therefore, it might avoid slowdown of the program by limiting --threads to the number of physical cores.

Parallelization of Temperature-Voltage sweep

This feature will be implemented.


Last update: 31/10/2024