Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2007
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2007

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

Search the Archive

PN junction Simulation with Mathematica

  • To: mathgroup at smc.vnet.net
  • Subject: [mg74123] PN junction Simulation with Mathematica
  • From: "e-touch\ at libero\.it" <e-touch at libero.it>
  • 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=
quation.
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=
e...
-P[x,0]=UnitStep[-x]
-P[100,t]=0
-P[-100,t]=1
-N[x,0]=UnitStep[x]
-N[100,t]=1
-N[-100,t]=0
-El[x,0]=0
-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

Matteo=0A=0A=0A------------------------------------------------------=0AP=
assa a Infostrada. ADSL e Telefono senza limiti e senza canone Telecom=0A=
http://click.libero.it/infostrada=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