       Re: Overdetermined NDSolve

• To: mathgroup at smc.vnet.net
• Subject: [mg130239] Re: Overdetermined NDSolve
• From: Alexei Boulbitch <Alexei.Boulbitch at iee.lu>
• Date: Tue, 26 Mar 2013 04:05:09 -0400 (EDT)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• Delivered-to: l-mathgroup@wolfram.com
• Delivered-to: mathgroup-newout@smc.vnet.net
• Delivered-to: mathgroup-newsend@smc.vnet.net

```Hello,

I am trying to model an adsorption system which depends on length, radius and time (z,r,t). I am doing total of 5 equations (mass & energy) and I have 5 variables. However, mathematica tells that my system is overdetermined.

I hope you can help me finding where I am doing wrong.

I cut the NDSolve into two to make it easier to see.

Thank you so much.

NDSolve::overdet: There are fewer dependent variables, {cg[z,r,t],cp[z,r,t],q[z,r,t],Tg[z,r,t],Tw[z,r,t]}, than equations, so the system is overdetermined. >>

My boundary conditions:
cg[z,r,0]=0, cg[0,r,t]=cginlet*(1-Exp[-(t/tao)]), Derivative[1,0,0][cg][h,r,t]=0, q[z,r,0]=0, cp[z,r,0]=0, Derivative[0,1,0][cp][z,0,t]=0,-Deff*Derivative[0,1,0][cp][z,rp,t]=ka*(3/rp)*(cg[z,r,t]-cp[z,rp,t]), Tg[z,r,0]=T0, Tg[0,r,t]=T0, Derivative[1,0,0][Tg][h,r,t]=0, Tw[z,r,0]=T0}, {cg,cp,q,Tg,Tw}, {z,0,h}, {r,0,rp}, {t,0,8000}, Method=EF=82=AE{"MethodOfLines", "SpatialDiscretization"=EF=82=AE{"TensorProductGrid", "MinPoints"=EF=82=AE150,PrecisionGoal=EF=82=AE3}}]

Hi,

One thing that should be improved in this code is the sign "==" instead of "=" in equations. I propose
in addition to write it down in a bit different form that will do them more visible:

eq1 = (1 - ep)*rs*D[q[z, r, t], t] == ka*(3/rp)*(cp[z, r, t] - cpe);
eq2 = ec*Dz*D[cg[z, r, t], {z, 2}] - vg*D[cg[z, r, t], z] ==
ec*D[cg[z, r, t], t] +
ka*(3*(1 - ec)/rp)*(cg[z, r, t] - cp[z, rp, t]);
eq3 = ep*D[cp[z, r, t], t] ==
ep*Deff*(2/r)*D[cp[z, r, t], {r, 2}] - (1 - ep)*rs*D[q[z, r, t], t];
eq4 = k*D[Tg[z, r, t], {z, 2}] -
ec*vg*rg*Cpg*
D[Tg[z, r, t], z] - (2*hfd/rc)*(Tg[z, r, t] - Tw[z, r, t]) -
n*D[Tg[z, r, t], t] - Hads*rp*D[q[z, r, t], t] == 0;
eq5 = ((ro^2) - (rc^2))*rw*Cpw*D[Tw[z, r, t], t] ==
2*rc*hfd*(Tg[z, r, t] - Tw[z, r, t]) - 2*ro*ho*(Tw[z, r, t] - T0);

cond1 = cg[z, r, 0] == 0;
cond2 = cg[0, r, t] == cginlet*(1 - Exp[-(t/tao)]);
cond3 = Derivative[1, 0, 0][cg][h, r, t] == 0;
cond4 = q[z, r, 0] == 0;
cond5 = cp[z, r, 0] == 0;
cond6 = Derivative[0, 1, 0][cp][z, 0, t] == 0;
cond7 = -Deff*Derivative[0, 1, 0][cp][z, rp, t] ==
ka*(3/rp)*(cg[z, r, t] - cp[z, rp, t]);
cond8 = Tg[z, r, 0] == T0;
cond9 = Tg[0, r, t] == T0;
cond10 = Tw[z, r, 0] == T0;
cond11 = Derivative[1, 0, 0][Tg][h, r, t] == 0;

nS = NDSolve[{eq1, eq2, eq3, eq4, cond1, cond2, cond5, cond7,
cond11}, {cg, cp, q, Tg, Tw}, {z, 0, h}, {r, 0, rp}, {t, 0, 80},
Method -> {"MethodOfLines",
"SpatialDiscretization" -> {"TensorProductGrid",
"MinPoints" -> 150, PrecisionGoal -> 3}}]

Mathematica interpreted several conditions (cond3, cond4, cond6, cond8, cond9 and cond10) as identities. Since I have no idea of the physics behind, I cannot decide, if these are necessary, or excessive, and what to do with them, if they are needed. I, therefore, simply omitted them.

It seems that in the present form Mathematica may start solving the system, provided you feed it with the numerical data, such as h, T0, tao etc.

Have fun and success,
Alexei

Alexei BOULBITCH, Dr., habil.
IEE S.A.
ZAE Weiergewan,
11, rue Edmond Reuter,
L-5326 Contern, LUXEMBOURG

Office phone :  +352-2454-2566
Office fax:       +352-2454-3566
mobile phone:  +49 151 52 40 66 44

e-mail: alexei.boulbitch at iee.lu

```

• Prev by Date: Re: Table with condition
• Next by Date: Re: Table with condition
• Previous by thread: Overdetermined NDSolve
• Next by thread: Teleprompter Code