diffusion

<< Click to Display Table of Contents >>

Navigation:  Sample Problems > Applications > Misc >

diffusion

Previous pageReturn to chapter overviewNext page

{ 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 start 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)     { fraction of external concentration }

 

definitions

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

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

 conc = concs*u

 uexact1d = erfc(x/(2*sqrt(D*t)))   { analytic solution to corresponding 1D problem }

 cexact1d = concs*uexact1d

 M = upulse(y-0.3,y-0.7)   { masked surface flux multiplier }

 

initial values  

 u = 0  

 

equations  

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

 

boundaries  

region 1

  start(0,0)

    natural(u) = 0

    line to (1,0) to (1,1) to (0,1)

    natural(u) = 10*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)  

  surface(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