MathGroup Archive 2007

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

Search the Archive

Re: PN junction Simulation with Mathematica

  • To: mathgroup at
  • Subject: [mg74137] Re: PN junction Simulation with Mathematica
  • From: "Michael Weyrauch" <michael.weyrauch at>
  • Date: Mon, 12 Mar 2007 22:04:20 -0500 (EST)
  • References: <et36tn$qjb$>


   unfortuately you do not provide proper Mathematica code
that one could easily run through, but looking at your equations
I am pretty sure that the problem rests with Nd[x] and Na[x]
in the equation for the electric field.  If  it is a fixed distribution 
of charges then it this should go into the boundary conditions.
Mathematica tries to solve for that, and there is no differential
equation for that....

Regards    Michael

<e-touch at> schrieb im Newsbeitrag news:et36tn$qjb$1 at
> 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=

  • Prev by Date: Re: logical/set theoretic programming
  • Next by Date: Re: Transformation rules - explain please
  • Previous by thread: PN junction Simulation with Mathematica
  • Next by thread: Re: plot of "marginal distributions" of scatter plot