doping-function
Doping profiles
Doping profiles can be specified by the product of n  functions. n  is the dimension of the simulation, 
i.e. n = 1, 2 or 3. Each function depends only on 
one coordinate. 
The doping profile is independent of the regions specified before. The 
function is applied to the region given by the specifier only-region. 
The doping concentration is at the position specified by the specifier
position. 
The function is normalized such that the result is doping concentration at 
position position. 
The impurity number specifies the kind of impurities used in the profile. 
Note: Can be used with a doping 
concentration sweep where the doping-concentration is varied 
stepwise. 
  
!------------------------------------------------------------------! 
$doping-function                                        
optional   ! 
 doping-function-number                 
integer         
required   ! 
 impurity-number                        
integer         
required   ! 
 base-function-1                        
character       
optional   ! 
 base-function-2                        
character       
optional   ! 
 base-function-3                        
character       
optional   ! 
 apply-function-1-along-dir             
integer_array   optional   ! 
 apply-function-2-along-dir             
integer_array   optional   ! 
 apply-function-3-along-dir             
integer_array   optional   ! 
 doping-concentration                   
double          
required   
! 
 position                               
double_array    optional   
! 
 parameters-base-function-1             
double_array    
optional   ! 
 parameters-base-function-2             
double_array    
optional   ! 
 parameters-base-function-3             
double_array    
optional   ! 
 exclude-materials                      
integer_array   optional   ! 
 only-region                            
double_array    
optional   ! 
                                                                   
! 
 doping-profile-defined-by-function     
character       
optional   ! 
new 
                                                                   
! 
 read-in-doping-file                    
character       
optional   ! 
 doping-filename                        
character       
optional   ! 
                                                                   
! 
 doping-sweep-active                    
character       
optional   ! 
 doping-sweep-step-size                 
double          
optional   
! 
 doping-sweep-number-of-steps          
integer        
optional   
! 
$end_doping-function                                    
optional   ! 
!------------------------------------------------------------------! 
  
Example 
Constant doping profile
 $doping-function 
 
  doping-function-number = 1 
  impurity-number        =
1               
! properties of this impurity type have to be here: 
$impurity-parameters 
  doping-concentration   = 0.5d0           
! 0.5 * 10^18 cm^-3 
  only-region            
= 10.0d0 160.0d0  
 
 $end_doping-function 
Note: Can be used with a doping 
concentration sweep where the doping-concentration is varied 
stepwise. 
  
  
doping-function-number = 1 
                      
= 2 
                      
= ... 
An integer number. At the very end, the doping function numbers must be given in 
a way, that a dense ascending series starting at 1 
can be formed. 
impurity-number = 1 
              
 = 2 
              
 = ... 
An integer number. Properties of this impurity number have to be specified 
later. 
This is a reference to an impurity and its parameters which will be specified by
$impurity-parameters. 
 
More complicated doping profiles
You can use different base functions along each simulation direction 
to define more complicated doping profiles. 
base-function-1 = string-1 
base-function-2 = string-2 
base-function-3 = string-3 
a valid base function name 
string-i can be one of the one-dimensional functions:
constant,
linear,
gauss-1d,
step-1d,
well-1d 
The final doping profile will result from a product of these functions. 
parameters-base-function-1 = double1 .... 
parameters-base-function-2 = double1 .... 
parameters-base-function-3 = double1 .... 
function parameters 
Parameters for the selected base functions. Dependent on the base function 
chosen, the following is expected: 
  
Constant base function: Constant doping profile
base-function-1            = constant 
No further function parameters required in 1D simulations. 
Note: Can be used with a doping 
concentration sweep where the doping-concentration is varied 
stepwise. 
  
  
Linear base function: Linear doping profile
base-function-1            = 
linear 
The example shows which additional parameters are necessary. 
Example: 
  
$doping-function 
 
 doping-function-number     =
1                       
! doping function #1 
 impurity-number            
= 1                       
! properties of this impurity type have to be specified below 
 doping-concentration       =
0.5d0                   
! 0.5 * 1.0 * 10^18 cm^-3 = 0.5 * 10^18 cm^-3 
 position                   
= -20d0                   
! doping concentration refers to that position, i.e. -20 nm 
 only-region                
= -20d0 0d0               
! only from -20 nm to 0 nm 
 base-function-1            
= linear                 
! linear doping profile 
 apply-function-1-along-dir = 0 0 1  
                
! along z direction 
 parameters-base-function-1 = -20d0 0d0   
0.5d0 0.0d0 ! (1) zmin = -20 nm      
(2) zmax = 0 nm 
                                                      
! (3) 0.5 * 10^18 cm^-3  (4)
0.0 * 10^18 cm^-3 
 
 doping-function-number    
= 2                       
! doping function #2 
 impurity-number            
= 2                       
! properties of this impurity type have to be specified below 
 doping-concentration       =
1d0                     
! 1.0 * 10^18 cm^-3 
 position                   
= 10d0                    
! doping concentration refers to that position, i.e. 10 nm 
 only-region                
= 0d0 10d0                
! only from 0 nm to 10 nm 
 base-function-1            
= linear                 
! linear doping profile 
 apply-function-1-along-dir = 0 0 1  
                
! along z direction 
 parameters-base-function-1 = 0d0 10d0    
0.0d0 1.0d0 ! (1) zmin = 0 nm         
(2) zmax = 10 nm 
                                                      
! (3) 0.0 * 10^18 cm^-3   (4)
1.0 * 10^18 cm^-3 
 
$end_doping-function 
  
  
LSS theory (Lindhard, Scharff, Schiott theory) - 
Gaussian distribution of ion implantation impurity profile
base-function-1            = gauss-1d         
! LSS theory 
parameters-base-function-1 = center-coordinate  
gauss-width         minimum-value  maximum-value 
center-coordinate is the position of the Gauss center along the 
relevant direction i in units of 
[nm]. 
gauss-width is usually called sigma in the formula of the 
Gaussian distribution function (in units of [nm]). 
For the meaning of gauss-width 
have a look at the
10 DM 
banknote of the German "Deutsche Mark" or any mathematical textbook. 
 minimum-value minimum  value of doping concentration 
in units of 1018 [cm-3] 
 maximum-value maximum value of doping concentration 
in units of 1018 [cm-3] 
 
Within LSS theory the specifiers correspond to the following notations: 
base-function-1            = gauss-1d         
! LSS theory 
parameters-base-function-1 = projected-range    
projected-straggle  
minimum-value  maximum-value 
apply-function-1-along-dir = 0 0 1           
! along z direction 
doping-concentration       =
implanted-dose / ( SQRT(2*pi) * projected-straggle ) 
! concentration at reference position 
(see below) 
position                   =
projected-range  ! doping concentration 
refers to this position 
 
projected-range    Rp (ion's projected 
range) in units of [nm], i.e. the depth where most ions stop. 
projected-straggle Delta Rp 
(ion straggle) in units of [nm], i.e. the statistical fluctuation 
of Rp.  
implanted-dose     
phi in units of [1/cm^2] (dose of the implant), typical ranges are 
from 1d11 to 
1d16. 
 
The program calculates from these parameters the dopant 
distribution using LSS theory. The calculated dopant profile can be printed out 
using the keyword $output-material
and the specifier doping-concentration. 
 
The 1D 
Schrödinger-Poisson tutorial shows a figure of two impurity profiles based 
on LSS theory. 
 
  
 
For further details see for example: 
"Very brief 
Introduction to Ion Implantation for Semiconductor Manufacturing" by Gerhard 
Spitzlsperger 
  
  
User-defined doping function
Using the specifier 
doping-profile-defined-by-function, one can define an arbitrary function 
n(x,y,z) for the doping profile. 
The value of this function is finally multiplied by the value specified in 
doping-concentration. Obviously, one can also set 
doping-concentration = 1d0. 
The variables x, y, z refer to the grid point coordinates of the simulation area 
in units of [nm]. 
Example: The red Gaussian shaped curve in 
the above figure can also be achieved by defining the Gaussian function 
directly: 
$doping-function 
 ... 
   %mu      =
86                                      
!    mu of Gaussian distribution (DisplayUnit:nm) 
   %sigma   =
44                                      
! sigma of Gaussian distribution (DisplayUnit:nm) 
   %max_dop = 
0.181337400182469                       
! maximum doping concentration at center of Gaussian distribution 
(DisplayUnit:1e18cm^-3) 
 
 doping-function-number             =
4               
! doping function #4 
 impurity-number                    
= 2               
! 
 doping-concentration               
= %max_dop        ! 1 
* 10^18 cm^-3 
 doping-profile-defined-by-function = " exp(- 
(z-%mu)^2 / (2*%sigma^2) 
) "  ! n(x,y,z) = ...   (dimensionless) 
          
                         
= no              ! do not use 
user-defined doping function 
The following operators and functions are supported: 
	+ , - , 
	* , / , ^ 
	abs , exp , sqrt
	, log , log10
	, sin , cos 
	, tan , sinh , 
	cosh , tanh , asin
	, acos , atan 
  
  
Predefined doping functions
base-function-1            = step-1d 
parameters-base-function-1 = para(1) = center, para(2) = width, para(3) = 
leftval, para(4) = rightval 
base-function-1            = well-1d 
parameters-base-function-1 = para(1) = center, para(2) = width, para(3) = 
leftval, para(4) = rightval 
                             
para(5) = center, para(6) = width, para(7) = leftval, para(8) = rightval 
First 4 parameters for left step, second 4 parameters for right step. 
This is a well with double gauss walls. The walls are centered at parameter center
 and the slope of the walls is given by width. 
apply-function-1-along-dir = i j k 
apply-function-2-along-dir = i j k 
apply-function-3-along-dir = i j k 
Variation of function-i  is along the specified direction (0 0 1
or 
0 1 0 or 1 0 0). 
doping-concentration = double 
concentration at reference position (see below). 
A doping concentration at the position specified by the next specifier 
(position). The function defined above is normalized such that the result is 
doping concentration at position position. 
  Example: 
  We take a constant doping with a 
  concentration 8.0*1018
  cm-3. 
  1D simulation: 8.0d0 * 1018/cm3. 
     doping-concentration = 
  8.0d0 
  2D simulation: 8.0d0 * 1018/cm3. 
     doping-concentration =
  8.0d0 
  3D simulation: 8.0d0 * 1018/cm3 
     doping-concentration =
  8.0d0 
  So we take the value to be
  8.0d0 because we assume a 3D 
  doping although we do a 1D or 2D simulation. 
  Thus it would be wrong to take 
  - 2.0 *106 cm-1   
   in the 1D case (cubic root) 
  - 4.0 *1012 cm-2
    in the 2D case (squared cubic root) 
 
position = coord1 ... 
Doping concentration refers to that position. 
The coordinates of a position which is used to fix normalization of the doping 
function profile. Can be omitted only for constant doping. 
exclude-materials = num1 ... 
To keep certain materials free from doping (e.g. air). 
A list of defined material numbers which should not be doped. 
only-region = coord1 ... 
Apply doping function only to this region (coordinates of a cube, 
rectangle, line). 
Restrict doping to this region only. The region is either a cube, rectangle or 
a line. The coordinates given specify the extension of the region as usual. 
Note: See comments on how to specify correct interfaces further below. 
  
Example (2D): 
$doping-function                                     
! 
                                                     
! 
 doping-function-number = 1                          
! 
 impurity-number        =
1                          
! properties of this impurity type have to be specified by
$impurity-parameters 
 doping-concentration   = 10d0                      
! 10 * 1018/cm3. 
 only-region            
= 0.0d0 50.0d0 30.0d0 60.0d0 !
xmin xmax  ymin ymax 
                                                     
! 
$end_doping-function                                 
! 
  
Note: It you want to generate a very "accurate" doping 
profile, then you should apply the doping between interfaces. Interfaces 
are set if the material number is different. 
Example: You want to specify a doping 
between 35.0 and 35.3 nm. Then you should consider to define a separate region, 
a separate cluster and a separate material for this 0.3 nm region. 
 
Accurate doping profile: 
   35.0     35.15    35.3                 
! [nm] 
     x        x        
x        x         
! physical grid points 
     |                 
|                  
! interface 
    o|o       o       
o|o       o         
! 
'multiple grid point' grid points (including multiple points) 
.         
.       .         
.             !
material grid points (material parameters) 
----- _________________ ------------------!
doping area 
    0|1       1       1|0                 
! weighting factor 
  
Not so accurate doping profile: 
   35.0     35.15    35.3                 
! [nm] 
     x        x        
x        x         
! physical grid points 
     |                                    
! no interface at 35.3 nm 
    o|o       o        
o        o         
! 
'multiple grid point' grid points (including multiple points) 
.         
.       .         
.             !
material grid points (material parameters) 
----- ____________________ ---------------!
doping area 
    0|1       1       0.5                 
! weighting factor (an average) 
  
Another not so accurate doping profile: 
   35.0     35.15    35.3                 
! [nm] 
     x        x        
x        x         
! physical grid points 
                                          
! no interfaces at all 
     o        o        
o        o         
! 
'multiple grid point' grid points (including multiple points) 
.         
.       .         
.             !
material grid points (material parameters) 
-- _______________________ ---------------!
doping area 
   
0.5       1       0.5                 ! weighting factor 
  
Obviously all three cases can produce different results. 
  
Example (3D): 
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. It is 
zero between z = 0 nm and z = 10 nm, as well as 
between z = 45 nm and z = 50 nm. 
 $doping-function 
 
  !------------------------------------- 
  ! constant doping of 1 * 10^18 cm^-3. 
  !------------------------------------- 
  doping-function-number     = 1                                 
! first doping funtion 
  impurity-number            
= 1                                
! 
  doping-concentration       =
1.0d0                             
! 1.0d0 => 1.0 * 10^18 / cm^3  
  only-region                
= 0d0 20d0  0d0 20d0  10.0d0 25.0d0 ! 
xmin xmax  ymin ymax  zmin zmax  
 
 
  
!-------------------------------------------------------------------------- 
  ! Gaussian shaped doping along z direction, constant doping in (x,y) 
plane 
  
!-------------------------------------------------------------------------- 
 
  doping-function-number     = 2                                 
! second doping function 
  impurity-number            
= 1                               
 ! 
  only-region                
= 0d0 20d0  0d0 20d0  25.0d0 45.0d0 ! 
xmin xmax  ymin ymax  zmin zmax 
 
  base-function-1            
= constant                          
! 
  base-function-2            
= constant                          
! 
  base-function-3            
= gauss-1d                          
! 
  apply-function-1-along-dir = 1 0 0                             
! constant doping along x direction 
  apply-function-2-along-dir = 0 1 0                             
! constant doping along y direction 
  apply-function-3-along-dir = 0 0 1                             
! Gaussian shaped doping along z direction 
 
  doping-concentration       =
1d0                               
! 1.0d0 => 1.0 * 10^18 / cm^3  
  position                   
= 10d0 10d0 25d0                  
 ! doping concentration refers to that position 
  parameters-base-function-1 = 0d0 100d0  
  parameters-base-function-2 = 0d0 100d0  
  parameters-base-function-3 = 25d0 6d0  0d0 
1.0d0               
! center-coordinate  gauss-width  minimum-value  maximum-value 
 
 $end_doping-function 
If you want to obtain the input file that was used to obtain this 3D doping 
profile plot (constant + Gaussian shape), please submit a support ticket. 
-> 3Ddoping_profile.in 
  
 
Reading in doping profiles from a file
read-in-doping-file = yes/no 
-
flag for reading in doping profile from a file 
-
valid for n-type and p-type doping 
-
valid for arbitrary doping-function-number 
- can be combined with explicitly specifying doping profile by input file
and by reading in doping profile from several files 
- all doping functions will be added to the previously 
specified values (like superpositions) 
 
Restrictions: 
- The value of this profile is finally multiplied by 
doping-concentration. Obviously, one can also set 
doping-concentration = 1d0. 
- You can specify a region (only-region) for which the 
doping file applies to, the outer region will not contribute. 
doping-filename = doping_input.dat 
                = 
doping/doping_input.dat 
doping filename to be read in (e.g. experimental values). The string can 
include a folder name. 
The ASCII file must contain 2 (1D), 3 (2D) or 4 (3D) columns in each line: 
 
1D: 
x coordinate [nm]                                            
doping concentration [1*1018 cm-3] 
...                                                          
... 
2D: 
x coordinate [nm]    y coordinate [nm]                       doping concentration [1*1018 cm-3] 
...                  
...                                     
... 
3D: 
x coordinate [nm]    y coordinate [nm]   z coordinate 
[nm]   
doping concentration [1*1018 cm-3] 
...                  
...                 
...                 
... 
The first line of this ASCII file can contain an optional header line with 
column descriptors. 
		
If you want to obtain an input file that shows how to import a doping profile 
from a file 
(1D_read_in_potential_and_doping_profiles.in, 
 2D_read_in_potential_and_doping_profiles.in, 
 3D_read_in_potential_and_doping_profiles.in), 
please submit a support ticket. 
  
 
It is possible to sweep over the doping concentration, i.e. to vary the 
doping concentration stepwise. 
In each doping sweep step, the specifier doping-concentration is 
increased by doping-sweep-step-size in units of [1*1018 cm-3]. 
The output is labelled by ..._ind000.dat, ..._ind001.dat, 
... for each doping sweep step. 
 doping-sweep-active           =
yes       ! to 
switch on doping sweep 
                               
= no        ! to 
switch off doping sweep 
 doping-sweep-step-size        =
0.2d0     
! increase doping concentration in each step by ... in units of 
[1*1018 cm-3] 
                                           
! (This value can also be negative.) 
 doping-sweep-number-of-steps  = 5         
! number of doping sweep steps 
Restrictions: 
- Voltage sweeps ($voltage-sweep) 
and other sweeps cannot be combined with doping sweeps at present. 
- Only one doping sweep is allowed at present. 
 |