nextnano.com
==> nextnano Documentation (New)

nextnano++ software

     

Up

This is the old documentation. Here's the link to the new documentation.

doping{}

Specifications that define information on doping.

 

The doping profile is assiged to a certain region.
It can be printed out using the keyword structure{ output_impurities{} }.

Note: Information on impurities - which can be donors, acceptors or fixed charge - is specified here: impurities{}

structure{

   ...

   output_impurities{            #
output doping concentration for each grid point in units of [1018/cm3]
      boxes = yes/no             #
(optional)
   }

   region{

   ...

      doping{

         constant{
            name = "Si"                 #
name of impurity
            conc = 1.0e18               #
doping concentration [cm-3] (applies to 1D, 2D and 3D)
            add  = yes                  #
(optional) yes or no (default = yes)
         }

         linear{
            name = "n-Si-in-GaAs"       #
name of impurity
            conc = [1e18,2e18]          #
start and end value of doping concentration [cm-3]
            x    = [50.0,100.0]         #
x coordinates of start and end point [nm]
            y    = [50.0,100.0]         #
y coordinates of start and end point [nm] (2D or 3D only)
            z    = [50.0,100.0]         #
z coordinates of start and end point [nm] (3D only)
                                        #
This defines a doping profile, which varies linearly along the line from the point (50,50,50) to the point (100,100,100)
                                                                         
   # and stays constant in the perpendicular planes.
            add  = yes                  #
(optional) yes or no (default = yes)
         }


         gaussian1D{                    #
Gaussian distribution function in one direction, constant in perpendicular directions
            name    = "p-B-in-Si"       #
name of impurity
            conc    = 1.0e18            #
maximum of doping concentration [cm-3]
            dose    = 1e12              #
dose of implant [cm-2] (integrated density of gaussian function), typical ranges are from 1e11 to 1e16.
                                        #
Either dose or conc has to be specified, but not both simultaneously.
                                        # conc = dose / ( SQRT(2*pi) * sigma_x )
            x       = 50.0              #
x coordinate of Gauss center (ion's projected range Rp, i.e. the depth where most ions stop) [nm]
            sigma_x = 5.0               # root mean square deviation in x direction (statistical fluctuation of Rp) [nm]
            y       = ...               #
(2D or 3D only)
            sigma_y = ...               #
            z       = ...               #
(3D only)
            sigma_z = ...               #
                                        # On
ly one out of x, y, z and the appropriate standard deviation (sigma) has to be specified.
            add  = yes                  #
(optional) yes or no (default = yes)
         }
        
Note: This profile corresponds to LSS theory (Lindhard, Scharff, Schiott theory) - Gaussian distribution of ion implantation.

         gaussian2D{                    #
Gaussian distribution function in two directions, constant in perpendicular direction (2D or 3D only)
            name    = "p-B-in-Si"       #
name of impurity
            conc    = 1.0e18            #
maximum of doping concentration [cm-3]
            dose    = 1.0               #
dose of implant [cm-1] (integrated density of 2D gaussian function)
                                        #
Either dose or conc has to be specified, but not both simultaneously.
            x       = 50.0              #
x coordinate of Gauss center [nm]
            sigma_x = 5.0               # root mean square deviation in x direction [nm]
            y       = 50.0              #
y coordinate of Gauss center [nm]
            sigma_y = 5.0               #
root mean square deviation in y direction [nm]
            z       = ...               #
(3D only)
            sigma_z = ...               #
                                        #
Exactly two out of x, y, z and the appropriate standard deviations (sigma) have to be specified.
            add  = yes                  #
(optional) yes or no (default = yes)
         }

         gaussian3D{                    #
Gaussian distribution function in three directions (3D only)
            name    = "p-B-in-Si"       #
name of impurity
            conc    = 1.0e18            #
maximum of doping concentration in [cm-3]
            dose    = 1.0               #
dose of implant [dimensionless] (integrated density of 3D gaussian function)
            x       = 50.0              #
x coordinate of Gauss center [nm]
            sigma_x = 5.0               # root mean square deviation in x direction [nm]
            y       = 50.0              #
y coordinate of Gauss center [nm]
            sigma_y = 5.0               #
root mean square deviation in y direction [nm]
            z       = 50.0              #
z coordinate of Gauss center [nm]
            sigma_z = 5.0               #
root mean square deviation in z direction [nm]
                                        # All three
x, y, z and the appropriate standard deviations (sigma) have to be specified.
            add  = yes                  #
(optional) yes or no (default = yes)
         }

         import{                                   # import generation profile from external file
            name    = "p-B-in-Si"                  #
impurity name uses imported alloy profile
            import_from = "import_doping_profile"  #
reference to imported data in import{}. The file being imported must have exactly one data component.
         }

        
This figure shows two impurity profiles based on LSS theory.
         More information can be found in this tutorial: 1D Schrödinger-Poisson tutorial.

        

        
For further details see for example:
         "Very brief Introduction to Ion Implantation for Semiconductor Manufacturing" by Gerhard Spitzlsperger

      } # doping
   }    # region
}       # structure
 

It is also possible to remove a doping profile from a specific region.

structure{
   region{
      doping{ remove{} }             #
remove doping from this region, to keep certain regions free from doping.
   }    # region
}       # structure
 

 

Examples (3D)

  • doping{
       gaussian3D{                                 #
    three-dimensional Gaussian profile
          name = "dope_p"                          #
    p-type doping
          conc = 10.0e18                           #
    doping concentration [cm-3]
          x = 30        y = 20        z = 20       #
    position of the Gauss center (x,y,z)=(30,20,20)
          sigma_x =  sigma_y = 2   sigma_z = #
    Gauss width along x, y and z directions
       }
       gaussian2D{                                 #
    two-dimensional Gaussian profile (constant profile along z direction)
          name = "dope_p"                          #
    p-type doping
          conc = 10.0e18                           #
    doping concentration [cm-3]
          x = 10        y = 20                     #
    position of the Gauss center (x,y)=(10,20)
          sigma_x = 5   sigma_y = 5                #
    Gauss width along x and y directions
       }
    }
     
  • The following figure shows a 3D doping profile that is defined inside a 20 nm x 20 nm x 50 nm cube where the 50 nm are the z direction. The doping profile is homogeneous with respect to the (x,y) plane, it only varies along the z direction.



    The doping profile is constant between z = 10 nm and z = 25 nm with a concentration of 1 x 1018 cm-3. It has Gaussian shape from z = 25 nm to z = 45 nm (gaussian1D). It is zero between z = 0 nm and z = 10 nm, as well as between z = 45 nm and z = 50 nm.

    If you want to obtain the input file that was used to obtain this 3D doping profile plot (constant + Gaussian shape), please contact stefan.birner@nextnano.de.
    -> 3Ddoping_profile.in

 

doping{} and generation{} is always additive per default (add = yes) (unless import is different),
i.e. each profile adds to the already existing dopants/fixed charges/generation at a given point.
At the same time, using remove{}, all species of the already existing doping or generation concentrations can be removed.
However, there is also the problem that remove{} removes all species of dopants/fixed charges at a given point.
Thus, removing e.g. only donors but not acceptors is difficult.
This problem is solved by the new "add = yes/no" flag, which the user can specify for each profile (and thus for the species of that profile),
whether the profile should add to (which is the default) or replace the already existing concentration of the profile species.

For import{}, this flag has not been implemented yet.