Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Overdetermined NDSolve
Replies: 1   Last Post: Mar 26, 2013 4:05 AM

 Messages: [ Previous | Next ]
 Alexei Boulbitch Posts: 483 Registered: 2/28/08
Re: Overdetermined NDSolve
Posted: Mar 26, 2013 4:05 AM

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@iee.lu

Date Subject Author
3/22/13 Katie
3/26/13 Alexei Boulbitch