OED Time

DESCRIPTION

This example uses the movie parameter to look at the time dependence of the interstitial concentration resulting from oxide growth. This simulation will be of a silicon membrane 28 microns thick. This will allow the simulation of the effective diffusivity. The input file for the simulation is in the "examples/exam3" directory, in the file oed.in.

#some set stuff
option quiet
mode one.dim

#the vertical definition
line x loc = 0     spacing = 0.02 tag = top
line x loc = 1.50  spacing = 0.05
line x loc = 5.0   spacing = 0.5
line x loc = 28.0  tag=bottom

#the silicon wafer
region silicon xlo = top xhi = bottom

#set up the exposed surfaces
bound exposed  xlo = top  xhi = top
bound backsid  xlo = bottom  xhi = bottom

#calculate the mesh
init

#the pad oxide
deposit oxide thick=0.02

#the diffusion card
method init=1.0e-3 two.d
#set up some integration variables
%define otim 0.0
%define oldfci 1.0
%define oldbci 1.0
%define tfci 0.0
%define tbci 0.0
%diffuse time=240 temp=1100 dry movie="
	select z=(inter/ci.star);
	%define newfci zfn(0.0,sil@oxi(0.0)+1.0e-6)
	%define newbci zfn(0.0,27.9)
	%define tfci ${tfci}+0.5*(${time}-${otim})*(${-newfci}+${oldfci})
	%define tbci ${tbci}+0.5*(${time}-${otim})*(${-newbci}+${oldbci})
	%define den ${time}+1.0e-6
	printf Data ${time}/60.0 (${tfci}/${den})(${tbci}/${den})
	%define otim ${time}
	%define oldfci ${newfci}
	%define oldbci ${newbci}"


#save the data
structure out=oed.str
This example is very similar to Example 2. It starts by instructing SUPREM-IV.GS to be relatively quiet about the progress of computation. The y line section is somewhat different. In this example, we wish to calculate the oxidation enhanced diffusion resulting from a growing oxide. Therefore, the vertical specification needs to be different.

#the vertical definition
line x loc = 0     spacing = 0.02 tag = top
line x loc = 1.50  spacing = 0.05
line x loc = 5.0   spacing = 0.5
line x loc = 28.0  tag=bottom
This is similar to the last example. The backside is placed at the membrane thickness so that we can compute the interstitials at this interface.

The next series of commands define the region, boundary, and initialize the wafer. The are only two differences between this example and the previous one. First is the specification of a backside interface. This will allow the specification of boundary conditions for the defects. Second, no boron implant is performed. This will speed the simulation. A starting oxide is deposited next. The method command specifies the defects should be solved and sets a small initial time step.

The next set of commands initialize some variables that will be used in the diffuse statement.

#set up some integration variables
%define otim 0.0
%define oldfci 1.0
%define oldbci 1.0
%define tfci 0.0
%define tbci 0.0
In this diffusion, the time average value of the interstitial concentration will be calculated and printed. The variable otim is the old time, oldcfi is the old scaled interstitial concentration at the front, oldbci is the old interstitial concentration at the back, and tfci and tbci are the time averaged values of the scaled interstitial concentration at the front and back respectively.

The diffuse command contains the directive to simulate the 30 minute, 1100C, dry oxygen drive in and anneal.

#the diffusion card 
%diffuse time=30 temp=1100 dry movie="
In this example, the movie parameter is used to compute the time average of the interstitial concentration at the front and backside. The entire quoted string for the movie parameter is treated as SUPREM-IV.GS input at the end of every time step. This allows a time history to be developed.

	select z=(inter/ci.star);
	%define newfci zfn(0.0,sil@oxi(0.0)+1.0e-6)
	%define newbci zfn(0.0,27.99)
	%define tfci ${tfci}+0.5*(${time}-${otim})*(${newfci}+${oldfci})
	%define tbci ${tbci}+0.5*(${time}-${otim})*(${newbci}+${oldbci})
	%define den ${time}+1.0e-6
	printf Data ${time}/60.0 (${tfci}/${den})(${tbci}/${den})
	%define otim ${time}
	%define oldfci ${newfci}
	%define oldbci ${newbci}"
The first command in the movie line is to select the scaled interstitial concentration, CI / C*I as the plot variable. The next line defines the variable newfci to be equal to the value of the z value interpolated at x = 0.0 microns and y = 1 Angstrom below the silicon / silicon dioxide interface. This effectively is the surface value of the scaled interstitial concentration. The next line sets newbci to the back side interstitial concentration. The integrated time value at the front and back sides are computed and assigned to the variables totfci and totbci. This time integration uses the trapezoidal rule to compute the values. The time is adjusted by one microsecond in the computation of the average to avoid divide by zero errors. The printf command prints the current time in the diffusion and the front and back side time averaged values. Finally, the variables representing the previous time step values are updated.

The diffuse command should produce output of the form:

estimated first time step 8.740542e-10
Data 0 0 0 
Solving         0 +     0.001 =     0.001,     100%, np 73
Data 1.66667e-05 1.14116 0.999001 
Solving     0.001 + 0.0021718 = 0.0031718, 217.181%, np 73
Data 5.28635e-05 1.23489 0.999685 
Solving 0.0031718 + 0.0105442 =  0.013716, 485.503%, np 73
Data 0.0002286 1.26412 0.999927 
Solving  0.013716 + 0.0857607 = 0.0994767, 813.344%, np 73
Data 0.00165794 1.27887 0.99999 
Solving 0.0994767 +  0.380333 =   0.47981, 443.482%, np 73
Data 0.00799683 1.31034 0.999998 
Solving   0.47981 +   1.11267 =   1.59248, 292.553%, np 73
Data 0.0265413 1.39119 1 
Solving   1.59248 +   2.71156 =   4.30404, 243.697%, np 73
Data 0.071734 1.5448 1 
Solving   4.30404 +   7.50309 =   11.8071, 276.707%, np 73
Data 0.196785 1.81401 1 
Solving   11.8071 +   23.0711 =   34.8782, 307.488%, np 73
Data 0.581303 2.21682 1 
Solving   34.8782 +   52.5225 =   87.4007, 227.655%, np 73
Data 1.45668 2.59747 1 
Solving   87.4007 +   116.309 =    203.71, 221.446%, np 73
Data 3.39517 2.8976 1 
Solving    203.71 +   264.827 =   468.537, 227.693%, np 73
Data 7.80895 3.09822 1.00005 
Solving   468.537 +   629.713 =   1098.25, 237.783%, np 73
Data 18.3042 3.19492 1.00143 
Solving   1098.25 +   1476.13 =   2574.38, 234.413%, np 72
Data 42.9063 3.19724 1.02452 
Solving   2574.38 +   1786.28 =   4360.66, 121.011%, np 71
Data 72.6777 3.13466 1.09187 
Solving   4360.66 +   2319.41 =   6680.07, 129.846%, np 71
Data 94.745 3.07212 1.16452 
Solving    5684.7 +   2813.18 =   8497.88, 212.469%, np 71
Data 141.631 2.96848 1.34316 
Solving   8497.88 +   3114.92 =   11612.8, 110.726%, np 70
Data 193.547 2.89165 1.53193 
Solving   11612.8 +   2787.21 =     14400, 89.4793%, np 69
Data 240 2.83454 1.67415 
The lines starting Data show the time in minutes and the front and back side time averaged interstitial concentration. The interstitial concentration ramps up and then levels off. As the simulation continues, the interstitial concentration falls off due to the decreased oxidation rate. The output can be redirected to a file and then plotted using any number of x-y plot programs.