solution of semiconductor equations Log Out | Topics | Search
Moderators | Register | Edit Profile

FlexPDE User's Forum » User Postings » solution of semiconductor equations « Previous Next »

Author Message
Top of pagePrevious messageNext messageBottom of page Link to this message

Tong Liu (siegfried)
Member
Username: siegfried

Post Number: 5
Registered: 02-2006
Posted on Tuesday, February 28, 2006 - 11:38 pm:   

Dear Dr. Nelson,
I am a novice user of flexpde5.0.9, and I read the user's guide recently. I tried to construct a program solving semiconductor equations system on a rectangle and a sector area respectively. The system contains three Poisson's equations, the natural BC is no flux of variables(plz see equations and B.C. in the enclosure). I think the problem is rather easy and I can get the result from other software. However, the program that I wrote cannot give a meaningful result. The voltage variable u seems fairly awful. Now I present the program below. Could you give me some advices? Thank you very much for your patience and answer.

{ Fill in the following sections (removing comment marks ! if necessary),
and delete those that are unused.}
TITLE 'Semiconductor Equations' { the problem identification }
COORDINATES cartesian2 { coordinate system, 1D,2D,3D, etc }
VARIABLES { system variables }
u { electric potential }
n { electron concentration }
p { hole concentration}
!SELECT { method controls }
DEFINITIONS { parameter definitions }
e=1.602e-19 { elementary charge }
T=300 { temperature }
kb=1.381e-23 { Boltzmann's coefficient }
Vt=kb*T/e { thermal voltage }
NC=1.0e15 { doping concentration }
eps0=8.854e-14 { permittivity of vacuum }
eSi=11.8 { relative permittivity of silicon }
eps=eSi*eps0 { permittivity of silicon }
ni=1.25e10 { intrinsic concentration of silicon }
n0=[NC+SQRT(NC^2+4*ni^2)]/2 { equilibrium electron concentration }
p0=ni^2/n0 { equilibrium hole concentration }
tn=3.95e-4/[1+NC/(7.1e15)] { electron lifetime }
tp=3.52e-5/[1+NC/(7.1e15)] { hole lifetime }
R=(p*n-ni*ni)/[tn*(p+ni)+tp*(n+ni)] { recombination rate }
MUn=600 { electron mobility }
MUp=300 { hole mobility }
Dn=Vt*MUn { electron diffusion coefficient }
Dp=Vt*MUp { hole diffusion coefficient }
Jn=-e*MUn*n*GRAD(u)+e*Dn*GRAD(n) { electron current density }
Jp=-e*MUp*p*GRAD(u)- e*Dp*GRAD(p) { hole current density }
! INITIAL VALUES
EQUATIONS { PDE's, one for each variable }
u: div(grad(u))=e/eps*(p-n+NC) { Poisson's equation}
n: div(Jn)=e*R { electron continuity equation }
p: div(Jp)=-e*R { hole continuity equation }

! CONSTRAINTS { Integral constraints }
BOUNDARIES { The domain definition }
REGION 1 "rectangles" { For each material region }
START(0,0) { Walk the domain boundary }
VALUE(u)=0 VALUE(n)=n0 VALUE(p)=p0 LINE TO (1,0) { Dirichlet BC u=0 n=n0 p=p0 }
NATURAL(u)=0 NATURAL(n)=0 NATURAL(p)=0 LINE TO (1,1) { Neumann BC }
VALUE(u)=1 VALUE(n)=n0 VALUE(p)=p0 LINE TO (0,1)
NATURAL(u)=0 NATURAL(n)=0 NATURAL(p)=0 LINE TO CLOSE
{ REGION 2 "sector"
START(0.2,0)
{ NATURAL(u)=0 NATURAL(n)=0 NATURAL(p)=0 } LINE TO (1,0)
VALUE(u)=1 VALUE(n)=n0 VALUE(p)=p0 ARC(CENTER=0,0) TO (0,1)
{ NATURAL(u)=0 NATURAL(n)=0 NATURAL(p)=0 } LINE TO(0,0.2)
VALUE(u)=0 VALUE(n)=n0 VALUE(p)=p0 ARC(CENTER=0,0) TO CLOSE}
! TIME 0 TO 1 { if time dependent }
MONITORS { show progress }
SURFACE(u)
CONTOUR(u)
PLOTS { save result displays }
SURFACE(u)
CONTOUR(u)
END

Might it be caused by the limitation of student version?

18.9 K
semi.doc
"description of problem"
Top of pagePrevious messageNext messageBottom of page Link to this message

ronehwa (ronehwa)
Junior Member
Username: ronehwa

Post Number: 3
Registered: 07-2005
Posted on Monday, March 27, 2006 - 10:25 pm:   

Dear Tong,
You had written that "I can get the result from other software". Would you like to point out what kind of software you use to get the result.
I tried to excute your problem, and found that the setup of the BOUNDARIES of REGION 2 seems to be wrong. thanks
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 568
Registered: 06-2003
Posted on Tuesday, March 28, 2006 - 05:22 pm:   

I have been unable to download your doc file, so I must work only from the script.

Firstly, you have chosen to "work blind" by not looking at the solutions for two of your three variables. This makes it very difficult for you to detect errors in setup. I suggest you Monitor all variables.

Your problem is nonlinear, which introduces two complications.
1) FlexPDE uses Newton's method to solve the system. Newton's method is not guaranteed to succeed if the initial conditions are too far from the actual solution. In particular, zero (the default value, which you have chosen by omission) is not a good starting value for nonlinear problems.
A better approach is to use STAGES to solve at least two related problems. Use reasonable values of constant coefficients in the first stage to generate an initial distribution that is "somewhat like" the final result. Then in the second stage, turn on the nonlinearities. In this way, the nonlinear solution has a representative starting point.

2) Terms like P*N and N*Grad(U) are dangerous because they lose the sign of the individual components. Negative P and N look the same as positive P and N, etc. This problem is most severe when starting from zero initial values, because numerical noise can bounce both positive and negative. This problem should be releived if you use the staged technique suggested in point (1).
Top of pagePrevious messageNext messageBottom of page Link to this message

norainon (ainon)
New member
Username: ainon

Post Number: 1
Registered: 07-2008
Posted on Tuesday, July 22, 2008 - 10:15 pm:   

dear dr. nelson,
i have a question regarding on how to get a doping profile e.g for gto thyristor from the basic semiconductor equations, can u expalin in depth about this?

thanks and regards,

ainon

Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action:

Topics | Last Day | Last Week | Tree View | Search | Help/Instructions | Program Credits Administration