Material Balances for Col2 Material Balances for Col3 F x = F x + F x 1 S, 1 2 S, 2 3 S, 3 F x = 1 T, 1 F x = 1 B, 1 F x = 2 X, 2 F x = 2 S, 2 F x = 2 T, 2 F x = 2 B, 2 F x = 3 X, 3 F x = 3 S, 3 F x = 3 T, 3 F x = 3 B, 3 F x + F x 2 T, 2 3 T, 3 F x + F x 2 B, 2 3 B, 3 F x + F x 4 X, 4 5 X, 5 F x + F x 4 S, 4 5 S, 5 F x + F x 4 T, 4 5 T, 5 F x + F x 4 B, 4 5 B, 5 F x + F x 6 X, 6 7 X, 7 F x + F x 6 S, 6 7 S, 7 F x + F x 6 T, 6 7 T, 7 F x + F x 6 B, 6 7 B, 7 In <strong>the</strong> above <strong>Maple</strong> construction we have created <strong>the</strong> component material balances for each component (<strong>the</strong> inner loop) and for each process unit (<strong>the</strong> outer loop). The <strong>to</strong>tal molar flows are given <strong>the</strong> symbol F and x refers <strong>to</strong> <strong>the</strong> mole fraction of some component. The first index of <strong>the</strong> component mole fraction identifies <strong>the</strong> component in question, <strong>the</strong> second associates that quantity with a particular process stream. This double loop will work with all simple material balances regardless of complexity provided we have identified <strong>the</strong> components, <strong>the</strong> units and <strong>the</strong> inputand output streams associated with each unit. The mole fraction summation equations can be created as follows: > SumEqn:='SumEqn': i:='i': for j in Streams do SumEqn[j]:=add(x[i,j],i=components)=1; print(SumEqn[j]); od: x + x + x + x = 1 X, 1 S, 1 T, 1 B, 1 x + x + x + x = 1 X, 2 S, 2 T, 2 B, 2 x + x + x + x = 1 X, 3 S, 3 T, 3 B, 3 x + x + x + x = 1 X, 4 S, 4 T, 4 B, 4 x + x + x + x = 1 X, 5 S, 5 T, 5 B, 5 x + x + x + x = 1 X, 6 S, 6 T, 6 B, 6 x + x + x + x = 1 X, 7 S, 7 T, 7 B, 7 The component material balances and <strong>the</strong> mole fraction summation equations comprise <strong>the</strong> complete Page 10
set of independent equations for this kind of problem. Any o<strong>the</strong>r balance equation can be created from simple combinations of <strong>the</strong>se equations. We now create a set independent equations <strong>to</strong> describe <strong>the</strong> flowsheet > Eqns:={seq(seq(CMB[i,u],i=components),u=Units),seq(SumEqn[j],j=Streams)}; Eqns := { x + x + x + x = 1 , F x = F x + F x , x + x + x + x = 1 , X, 6 S, 6 T, 6 B, 6 3 T, 3 6 T, 6 7 T, 7 X, 7 S, 7 T, 7 B, 7 F x = F x + F x , F x = F x + F x , F x = F x + F x , 3 B, 3 6 B, 6 7 B, 7 1 X, 1 2 X, 2 3 X, 3 1 S, 1 2 S, 2 3 S, 3 F x = F x + F x , F x = F x + F x , F x = F x + F x , 1 B, 1 2 B, 2 3 B, 3 1 T, 1 2 T, 2 3 T, 3 2 X, 2 4 X, 4 5 X, 5 F x = F x + F x , x + x + x + x = 1 , F x = F x + F x , 2 S, 2 4 S, 4 5 S, 5 X, 1 S, 1 T, 1 B, 1 2 T, 2 4 T, 4 5 T, 5 x + x + x + x = 1 , x + x + x + x = 1 , F x = F x + F x , X, 2 S, 2 T, 2 B, 2 X, 3 S, 3 T, 3 B, 3 2 B, 2 4 B, 4 5 B, 5 x + x + x + x = 1 , F x = F x + F x , F x = F x + F x , X, 4 S, 4 T, 4 B, 4 3 X, 3 6 X, 6 7 X, 7 3 S, 3 6 S, 6 7 S, 7 x + x + x + x = 1} X, 5 S, 5 T, 5 B, 5 The list of variables appearing in <strong>the</strong>se equations is easily found > Vars := indets(Eqns,name); Vars := { x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , x , F , S, 6 T, 7 T, 6 S, 7 X, 7 X, 6 B, 5 B, 4 T, 5 T, 4 B, 6 B, 7 X, 3 X, 2 X, 1 S, 1 2 F , F , x , x , x , x , x , x , x , x , F , F , x , x , x , F , F , x } 1 3 S, 3 S, 2 B, 3 B, 2 B, 1 T, 3 T, 2 T, 1 4 5 X, 5 X, 4 S, 4 7 6 S, 5 and we can count <strong>the</strong>m using <strong>the</strong> nops function: > Nvars := nops("); Nvars := 35 The number of equations is computed in a similar way > Neqns:=nops(Eqns); Neqns := 19 The number of degrees of freedom is <strong>the</strong> difference between <strong>the</strong>se two numbers > DegFree:=Nvars-Neqns; DegFree := 16 This is <strong>the</strong> number of variables that we must specify before we have a consistent set of equations that can be solved (numerically, at least). We know <strong>the</strong> flow and composition of <strong>the</strong> feed stream (note that only three of <strong>the</strong> feed mole fractions are specified). > Specs[1]:=F[1]=70; Specs := F = 70 1 1 > Specs[2]:=x[X,1]=0.15; Specs[3]:=x[S,1]=0.25; Specs[4]:=x[T,1]=0.4; Specs := x = .15 2 X, 1 Specs := x = .25 3 S, 1 Specs := x = .4 4 T, 1 We need <strong>to</strong> specify ano<strong>the</strong>r 12 variables and must look <strong>to</strong> <strong>the</strong> problem statement <strong>to</strong> find out what o<strong>the</strong>r Page 11
- Page 1 and 2: Maple Solutions to the Chemical Eng
- Page 3 and 4: The Van der Waals Equation of State
- Page 5 and 6: dimensionless form (in terms of the
- Page 7 and 8: lprint(`Reduced pressure is `, Pr);
- Page 9: Steady State Material Balances on a
- Page 13 and 14: x = .54 , x = .35 , F x = F x + F x
- Page 15 and 16: and a cubic is > p(3); a + a T + a
- Page 17 and 18: -40 1000. 100. 10. -20 1. 20 40 60
- Page 19 and 20: -40 1000. 100. 10. -20 1. 20 40 60
- Page 21 and 22: ( Z, R1 ) = 0 ( D, R3) = 0 ( C, R2
- Page 23 and 24: C = .9256703707 + .1402769617 I , e
- Page 25 and 26: Terminal Velocity of Falling Partic
- Page 27 and 28: Make a list of tank numbers > Units
- Page 29 and 30: Diffusion and Reaction in a One Dim
- Page 31 and 32: IC := {C[A](0)=0.2,y(0)=y0}; Alleqn
- Page 33 and 34: Kvalues := [seq(RAOULT(i),i=compid)
- Page 35 and 36: ead `c:/maple/numerics/newton.mpl`:
- Page 37 and 38: 108 106 104 102 100 98 96 0.4 0.5 0
- Page 39 and 40: ∂ 1 α( 1 + εX) T y = − ∂W 2
- Page 41 and 42: ∂ A ∂ DAEqns X = − = ∂W F
- Page 43 and 44: 0 -0.2 -0.4 -0.6 -0.8 5 W 10 15 20
- Page 45 and 46: deproc := proc(n,t,y,dy) local q,qs
- Page 47 and 48: params := { V = , , , , , , , } 400