[ Home ] [ News ] [ Contact ] [ Search ] Structure

 About us
 Useful Links
 Publications
 Copyright notice
 nextnano³ documentation

 -> Download Software
 * password protected

 

 
Up
 

Structure of nextnano3 and the source code

Information for programmers and advanced users


This site contains all the necessary information you need if you want to modify the program or add some new parts to the code.


 

Source code documentation of nextnano3

 Structure

   Input parser - How to read in the data of the simulation device and the database.

   Setup (Block 1 - Block 5)

      Block 1
         - Grid and geometry (material grid, physical grid, multiple grid points, Quantum regions, Structure functions (Grid mapping), Rotations)
         - Strain
            - Strain
            - Calculation of strain in nano heterostructures
            - Get strain tensor

        Block 2
           - Generate new band structure (van de Walle model of strained heterostructures)
           - Setup of material data

        Block 3
           - Doping

        Block 4
           - Polarizations (piezo and pyro charges)

        Block 5
           - Setup of quantum models

   Main Program

      Poisson block
         - Solve Poisson problem
         - Linear Poisson equation (Setup and storage of Poisson matrix, Poisson clusters, boundary conditions, right hand side)
         - Nonlinear Poisson equation

      Current block
         - Solve current problem
         - Linear current equation (Setup and storage of current matrix, current clusters, boundary conditions, special case 1D, matrix-vector product)

      Current-Poisson block
         - Self-consistent solution of current and Poisson equation

      Electronic structure
         - Storage of data and setup of arrays on electronic structure
            - Input of k.p parameters
            - Get k|| for 1D (2D Brillouin zone)
         - Information on how to extract information on electronic structure
         - Rotation of Hamilton
            - Storage of rotation
            - Setup of rotation
         - Information on how to assemble the bulk Hamiltonian
         - Setup of k.p Hamiltonian
         - Calculate new k.p states
         - Setup of single-band Schrödinger equation including magnetic field
         - Separation models: eigenvalues <--> Thomas-Fermi
         - Calculate eigenvalues of k.p Schrödinger equation
         - Calculate eigenvalues of single-band Schrödinger equation
         - Environment where these routines are called

      Calculate eigenstates (overwiew)
         - Calculate eigenstates
            - Update k.p states
               - Determine range for k||
               - Get k points

      Densities
         - Densities, derivatives of densities, dopant densities
         - Densities of single-band Schrödinger states
         - k.p densities

      Brillouin zone integration
         - Schrödinger solutions, k.p solutions, Brillouin zone integration

      Numerical routines
         - Numerical routines (eigenvalue solvers)
         - Numerical library (linear equation solvers, eigenvalue solvers)
         - Sparse matrices (a reduced storage scheme for sparse matrices)

 

ges_modules.f90 contains any MODULES that are commonly used by the 1D, 2D and 3D version.

   
Last modified: 25-Aug-2009   -   optimised for Microsoft Internet Explorer 7®