MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

PN junction Simulation with Mathematica

  • To: mathgroup at
  • Subject: [mg74123] PN junction Simulation with Mathematica
  • From: "e-touch\ at libero\.it" <e-touch at>
  • Date: Mon, 12 Mar 2007 04:33:33 -0500 (EST)

Dear MathGroup
I'm a student and I'm trying to simulate the bahaviour of a p-n junction =
by solving the continuity equations for charge carriers and the poisson e=
It is a system of coupled PDEs
1)d/dt P[x,t]=-k*P[x,t]*d/dx El[x,t]
              -k*El[x,t]*d/dx P[x,t]
              +k2 dd/dx2 P[x,t];

2)d/dt N[x,t]=+k*N[x,t]*d/dx El[x,t]
              +k*El[x,t]*d/dx N[x,t]
              +k2 dd/dx2 N[x,t];

3)d/dx El[x,t]=P[x,t]-N[x,t]+Nd[x]-Na[x]

Where I want to find P[x,t],N[x,t] and El[x,t].
Nd[x] and Na[x] are functions wich define the distribution of fixed charg=
es(and the initial conditions for P and N)

The first two equations without the terms with El[x,t] are just simply di=
ffusion equations and I have no problems to solve them...but when I try t=
o couple them with the Electric field I get only error messages:

"NDSolve::pdord: Some of the functions have zero differential order so th=
e \
equations will be solved as a system of differential-algebraic equations.=
"NDSolve::bcart: Warning: An insufficient number of boundary conditions h=
ave \
been specified for the direction of independent variable x. Artificial \
boundary effects may be present in the solution."
"LinearSolve::sing: Matrix SparseArray[<180030>,<<1>>] is singular."
"NDSolve::icfail: Unable to find initial conditions which satisfy the res=
idual \
function within specified tolerances.  Try giving initial conditions for =
both \
values and derivatives of the functions."

I insert in NDSolve all the initials conditions wich have physically sens=
-El[100,t]=0    should be not necessary
-El[-100,t]=0   should be not necessary

I saw in the archive that somebody already tried to solve his kind of pro=
blem, but it didn't get help from those posts...
I'm prety new of Mathematica, so, if someone could help me or tell if the=
re is another way to solve this problem it would be really helpful.
Thank you

assa a Infostrada. ADSL e Telefono senza limiti e senza canone Telecom=0A=

  • Prev by Date: Re: accessing a kernel on a network
  • Next by Date: RE: plot of "marginal distributions" of scatter plot
  • Previous by thread: Write a computer program to using Simpson's rule (Have to revise)
  • Next by thread: Re: PN junction Simulation with Mathematica