# nextnano - Software for semiconductor nanodevices

## nextnanomat

Software documentation

Operating System

nextnano.cloud

nnm:linux

# nextnanomat on Linux

nextnanomat is programmed in C#, and can thus be executed on any operating system. It is, however, developed on and optimized for Windows. On Linux, you have to either install Wine or Mono and then execute nextnanomat.

Please note that we developed nextnanomat for Windows and not for Linux, therefore many things might not work as expected.

Status 2020-04-07: Recommended to use Wine as described below.

Status 2018-05-03: Recommended to use Wine as described below.

### Option 1: Wine

The following instructions are for Ubuntu version 20.10. Commands for the Wine installation on various distributions are given in Wine Installation. A detailed description on how to install WineHQ on Ubuntu can be found here: Install WineHQ package on Ubuntu

The following commands are needed to install WineHQ on Ubuntu 20.10.

sudo dpkg --add-architecture i386
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ groovy main'
sudo apt update
sudo apt install --install-recommends winehq-stable

• Unzip this file.
• Open a Terminal window and change to the directory where the nextnanomat.exe is located.
• Type: wine nextnanomat.exe
• There will be an error that a Mono package is missing which can be installed automatically. Click Install.
• There will be an error that a Gecko package is missing which can be installed automatically. Click Install.

The first thing you have to do when nextnanomat opens is to activate your license.

Please note that we developed nextnanomat for Windows and not for Linux, therefore some things might not work as expected. Optionally, one can execute the nextnano++ and nextnano³ executables on Linux using Wine without nextnano. You have to type in: … (Add an example here…)

Known problems are:

• On very old CPUs, the 64-bit version of nextnano++ does not work. In this case, please select the 32-bit version of nextnano++. Tools ⇒ Options ⇒ Simulation ⇒ nextnano++ executable ⇒ <path>\nextnano++\bin 32bit\nextnano++_Microsoft_32bit_serial.exe
• Somehow the settings are not saved, i.e. each time one starts nextnanomat, the license has to be activated anew.
• The program crashes.

Things that have to be fixed for future updates are:

• Use a monospaced font for the Input tab. (It seems that the default font for Windows is not found and then another default font (Tahoma) which is not monospaced is chosen.) One can choose a different font for the editor. Tools ⇒ Options ⇒ Editor ⇒ Editor font

The following instructions are for Ubuntu version 18.04 LTS.

Run commands in a terminal:

sudo apt update      # Update system
sudo apt install wine-stable winetricks # Install required packages (without "-stable" in versions bevore Ubuntu 16.10)
winetricks dotnet45  # Install .net support, follow along on-screen instructions, ignore warnings
winetricks corefonts # Install basic fonts of Windows

Finally run winecfg → Select “Windows 8” in Applications → Windows Version and reboot afterwards.

To start the application, use wine /<your_directory_name>/nextnanomat.exe

Example: wine '/home/ubuntu/nextnanoTestversion/nextnanomat.exe'

### Option 2: Mono

(This documentation should be updated for the latest Ubuntu and Mono versions.)

mono nextnanomat.exe &

On some Linux distributions (e.g. Ubuntu), Mono is already preinstalled.

The current Mono version uses .NET Framework version 4.0 by default. nextnanomat, however, still requires the installation of the .NET Framework version 2.0. Therefore the following error occurs:

The assembly mscorlib.dll was not found or could not be loaded.
It should have been installed in the /usr/lib/mono/2.0/mscorlib.dll' directory.

The following solution works:

sudo apt-get install libmono-corlib2.0-cil
sudo apt-get install libmono-winforms2.0-cil
sudo apt-get install mono-complete

All nextnanomat features seem to work on Linux Ubuntu. However, what does not work satisfactorily is the coloring of the 2D plots. They look too bright, so one can hardly recognize the results. A quick fix is to activate “Show grid”. Then the figure looks better.

If you have any feedback on these instructions, please let us know, then we can keep our documentation up to date.

We can also provide a command line version of nextnano for the various Linux distributions on request.

# nextnano++/nextnano3 on Linux

The nextnano3 and nextnano++ simulations can be executed from the Linux terminal by directly using the Linux executables, or by using Wine and the Windows executables. In order to make the programs executable, one needs to run the command chmod a+x *.exe, where (*) is replaced by the corresponding nextnano3 or nextnano++ Linux executable. For nextnano3 simulations, one also has to set the environment variable NEXTNANO by running the command \$ export NEXTNANO=“/<directory_name>/nextnano/<date>“. For license activation on Linux with Wine, please refer to License Activation. It is also possible to request a license.txt file in order to run simulations on Linux without any use of Wine. Should this be the desired option, one needs to modify the name of the license file in the below commands.

### Option 1: Linux executables

The terminal commands for two nextnano3 and nextnano++ sample input files can then be given as follows, to be executed from the nextnano folder directory:

"nextnano3/Linux gcc 64bit/nextnano3_Linux_gcc_64bit.exe" -log -license "License/License_nnp.lic" -outputdirectory "Output/<name_of_input_file>" -inputfile "Sample files/nextnano3 sample files/1D_simple_GaAs_QW.in"
"nextnano++/bin 64bit/nextnano++_Linux_gcc_64bit.exe" --license "License/License_nnp.lic" --outputdirectory "Output" -log "Sample files/nextnano++ sample files/Quantum Mechanics examples/QW_finite_1D_nnp.in"`

In order to simulate other input files, one simply needs to change the name/directory of the last argument. Detail documentation on command line features can be found on the pages nextnano++ command line arguments and nextnano3 command line arguments. Further information and more examples can be found in the README_Linux file and the shell scripts included in the nextnano folder.

### Option 2: Wine and Windows executables

In order to run simulations using the Windows executables, one can simply add the above commands after the command wine or wine64 and modify the name/directory of the executable to choose one of the Windows executables.