<< Click to Display Table of Contents >> diffusion 

{ 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.0e15 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 overshoot
in the solution, because the FiniteElement 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 2dimensional pattern.
This causes the result to lag a bit behind the analytical Planediffusion
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.1e2 { 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(y0.3,y0.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*(1u)
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=1e5 1e4 1e3 1e2 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(uuexact1d) 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