       Re: NDSolve

• To: mathgroup at smc.vnet.net
• Subject: [mg62660] Re: NDSolve
• From: Paul Abbott <paul at physics.uwa.edu.au>
• Date: Wed, 30 Nov 2005 00:08:12 -0500 (EST)
• Organization: The University of Western Australia
• References: <dlkc4b\$ppg\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```In article <dlkc4b\$ppg\$1 at smc.vnet.net>,
Uli Wuerfel <uli.wuerfel at fmf.uni-freiburg.de> wrote:

> I reduced it to a simple diffusion equation, but still it does not work.
> My Input is like:
>
> dcb=0.001;
> rcb=1000;
> gen=5e20;
> ab=2000;
> d=0.001;
>
> sol=nc/.First[NDSolve[
> {0==dcb*nc(2)[x]+gen*Exp[-ab*x]-rcb*(nc-nc0),
> nc==nc0,nc(1)[d]==0},nc,{x,0,d}]]
>
> wherein nc(i)[x] stands for the i-th spatial derivative of nc[x].
>
> I don´t understand why Mathematica does not accept this.

First note that Mathematica can solve this problem exactly:

DSolve[{0 == dcb nc''[x] + gen/E^(ab x) - rcb (nc[x] - nc0),
nc == nc0, nc'[d] == 0}, nc, x]

There are three problems with your above code:

 gen=5e20 is not numerical. However, you will encounter a problem
with stiffness if you try gen=5 10^20;

 You have not specified nc0.

 You have (nc-nc0) but nc is a function of x.

Fixing these problems, the following works fine:

dcb = 0.001;
rcb = 1000;
gen = 5*10^10;
ab = 2000;
d = 0.001;
nc0 = 1;

sol = NDSolve[{0 == dcb nc''[x] + gen/E^(ab x) - rcb (nc[x] - nc0),
nc == nc0, nc'[d] == 0}, nc, x]

Plot[Evaluate[nc[x] /. sol], {x, 0, d}]

Cheers,
Paul

_______________________________________________________________________
Paul Abbott                                      Phone:  61 8 6488 2734
School of Physics, M013                            Fax: +61 8 6488 1014
The University of Western Australia         (CRICOS Provider No 00126G)
AUSTRALIA                               http://physics.uwa.edu.au/~paul

```

• Prev by Date: Re: Re: Get numbers out of PhysicalConstants?
• Next by Date: Re: Hardcopy or electronic books?
• Previous by thread: Re: NDSolve
• Next by thread: java method in NDsolve