MathGroup Archive 2007

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

Search the Archive

Re: NDSolve and Systems of DEs

  • To: mathgroup at smc.vnet.net
  • Subject: [mg74187] Re: NDSolve and Systems of DEs
  • From: dh <dh at metrohm.ch>
  • Date: Wed, 14 Mar 2007 03:41:20 -0500 (EST)
  • References: <et5pgb$kao$1@smc.vnet.net>


Hi Matteo,

here is you problem with corrected syntax:

eqs={

       D[p[x,t],t]==k D[ p[x,t],{x,2}],

       D[n[x,t],t]==k D[ p[x,t],{x,2}],

       D[ El[x,t],t]==p[x,t]-n[x,t],

       p[x,0]== 10*UnitStep[-x],p[100,t]==0,p[-100,t]==10,

       n[x,0]==10*UnitStep[x],n[100,t]==10,n[-100,t]==0,

       El[x,0]==0

       };

k=1;

NDSolve[eqs,{p[x,t],n[x,t], El[x,t]},{x,-100,100},{t,0,1}]



However, nothe that it is not very clever to use the non-continuous 

UnitStep function in a numerical DE. Better use a continuos 

differentiable function like e.g. ArcTan.

Daniel



e-touch at libero.it wrote:

> Hello everybody!

> In order to better understand the behaviour of NDSolve, I decided to try to=

>  solve a more simple system of equations...take a look here

> 

> eq1--d/dt p[x,t]==== k dd/dx2 p[x,t]

> eq2--d/dt n[x,t]==== k dd/dx2 n[x,t]

> eq3--d/dx El[x,t]====p[x,t]-n[x,t]

> with:

> p[x,0]====10*UnitStep[-x]; p[100,t]====0; p[-100,t]====10;

> n[x,0]====10*UnitStep[x]; n[100,t]====10; n[-100,t]====0;

> El[x,0]====0;

> 

> Eq1 and Eq2 are simple diffusion equations and El[x,t] it's just a function=

>  that I tried to couple with the other two...

> All I get are error messages...

> "NDSolve::pdord: Some of the functions have zero differential order so the =

> \

> equations will be solved as a system of differential-algebraic equations."

> "NDSolve::bcart: Warning: An insufficient number of boundary conditions hav=

> e \

> been specified for the direction of independent variable x. Artificial \

> boundary effects may be present in the solution."

> "NDSolve::icfail: Unable to find initial conditions which satisfy the resid=

> ual \

> function within specified tolerances.  Try giving initial conditions for bo=

> th \

> values and derivatives of the functions."

> 

> The strange thing is that if I derive the funcion El[x,t] respect to time i=

> nstead of x...so with

> eq3--d/dt El[x,t]====p[x,t]-n[x,t];

> El[x,0]====0;

> ...it works!!!

> Could anyone explain this to me???

> Thanks everybody

> Matteo

> 

> 

> 

> ------------------------------------------------------

> Leggi GRATIS le tue mail con il telefonino i-mode=99 di Wind

> http://i-mode.wind.it13mar07

> 

> 




  • Prev by Date: Re: drawing with Mathematica
  • Next by Date: fill circle while using circle command
  • Previous by thread: NDSolve and Systems of DEs
  • Next by thread: draw question 2 (cusp-like curve)