The Math Forum

Search All of the Math Forum:

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

Math Forum » Discussions » Inactive » comp.soft-sys.math.mathematica

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

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Alexei Boulbitch

Posts: 483
Registered: 2/28/08
Re: Overdetermined NDSolve
Posted: Mar 26, 2013 4:05 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply


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. >>

NumericalSolution=NDSolve[{(1-ep)*rs*D[q[z,r,t],t]=ka*(3/rp)*(cp[z,r,t]-cpe), 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]), 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],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, ((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),

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}}]


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}] -
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 BOULBITCH, Dr., habil.
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


Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum at NCTM 1994-2018. All Rights Reserved.