Diffusion

Top  Previous  Next

diffusion01

{  DIFFUSION.PDE

******************************************************

This problem considers the thermally driven diffusion of a dopant into

a solid from a constant source.  Parameters have been chosen to be those

typically encountered in semiconductor diffusion.

 

   surface concentration = 1.8e20 atoms/cm**2

   diffusion coefficient = 3.0e-15 cm**2/sec

 

The natural tendency in this type of problem is to close off with zero

concentration in the material, and a fixed value on the boundary.  This

implies an infinite curvature at the boundary, and an infinite transport

velocity of the diffusing particles.  It also generates over-shoot

in the solution, because the Finite-Element Method tries to fit a step

function with quadratics.

 

A better formulation is to program a large input flux, representative of

the rate at which dopant can actually cross the boundary, (or approximately

the molecular velocity times the concentration deficiency at the boundary).

 

Here we use a masked source, in order to generate a 2-dimensional pattern.

This causes the result to lag a bit behind the analytical Plane-diffusion

result at late times.

 

********************************************************* }

 

title

'Masked Diffusion'

 

variables

u(threshold=0.1)

 

definitions

concs = 1.8e8             { surface concentration  atom/micron**3}

D = 1.1e-2                { diffusivity micron**2/hr}

conc = concs*u

cexact1d = concs*erfc(x/(2*sqrt(D*t)))

uexact1d = erfc(x/(2*sqrt(D*t)))

                           { masked surface flux multiplier }

M = 10*upulse(y-0.3,y-0.7)

 

initial values

u = 0

 

equations

div(D*grad(u)) = dt(u)

 

boundaries

region 1

   start(0,0)

   natural(u) = 0      line to (1,0)

   natural(u) = 0      line to (1,1)

   natural(u) = 0      line to (0,1)

   natural(u) = M*(1-u)  line to close

 

feature               { a "gridding feature" to help localize the activity }

   start (0.02,0.3) line to (0.02,0.7)

 

time 0 to 1 by 0.001

 

plots

for t=1e-5 1e-4 1e-3 1e-2 0.05 by 0.05 to 0.2 by 0.1 to endtime

   contour(u)

   elevation(u,uexact1d) from (0,0.5) to (1,0.5)

   elevation(u-uexact1d) from (0,0.5) to (1,0.5)

 

histories

history(u) at (0.05,0.5) (0.1,0.5) (0.15,0.5) (0.2,0.5)

 

end