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