{VERSION 2 3 "IBM INTEL NT" "2.3" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Helvetica" 1 9 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 1 10 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 256 "Courier" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }{PSTYLE "No rmal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 0 2 2 2 0 0 0 0 0 0 } 0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Plot" 0 13 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Title" 0 18 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 1 0 0 0 0 0 0 }3 0 0 -1 12 12 0 0 0 0 0 0 19 0 }{PSTYLE "R 3 Font 0" -1 256 1 {CSTYLE "" -1 -1 "Helvetica" 0 12 0 0 0 0 2 1 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 2" -1 257 1 {CSTYLE "" -1 -1 "Courier" 0 10 0 0 0 0 2 2 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 3" -1 258 1 {CSTYLE "" -1 -1 "Courier" 0 14 0 0 0 0 2 2 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 4" -1 259 1 {CSTYLE "" -1 -1 "Courier" 0 14 0 0 0 0 2 2 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "R3 Font 5" -1 260 1 {CSTYLE "" -1 -1 "Courier" 0 14 0 0 0 0 2 2 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 6 " -1 261 1 {CSTYLE "" -1 -1 "Courier" 0 14 0 0 0 0 2 2 2 0 0 0 0 0 0 } 0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 7" -1 262 1 {CSTYLE "" -1 -1 "Courier" 0 14 0 0 0 0 2 2 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 8" -1 263 1 {CSTYLE "" -1 -1 "Courier" 0 14 0 0 0 0 2 2 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 18 "" 0 "" {TEXT -1 34 "Heat Exchange in a Series of Tanks" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 27 "Make a list of tank \+ numbers" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "Units:=[seq(i,i= 1..3)];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&UnitsG7%\"\"\"\"\"#\"\"$ " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 45 "Write down the energy balance s for each tank." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 121 "for i \+ in Units do\n EB[i] := M*C[P]*diff(T[i](t),t) = W* C[P]*(T[i-1](t)-T[i ](t)) + U*A*(T[s]-T[i](t));\n print(EB[i]);\nod:" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/*(%\"MG\"\"\"&%\"CG6#%\"PGF&-%%diffG6$-&%\"TG6#F&6#%\" tGF3F&,&*(%\"WGF&F'F&,&-&F06#\"\"!F2F&F.!\"\"F&F&*(%\"UGF&%\"AGF&,&&F0 6#%\"sGF&F.F " 0 "" {MPLTEXT 1 0 130 "for i in Units do\n t1 := diff(T[i](t),t)=solve(EB[ i],diff(T[i](t),t));\n EB2[i]:=collect(t1,[W,U,A,C[P],M]);\n print(E B2[i]);\nod:" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/-%%diffG6$-&%\"TG6#\" \"\"6#%\"tGF-,&*(,&-&F)6#\"\"!F,F+F'!\"\"F+%\"MGF5%\"WGF+F+*,,&&F)6#% \"sGF+F'F5F+F6F5&%\"CG6#%\"PGF5%\"AGF+%\"UGF+F+" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/-%%diffG6$-&%\"TG6#\"\"#6#%\"tGF-,&*(,&-&F)6#\"\"\"F,F 4F'!\"\"F4%\"MGF5%\"WGF4F4*,,&&F)6#%\"sGF4F'F5F4F6F5&%\"CG6#%\"PGF5%\" AGF4%\"UGF4F4" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/-%%diffG6$-&%\"TG6# \"\"$6#%\"tGF-,&*(,&-&F)6#\"\"#F,\"\"\"F'!\"\"F5%\"MGF6%\"WGF5F5*,,&&F )6#%\"sGF5F'F6F5F7F6&%\"CG6#%\"PGF6%\"AGF5%\"UGF5F5" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 75 "The model parameters and specifications are pro vided as a set of equations." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Params := \{U=10/A,C[P]=2.0\};" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#>%'ParamsG<$/%\"UG,$*$%\"AG!\"\"\"#5/&%\"CG6#%\"PG$\"#?F+" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "Specs:=\{W=100,T[0](t)=20,T[ s]=250,M=1000\};" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&SpecsG<&/%\"MG \"%+5/&%\"TG6#%\"sG\"$]#/%\"WG\"$+\"/-&F+6#\"\"!6#%\"tG\"#?" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 69 "These sets are substituted into th e family of differential equations." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "Diffeqns := subs(Specs,Params,\{seq(EB2[i],i=Units)\} );" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%)DiffeqnsG<%/-%%diffG6$-&%\"TG 6#\"\"$6#%\"tGF0,(-&F,6#\"\"#F/#\"\"\"\"#5F*$!++++]5!#5$\"++++]7!\"*F7 /-F(6$F2F0,(-&F,6#F7F/F6F2F9FF7FCF9" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 25 "The initial condition is " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "Initial := \{seq(T[i](0)=20, i=Units)\};" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(InitialG<%/-&%\"TG6# \"\"$6#\"\"!\"#?/-&F)6#\"\"#F,F./-&F)6#\"\"\"F,F." }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 73 "We combine the differential equations with the ini tial conditions to give" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " Alleqns := \{op(Diffeqns2),op(Initial)\};" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%(AlleqnsG<(/-&%\"TG6#\"\"$6#\"\"!\"#?/-&F)6#\"\"#F,F. /-%%diffG6$-F(6#%\"tGF:,(-F1F9#\"\"\"\"#5F8$!++++]5!#5$\"++++]7!\"*F>/ -F66$FF9F=F/-F66$FJF:,&$\"++++]KFEF>FJF@/-FKF,F." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 43 "We solve these equations using \+ Maple's own " }{TEXT 256 6 "dsolve" }{TEXT -1 182 " command, invoking \+ options to to use the Runge-Kutta-Fehlberg numerical method. Other nu merical methods available in Maple including lsode, Gear's method and \+ 7/8th order RK method. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 92 " g:=dsolve(Alleqns,\{seq(T[i](t),i=Units)\}, type=numeric, method=rkf45 , output=procedurelist);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"gG:6#% (rkf45_xG6'%\"iG%(rkf45_sG%)outpointG%#r1G%#r2G6#%aoCopyright~(c)~1993 ~by~the~University~of~Waterloo.~All~rights~reserved.G6\"C&>8&-%&evalfG 6#9$@$52-%$absG6#,$F3!\"\"-F<6#,&&%,loc_controlG6#\"\"#\"\"\"F3F?4-%'m emberG6$&FD6#\"\"'<*F?FG!\"#FF$F?\"\"!$FPFR$FGFR$FFFRC%>FD-%%copyG6#=F 06#;FG\"#SE\\[lI\"#O\"\"!\"#@$\"#?F[o\"\"'\"\"\"\"#PF[o\"#AF]o\"\"($F` o!\"*\"#QF[o\"#BF[o\"\")\"&++$\"#RF[o\"#CF[o\"\"*\"%+5\"#SF[o\"#DF[o\" #5F[o\"#EF[o\"#6F[o\"#FF[o\"#7F[o\"#GF[o\"#8F[o\"#HF[o\"#9F[o\"#IF[o\" #:F[o\"#JF[o\"#;F[oF`o\"\"$\"#KF[o\"#F[o\"\"%$F`o!\")\"#NF[oF^oF]o\"\"&Ffq>%'loc_y0G-FY6#=F06#;F G\"\"$E\\[l$F`oF]oF`qF]oF]qF]o>%'loc_y1G-FY6#=F0F_rE\\[l!@$0F;FRC$>&FD 6#FarF3@%1%'DigitsG-%'evalhfG6#FasC$>8%-%*traperrorG6#-Fcs6#-%=dsolve/ numeric_solnall_rkf45G6,%&loc_FG-%$varG6#FD-Fbt6#F[r-Fbt6#Fdr-Fbt6#%'l oc_F1G-Fbt6#%'loc_F2G-Fbt6#%'loc_F3G-Fbt6#%'loc_F4G-Fbt6#%'loc_F5G-Fbt 6#%)loc_workG@$/Fgs%*lasterrorGC%>8'-%+searchtextG6$.Fcs-%(convertG6$- %#opG6$FG7#Fgs%%nameG>8(-Fav6$.%)hardwareGFdv@%50F_vFR0F]wFR-F^t6,F`tF DF[rFdrFjtF]uF`uFcuFfuFiu-%&ERRORG6#FgsFfw7$/%\"tGF7-%$seqG6$/&%$ordG6 #,&8$FGFGFG&F[r6#Ffx/FfxF`rF06%FDF[rFdr" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 200 "The output is a procedure (function), here asigned to th e name g, that can be called to find specific values of the temperatur es at particular times. For example, the temperatures after 60 minutes are" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "g(63);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#7&/%\"tG\"#j/-&%\"TG6#\"\"\"6#F%$\"1dgv].x$4$!#9 /-&F*6#\"\"$F-$\"15Lc$pd.3&F0/-&F*6#\"\"#F-$\"1'*e92'4i7%F0" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 74 "We can plot the solution using the odeplot command from the plots package." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 76 "plots[odeplot](g,[seq([t,T[i](t)],i=Units)],0..60,col or=black,labels=[t,T]);" }}{PARA 13 "" 1 "" {INLPLOT "6'-%'CURVESG6#7T 7$\"\"!$\"#?F(7$$\"+'z*[C7!\"*$\"1g$[alR@8#!#97$$\"+#fz*[CF.$\"10udgnL [AF17$$\"+)QpMn$F.$\"1Sp.sZ^]BF17$$\"+%=fz*[F.$\"1\\R(H3l.W#F17$$\"+!) *[C7'F.$\"1g&>7-v$>DF17$$\"+w(QpM(F.$\"1-lhpC&))e#F17$$\"+s&G9d)F.$\"1 ,D#f^Z*\\EF17$$\"+o$=fz*F.$\"1`!p1\\rOq#F17$$\"+;3/-6!\")$\"1$=szq84v# F17$$F-FX$\"1#=Fu=cCz#F17$$\"+w(QpM\"FX$\"1$fZyf')*GGF17$$\"+cxQp9FX$ \"1T)3;k46'GF17$$\"+On$=f\"FX$\"1YP5lqN*)GF17$$\"+;dG9 9HF17$$\"+'pMn$=FX$\"1k([m**Qg$HF17$$\"+wO=f>FX$\"1(f$G\\iCbHF17$$\"+c Ej\"3#FX$\"1U#)>hh8sHF17$$\"+O;3/AFX$\"1uS#yJ))p)HF17$$\"+;1`EBFX$\"1w %=Gd[++$F17$$\"+'fz*[CFX$\"1Q#yx6L:,$F17$$\"+w&G9d#FX$\"1q]%41K;-$F17$ $\"+cv(Qp#FX$\"1dH9uD^IIF17$$\"+OlK;GFX$\"1s)R+m@$QIF17$$\"+;bxQHFX$\" 1>9a&e)=XIF17$$\"+'\\C71$FX$\"1]tf@qA^IF17$$\"+wMn$=$FX$\"1??%[#p`cIF1 7$$\"+cC71LFX$\"1?j@#>171$F17$$\"+O9dGMFX$\"152'f67`1$F17$$\"+;/-^NFX$ \"1CW1jE#*oIF17$$\"+'RpMn$FX$\"1$3].g(4sIF17$$\"+w$=fz$FX$\"1)ofz*[FX$\"1&QV_$3%))3$F17$$\"+w\"3/-&FX$ \"1@b*)fEh*3$F17$$\"+cr&G9&FX$\"1>%yWO\"H!4$F17$$\"+OhIl_FX$\"1`!fQ=)) 34$F17$$\"+;^v(Q&FX$\"1pgU(*HT\"4$F17$$\"+'4/-^&FX$\"1Ksi#\\u=4$F17$$ \"+wIlKcFX$\"13ix3.G#4$F17$$\"+c?5bdFX$\"1h\"4N;PE4$F17$$\"+O5bxeFX$\" 1aW)R'4&H4$F17$$\"+;+++gFX$\"1)>mY!pA$4$F1-F$6#7TF'7$F,$\"1Ay(\\_c+9#F 17$F3$\"1s.#=bVuF#F17$F8$\"1Jg8Ilw5CF17$F=$\"1\"3v*pi+RDF17$FB$\"1$)zm n'[9m#F17$FG$\"15%QX#fixFF17$FL$\"1(4V&3vE()GF17$FQ$\"1+&>NOf-*HF17$FV $\"1(3;%*35m3$F17$Ffn$\"1AAB2IUwJF17$Fjn$\"1R\"*HvJ()fKF17$F_o$\"1#f\">1*pPF17$F\\r$\"1;M3)HU`!QF17$Far$\"1X[uu/fPQF1 7$Ffr$\"1CpsZT!p'QF17$F[s$\"1**z5'*>_$*QF17$F`s$\"1)G39#ym#3A8TF17$Fiy$\"1Rm#=3 ()e6%F17$F^z$\"1Qj$fNv#=TF17$Fcz$\"1g/66RT?TF17$Fhz$\"1I%e)R#GB7%F1-F$ 6#7TF'7$F,$\"1!*4BrhPS@F17$F3$\"1q+%*[ywzAF17$F8$\"17!>=F,zT#F17$F=$\" 1i>FH#)RaDF17$FB$\"1dh%*\\v#))o#F17$FG$\"1x+['*Hu?GF17$FL$\"1PZF@/r\\H F17$FQ$\"1w4V3lKvIF17$FV$\"1b-V()4B(>$F17$Ffn$\"10!zV%Q6:LF17$Fjn$\"1) Q/pu=(GMF17$F_o$\"1cIhsO%y`$F17$Fdo$\"1PGP3&RBk$F17$Fio$\"1L>SKs5UPF17 $F^p$\"163.mT4PQF17$Fcp$\"1dDd_'*GFRF17$Fhp$\"1b(z9X?F,%F17$F]q$\"1BP/ dgW$4%F17$Fbq$\"1V,G'4a&pTF17$Fgq$\"1!)f0;f:TUF17$F\\r$\"1(zTWV#Q3VF17 $Far$\"1I:&RI!QrVF17$Ffr$\"1O@H8%3.V%F17$F[s$\"16dFQZL&[%F17$F`s$\"1Ao kSNjOXF17$Fes$\"1w`#\\!HQ%e%F17$Fjs$\"1QfG(fi(GYF17$F_t$\"13nVEA&*pYF1 7$Fdt$\"1@l(RoH\"3ZF17$Fit$\"1m@VS)pMu%F17$F^u$\"1)G!)[T$[F17$F]v$\"1&p%o.Zzf[F17$Fbv$\"1Vl)))f,M )[F17$Fgv$\"1;lu)>5^!\\F17$F\\w$\"1Rl%eGa]#\\F17$Faw$\"1J(z\"e1OV\\F17 $Ffw$\"1#[x)[\"\\,'\\F17$F[x$\"1Bb&)3F`v\\F17$F`x$\"1o/,Tvh*)\\F17$Fex $\"114$fF.D+&F17$Fjx$\"1vKK!=$G9]F17$F_y$\"1!H*[!RW]-&F17$Fdy$\"1`\"GU ;o[.&F17$Fiy$\"1>`ZX,$Q/&F17$F^z$\"1AQ$oj+?0&F17$Fcz$\"1e)3f([Wf]F17$F hz$\"1-q-7LAm]F1-%'COLOURG6&%$RGBGF(F(F(-%+AXESLABELSG6$%\"tG%\"TG" 2 189 183 183 2 0 1 0 2 6 0 4 2 1.000000 45.000000 45.000000 10030 10061 10056 10074 0 0 0 20030 0 12020 0 0 0 0 0 0 0 1 1 0 0 0 201 157 0 0 0 0 0 0 }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 273 "The disadvantage t o Maple's built in numerical integration routines is that they are slo w, especially for stiff or for larger systems of equations. An altern ative method of obtaining numerical solutions to systems of ODEs is di scussed in our solutions to Problems 8 and 9." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "0 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 }