User Tools

Site Tools


nnm:faq

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
nnm:faq [2022/01/13 15:08]
carola.burkl [What is the difference between "List view" and "Tree view"?]
— (current)
Line 1: Line 1:
-====== Frequently asked questions ====== 
- 
-New documentation for FAQ https://​www.nextnano.com/​manual/​faq/​index.html 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-= 
-==== Can I add new materials to the database? ==== 
- 
-Sure! 
- 
-=== Option 1 === 
-The material parameters are contained in ASCII text files. 
-You can find them in the installation folder: 
- 
-nextnano³ software: 
-<​code>​ 
-C:\Program Files (x86)\nextnano\2015_08_19\nextnano++\Syntax\database_nnp.in 
-</​code>​ 
-nextnano++ software: 
-<​code>​ 
-C:\Program Files (x86)\nextnano\2015_08_19\nextnano3\Syntax\database_nn3.in 
-</​code>​ 
-These files can be edited with any text editor such as [[http://​notepad-plus-plus.org|notepad++]] (available free of charge). 
- 
-More information on how to add materials to the 
-  * nextnano++ software can be found [[http://​www.nextnano.com/​nextnanoplus/​software_documentation/​database.htm|here]],​ 
-  * nextnano³ software can be found [[http://​www.nextnano.com/​nextnano3/​input_parser/​database/​docu/​How-to-add-material-parameters.htm|here]]. 
- 
-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. 
- 
-It is a good idea to save the new database to a new location such as 
-<​code>​ 
-C:​\Users\<​user name>​\Documents\nextnano\My Database\database_nnp_GaSb_modified.in 
-</​code>​ 
-You can then read in the new nextnano++ (or nextnano³) database specifying the location within nextnanomat. 
- 
-''​Tools''​ => ''​Options...''​ => ''​Material database''​ => ''​nextnano++ database file:''​ 
- 
-''​Tools''​ => ''​Options...''​ => ''​Material database''​ => ''​nextnano³ database file:''​ 
- 
-=== 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. 
- 
-More information on how to add materials to the 
-  * nextnano++ software can be found [[http://​www.nextnano.com/​nextnanoplus/​software_documentation/​input_file/​database.htm|here]],​ 
-  * nextnano³ software can be found [[http://​www.nextnano.com/​nextnano3/​input_parser/​keywords/​binary-zb-default.htm|here]]. 
- 
-Please note that we treat all materials to be either of the crystal structure 
-  * zinc blende (including diamond type) or 
-  * wurtzite. 
- 
----- 
-==== Can I take advantage of parallelization of the nextnano software on multi-core CPUs? ==== 
-The short answer is:\\ //Some numerical routines are parallelized which is done automatically. These are the numerical routines, e.g. for calculating the eigenvalues with a LAPACK solver (which itself uses BLAS).// 
- 
-The long answer is:\\ The nextnano software includes the Intel<​sup>​(r)</​sup>​ [[http://​software.intel.com/​en-us/​intel-mkl| Math Kernel Library]] (MKL). 
-MKL includes the [[https://​en.wikipedia.org/​wiki/​Basic_Linear_Algebra_Subprograms|BLAS]] and [[https://​en.wikipedia.org/​wiki/​LAPACK|LAPACK]] library routines for numerical operations. 
-The MKL dynamically changes the number of threads. 
-  * nextnano++ - uses MKL (parallel version)\\ The executables that are compiled with the Intel and Microsoft compilers use MKL (parallel version). The executable that is compiled with the GNU compiler (gcc/​gfortran) uses the nonparallelized version of the BLAS and LAPACK source codes available from [[http://​www.netlib.org|netlib]]. 
-  * nextnano³ - uses MKL (parallel version)\\ The executables that are compiled with the Intel and NAG (64-bit) compilers use MKL (parallel version). The executables that are compiled with the GNU compiler (gfortran) and NAG (32-bit) use the nonparallelized version of the BLAS and LAPACK source codes available from [[http://​www.netlib.org|netlib]].\\ There is a nextnano³ executable available that uses OpenMP parallelization for 
-      * CBR (parallelization with respect to energy grid) 
-      * NEGF (parallelization with respect to energy grid and further loops)\\ number-of-MKL-threads ​            = 8 
-      * Calculation of eigenstates for each $k_\parallel$ (1D and 2D simulations) 
-      * Matrix-vector products of numerical routines\\ Note: Not all operations are thread-safe,​ e.g. one cannot combine $k_\parallel$ parallelization with the ARPACK eigenvalue solver.\\ Only for this executable, the flag ''​number-of-parallel-threads = 4''​ has an effect. The NEGF keyword also supports ''​number-of-MKL-threads = 4''​ (''​0''​ means //dynamic// with is recommended) and ''​MKL-set-dynamic = yes''​ / ''​no''​. 
-  * nextnano.QCL - uses MKL (parallel version) 
-  * nextnano.MSB - uses MKL (parallel version) 
-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. 
----- 
- 
-==== I don't understand the $\bf{k} \cdot \bf{p}$ parameters ==== 
- 
-In the literature, there are two different notations used: 
-  * 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) 
-They are equivalent and can be converted into each other. 
- 
-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. 
- 
-There are different $\bf{k} \cdot \bf{p}$ parameters for 
-  * 6-band $\bf{k} \cdot \bf{p}$ and 
-  * 8-band $\bf{k} \cdot \bf{p}$. 
-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 [[http://​www.nextnano.com/​downloads/​publications/​PhD_thesis_Stefan_Birner_TUM_2011_WSIBook.pdf|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 [[http://​www.nextnano.com/​downloads/​publications/​PhD_thesis_Stefan_Birner_TUM_2011_WSIBook.pdf|PhD thesis of S. Birner]]. 
- 
-=== Specific implementation nextnano++ === 
-See section ''​kp_8band{}''​ in [[http://​www.nextnano.com/​nextnanoplus/​software_documentation/​input_file/​quantum.htm|quantum{}]]. 
- 
-=== Specific implementation nextnano³ === 
-  * See section //Choice of $\bf{k} \cdot \bf{p}$ parameters//​ in [[http://​www.nextnano.com/​nextnano3/​input_parser/​keywords/​numeric-control.htm|$numeric-control]]. 
-  * See section //$\bf{k} \cdot \bf{p}$ parameters//​ in [[http://​www.nextnano.com/​nextnano3/​input_parser/​database/​docu/​How-to-add-material-parameters.htm|Which material parameters are used?]]. 
-  * See section //​Luttinger-parameters//​ in [[http://​www.nextnano.com/​nextnano3/​input_parser/​keywords/​binary-zb-default.htm|$binary-zb-default]]. 
- 
----- 
- 
-==== How shall I cite the nextnano software in publications?​ ==== 
- 
-You can cite any of the following papers: 
-  * [[http://​dx.doi.org/​10.1109/​TED.2007.902871|nextnano:​ General Purpose 3-D Simulations]]\\ S. Birner, T. Zibold, T. Andlauer, T. Kubis, M. Sabathil, A. Trellakis, P. Vogl \\ IEEE Trans. Electron Dev. **54**, 2137 (2007) 
-  * [[http://​dx.doi.org/​10.1007/​s10825-006-0005-x|The 3D nanometer device project nextnano: Concepts, methods, results]]\\ A. Trellakis, T. Zibold, T. Andlauer, S. Birner, R. K. Smith, R. Morschl, P. Vogl\\ J. Comput. Electron. **5**, 285 (2006) 
- 
-For simulations including electrolytes,​ you should cite: 
-  * [[http://​stacks.iop.org/​1742-6596/​107/​i=1/​a=012002|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: 
-  * [[http://​dx.doi.org/​10.1063/​1.1560567|Efficient method for the calculation of ballistic quantum transport]]\\ D. Mamaluy, M. Sabathil, P. Vogl\\ J. Appl. Phys. **93**, 4628 (2003) 
-  * [[http://​dx.doi.org/​10.1007/​s10825-009-0293-z|Ballistic quantum transport using the contact block reduction (CBR) method - An introduction]]\\ S. Birner, C. Schindler, P. Greck, M. Sabathil, P. Vogl\\ J. Comput. Electron. **8**, 267 (2009) 
- 
-nextnano.MSB software: For simulations that use the multi-scattering Büttiker (MSB) probe model (NEGF), you should cite: 
-  * [[https://​doi.org/​10.1364/​OE.23.006587|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: 
-  * [[http://​dx.doi.org/​10.1103/​PhysRevB.92.241306|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:​ 
-  * [[http://​dx.doi.org/​10.1063/​1.4863665|Modeling techniques for quantum cascade lasers 
-]]\\ C. Jirauschek, T. Kubis\\ Appl. Phys. Rev. **1**, 011307 (2014) 
-  * [[https://​doi.org/​10.1103/​PhysRevB.79.195323|Theory of non-equilibrium quantum transport and energy dissipation in terahertz quantum cascade lasers]]\\ T. Kubis, C. Yeh, P. Vogl, A. Benz, G. Fasching, C. Deutsch\\ Phys. Rev. B **79**, 195323 (2009) 
- 
-There might be further papers in the literature that are more suited to be cited in certain cases. 
- 
----- 
- 
- 
- 
  
nnm/faq.1642082923.txt.gz · Last modified: 2022/01/13 15:08 by carola.burkl