One Dimensional Oxide Growth

DESCRIPTION

This example compares the oxide thickness grown for different orientations. The input file for the simulation is in the "examples/exam6" directory, in the file "oxcalib.s4".

#---some set stuff
option quiet
unset echo

foreach O (100 110 111)
echo "---------- Orientation < O > --------------------"

#---the minimal mesh
line x loc = 0.0 tag = left
line x loc = 1.0 tag = right

line y loc = 0.0 tag = top
line y loc = 1.0 tag=bottom

region silicon xlo = left xhi = right ylo = top yhi = 
bottom
bound exposed  xlo = left xhi = right ylo = top  yhi = 
top
init ori=O

#---the oxidation step
meth    grid.ox=0.03
diffuse time=30 temp=900 wet

select z=y*1e8 label="Depth(A)"; print.1d x.v=0 
form=8.0f
end
The first two lines keep the program as quiet as possible. The minimum output is printed, and the input is not echoed at all.

The loop

foreach O (100 110 111) end

runs its body three times for three different orientations.

The first seven lines of the loop body define the simplest mesh possible. It has exactly four lines (one rectangle), and a front side.

The method command chooses the oxide grid spacing to be 0.03 microns, knowing that 30 minutes at 900C will grow about 0.1 microns of oxide. The oxidation step chooses the vertical model by default. The vertical model solves the Deal-Grove diffusion equation for oxidant, and uses the calculated velocities to move the oxide vertically everywhere. For the purposes of thickness on a planar or near-planar structure, the accuracy is good enough. Grid is added automatically to the oxide as it grows, by default at increments of 0.1 microns. The time step is initially 0.1 second; subsequently it is automatically chosen to add no more than 14 of the grid increment per time step.

When the diffusion is done, the select statement fills the "z vector" with the y (vertical) locations of the points, scaled to angstroms. The print statement then prints the y displacements along the left side of the mesh. The form parameter rounds off the thickness to the nearest angstrom. The output is:

"---------- Orientation < 100 > --------------------"

estimated first time step 1.286963e-16
Solving       0 +     0.1 =     0.1,     100%, np 6
Solving     0.1 +  302.52 =  302.62, 3025.20%, np 6
Solving  302.62 + 302.522 = 605.142, 100.001%, np 6
Solving 605.142 + 311.041 = 916.183, 102.816%, np 6
Solving 916.183 + 319.326 = 1235.51, 102.664%, np 6
Solving 1235.51 + 327.623 = 1563.13, 102.598%, np 8
Solving 1563.13 + 236.869 =    1800, 72.2992%, np 8

layer  material        thickness  Integrated
 num    type            microns    Depth(A)
 0     oxide           -0.043     0.000000e+00    
 1     oxide            0.000    -3.104514e-04   
 2     oxide            0.035     0.000000e+00    
 3     silicon          1.000     4.993907e-01    
"---------- Orientation < 110 > --------------------"

estimated first time step 4.402759e-16
Solving       0 +     0.1 =     0.1,     100%, np 6
Solving     0.1 + 216.262 = 216.362, 2162.62%, np 6
Solving 216.362 + 216.266 = 432.629, 100.002%, np 6
Solving 432.629 + 224.785 = 657.413, 103.939%, np 6
Solving 657.413 +  232.98 = 890.393, 103.646%, np 6
Solving 890.393 + 241.199 = 1131.59, 103.528%, np 8
Solving 1131.59 + 249.427 = 1381.02, 103.411%, np 8
Solving 1381.02 + 257.664 = 1638.68, 103.302%, np 8
Solving 1638.68 + 161.318 =    1800, 62.6078%, np 10

layer  material        thickness  Integrated
 num    type            microns    Depth(A)
 0     oxide           -0.056     0.000000e+00    
 1     oxide           -0.000    -1.296132e-03   
 2     oxide            0.046     7.714586e-04    
 3     silicon          1.000     4.989346e-01    
"---------- Orientation < 111 > --------------------"

estimated first time step 1.269085e-17
Solving       0 +     0.1 =     0.1,     100%, np 6
Solving     0.1 +  180.25 =  180.35, 1802.50%, np 6
Solving  180.35 + 180.255 = 360.605, 100.003%, np 6
Solving 360.605 + 188.773 = 549.378, 104.726%, np 6
Solving 549.378 + 196.907 = 746.285, 104.309%, np 6
Solving 746.285 + 205.073 = 951.358, 104.147%, np 8
Solving 951.358 + 213.252 = 1164.61, 103.988%, np 8
Solving 1164.61 + 221.444 = 1386.05, 103.841%, np 8
Solving 1386.05 + 229.647 =  1615.7, 103.704%, np 10
Solving  1615.7 +   184.3 =    1800, 80.2534%, np 10

layer  material        thickness  Integrated
 num    type            microns    Depth(A)
 0     oxide           -0.065     0.000000e+00    
 1     oxide            0.000    -1.962906e-03   
 2     oxide            0.053     1.281196e-03    
 3     silicon          1.000     4.985963e-01    
The thickness is the difference between the top and bottom readings for the oxide, namely 780 A, 1020 A, and 1180 A for the <100>, <110>, and <111> orientations respectively.