Documente Academic
Documente Profesional
Documente Cultură
nextnano³ is written in Fortran. It has been developed at the Walter Schottky Institute from 1999 to
2010. nextnano++ is written in C++. It has been developed at the Walter Schottky Institute from
2004 to 2008. The software packages have been written by different people that were working at the
Walter Schottky Institute of the Technische Universität München in the Theoretical Semiconductor
Physics group of Prof. Peter Vogl. Essentially, both software packages cover the same physics and
methods, namely
solar cells
electrolytes
graphene
tight-binding (for bulk and one-dimensional superlattices)
the self-consistent CBR method (1D, 2D and 3D)
the NEGF method (1D only) which is particularly suited for quantum cascade lasers.
There are some applications where it is irrelevant which software to use. In this case we recommend
to use both. This has the advantage that the results of one software can be compared to the results of
the other software in order to gain more confidence in them. For some applications, one software
package should be preferred. Please contact support@nextnano.com in order to find out which
software to choose for your particular application.
nextnano³ syntax
nextnano++ syntax
When you use the automatic conversion of nextnano³ input file into nextnano++, you will find that it
probably does not work. Note: You cannot convert nextnano³ input files that contain variables (This
has been fixed in versions from 2017 on). This is not a problem, however. In the output folder there
will be a file called *.in.macro. Here, variables have been replaced. This is a file that you can
convert to nextnano++. If you save and run the nextnano++ input file that has been converted and
that has the suffix _nnp.in, very likely an error appears indicating which line to change. Then some
manual adjustments are needed. The online documentation should be of help in these cases. Please
contact support@nextnano.com if you cannot figure out what to change.
Is there a way to produce a 1D (or 2D) plot of some result, for example the
probability density $\psi^2(x)$ with the conduction band edge
superimposed? In other words, can the GUI show multiple plots at once?
1. Visualize first data set. Menu View ⇒ Keep current graph as overlay (or click on
appropriate button)
You can unselect show overlay if you only want to visualize the second data set. If you need more
graphs to be shown simultaneously, you could add additional columns (with data you want to
visualize) into an ASCII file.
How can I track how much memory is used during the simulations?
List view is the default. Tree view is convenient if you do a voltage sweep with nextnano++ as
for each voltage, one has a different output folder labeled sweep_001/, or if your simulation output
folders are randomly distributed over your hard disk. The following screenshots highlight the
differences.
Tree view
-threads 4
Sure!
Option 1
The material parameters are contained in ASCII text files. You can find them in the installation folder:
nextnano³ software:
nextnano++ software:
These files can be edited with any text editor such as notepad++ (available free of charge).
It is best if you search for a material such as GaSb and then simply use Copy & Paste to reproduce
all relevant entries and then you rename GaSb to something like GaSb_test. Finally, you adjust the
necessary material parameters that you need. In most cases, you don't have to replace all material
parameters. It is only necessary to replace the ones that you need in the simulation.
C:\Users\<user name>\Documents\nextnano\My
Database\database_nnp_GaSb_modified.in
You can then read in the new nextnano++ (or nextnano³) database specifying the location within
nextnanomat.
Option 2
A quicker way is the following. You can overwrite certain material parameters in the input file rather
than entirely defining new materials. For instance if you need HfO2, you could use the material SiO2
and just change the static dielectric constant and conduction and valence band edges or any other
relevant parameters that you need. So basically, you are using the material SiO2 a modified static
dielectric constant and band edges.
Please note that we treat all materials to be either of the crystal structure
The NEGF algorithms (nextnano.QCL, nextnano.MSB, CBR) include matrix-matrix operations which are
well parallelized within the BLAS routines.
If e.g. 4 nextnano simulations are running in parallel on a quad-core CPU, i.e. 4 nextnano executables
are running simultaneously and each of them is using calls to the parallelized MKL library
simultaneously, the total performance might be slower compared to running these simulations one
after the other. In this case using a nextnano executable compiled with the serial version of the Intel
MKL could be faster.
In fact, it strongly depends on your nextnano application (e.g. 1D vs. 3D simulation, LAPACK vs.
ARPACK eigenvalue solver, …) if you benefit from parallelization or not. In general, the best
parallelization can be obtained if you run several nextnano simulations in parallel. For instance, you
could do parameter sweeps (e.g. sweep over quantum well width) using nextnanomat's Template
feature, i.e. if you run 4 simulations simultaneously on a quad-core CPU, e.g. for 4 different quantum
well widths.
Dresselhaus–Kip–Kittel (DKK): $L$, $M$, $N^+$, $N^-$ (zinc blende); $L_1$, $L_2$, $M_1$,
$M_2$, $M_3$, $N_1^+$, $N_1^-$, $N_2^+$, $N_2^-$ (wurtzite)
Luttinger parameters: $\gamma_1$, $\gamma_2$, $\gamma_3$, $\kappa$ (zinc blende);
Rashba–Sheka–Pikus (RSP) parameters $A_1$, $A_2$, $A_3$, $A_4$, $A_5$, $A_6$, $A_7$
(wurtzite)
Some authors only use 3 parameters $L$, $M$, $N$ (or $\gamma_1$, $\gamma_2$, $\gamma_3$)
which is fine for bulk semiconductors without magnetic field but not for heterostructures because the
latter require 4 parameters, i.e. $N^+$, $N^-$ (instead of $N$ only) or $\kappa$. If these parameters
are not known, they can be approximated.
The 8-band $\bf{k} \cdot \bf{p}$ parameters can be calculated from the 6-band parameters taking
into account the temperature dependent band gap $E_{\rm gap}$ and the Kane parameter $E_{\rm
P}$ (zinc blende). For wurtzite the parameters are $E_{\rm gap}$ and the Kane parameters $E_{{\rm
P}1}$, $E_{{\rm P}2}$.
The 8-band Hamiltonian also needs the conduction band mass parameter $S$ (zinc blende) or $S_1$,
$S_2$ (wurtzite). They can be calculated from the conduction band effective mass $m_{\rm c}$, the
band gap $E_{\rm gap}$, the spin-orbit split-off energy $\Delta_{\rm so}$ and the Kane parameter
$E_{\rm P}$ (zinc blende). For wurtzite the parameters are $m_{{\rm c},\parallel}$, $m_{{\rm
c},\perp}$, $E_{\rm gap}$, $\Delta_{\rm so}$, the crystal-field split-off energy $\Delta_{\rm cr}$ and
the Kane parameters $E_{{\rm P}1}$, $E_{{\rm P}2}$.
Finally there is the inversion asymmetry parameter $B$ for zinc blende. For wurtzite there are $B_1$,
$B_2$, $B_3$.
For more details on these equations, please refer to Section 3.1 The multi-band $\bf{k} \cdot \bf{p}$
Schrödinger equation in the PhD thesis of S. Birner.
Spurious solutions
Some people rescale the 8-band $\bf{k} \cdot \bf{p}$ in order to avoid spurious solutions. The 8-
band $\bf{k} \cdot \bf{p}$ parameters can be calculated from the 6-band parameters taking into
account the band gap $E_{\rm gap}$, the spin-orbit split-off energy $\Delta_{\rm so}$ and the Kane
parameter $E_{\rm P}$ (zinc blende). For wurtzite the parameters are $E_{\rm gap}$, the spin-orbit
split-off energy $\Delta_{\rm so}$, the crystal-field split-off energy $\Delta_{\rm cr}$ and the Kane
parameters $E_{{\rm P}1}$, $E_{{\rm P}2}$.
For more details, please refer to Section 3.2 Spurious solutions in the PhD thesis of S. Birner.
Theoretical model for the detection of charged proteins with a silicon-on-insulator sensor
S. Birner, C. Uhl, M. Bayer, P. Vogl
J. Phys.: Conf. Ser. 107, 012002 (2008)
For simulations that use the Contact Block Reduction method (CBR) (ballistic transport), you should
cite any of the following papers:
nextnano.MSB software: For simulations that use the multi-scattering Büttiker (MSB) probe model
(NEGF), you should cite:
Efficient method for the calculation of dissipative quantum transport in quantum cascade lasers
P. Greck, S. Birner, B. Huber, P. Vogl
Optics Express 23, 6587
nextnano.QCLsoftware: For simulations that use the NEGF method, you should cite:
Contrasting influence of charged impurities on transport and gain in terahertz quantum cascade
lasers
T. Grange
Phys. Rev. B 92, 241306(R) (2015)
For simulations that use the NEGF algorithm included in the nextnano³ software, you should cite any
of these publications:
There might be further papers in the literature that are more suited to be cited in certain cases.
Licensing
University license
Government institution license
Company license
The license can be used on several computers simultaneously. If a user has a valid license, this
license can also be installed on private computers.
The license is an annual license. After the license has expired, no further simulations can be done.
Visualization of previous results of calculations is still possible.
The nextnano software even runs on Laptops. Therefore, for most typical simulations, you don't have
to buy a special computer. Still, you might have CPU-intensive calculations which require more
horsepower. In this case, the following configurations or their equivalent will give excellent
performance for about 1.000 € or less:
CPU+RAM: Intel i7-8700, 6 cores, 3.2 GHz (Coffee Lake) with 32 GB DDR4-2666 RAM, or Intel
i7-7700, 4 cores, 3.6 GHz (Kaby Lake) with 32 GB DDR4-2400 RAM.
Note: These CPUs can be bought as boxed (including a default cooler) or tray (without default
cooler). However, both CPUs are too noisy with the default cooler in the boxed variant when running
simulations. We recommend buying a large additional CPU cooler.
Main board: Any compatible motherboard will work, please select according to your extensibility
needs, required peripheral ports, etc. The integrated graphics on the mainboard usually suffices for
office use and development. But be prepared to add a dedicated graphics card for CAD, multi-monitor
setups and the likes.
Storage: E.g. a 500 GB SSD for the OS and programs, together with a 2 TB HD for simulation data.
Power supply: E.g. 500 W to allow future upgrades such as a dedicated graphics card.
Computer case: Select according to available space, future extensibility, and aesthetic desire. Silent
cases are recommended for reducing noise. Please make sure that there is enough clearance to fit
your CPU cooler and large additional components such as graphics cards inside.
(For the experts: If you are planning to have your PC assembled from components, please use tools
such as prime95, Intel Extreme Tuning Utility, and/or Intel Linpack to test system stability and
adequate cooling under extended heavy load.)
CPU: Intel i7-8700, 6 cores, 3.2 GHz (Coffee Lake) (a large additional CPU cooler is
recommended, see comments above)
CPU cooler, e.g. be quiet! Pure Rock
RAM: 32 GB (DDR4-2666), e.g. Corsair Vengeance
CPU: Intel i7-7700, 4 cores, 3.6 GHz (Kaby Lake) (a large additional CPU cooler is recommended,
see comments above)
CPU cooler, e.g. be quiet! Pure Rock Slim
RAM: 32 GB (DDR-2400), e.g. Corsair Vengeance
Storage: 256 GB SDD + 2 TB HDD
Motherboard with integrated graphics processing unit, e.g. ASRock Z270M-ITX/ac
Power supply: e.g. Pure Power 10, 500 W ATX 2
Computer case: Midi Tower, e.g. Zalman R1
From:
https://www.nextnano.org/dokuwiki/ - nextnano - Software for
semiconductor nanodevices
Permanent link:
https://www.nextnano.org/dokuwiki/doku.php?id=nnm:faq