home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / object / 4524 < prev    next >
Encoding:
Text File  |  1992-12-14  |  6.0 KB  |  126 lines

  1. Newsgroups: comp.object
  2. Path: sparky!uunet!haven.umd.edu!darwin.sura.net!news.duc.auburn.edu!eng.auburn.edu!henley
  3. From: henley@eng.auburn.edu (James Paul Henley)
  4. Subject: Chemical Engineering and OOP (was: Is Borland the leader in OOP)
  5. Message-ID: <henley.921214090111@wilbur.eng.auburn.edu>
  6. Keywords: engineering
  7. Sender: usenet@news.duc.auburn.edu (News Account)
  8. Nntp-Posting-Host: wilbur.eng.auburn.edu
  9. Organization: Auburn University Engineering
  10. References: <henley.921211083100@wilbur.eng.auburn.edu>
  11. Date: Mon, 14 Dec 1992 15:01:11 GMT
  12. Lines: 112
  13.  
  14.  
  15. I suppose that yak yak is getting me nowhere, so let's cut to the chase.
  16.  
  17. Take a tray in a distillation column:
  18.  
  19.  
  20.     L0, X0       V1, Y1          L is liquid stream flow rate down
  21.     -------------------          V is vapor stream flow rate up
  22.    |                  |          X is liquid fraction of light component
  23.    |  Vh    Y1        |          Y is vapor fraction of light component
  24.    |~~~~~~~~~~~~~~~~~~|          Vh is height of Vapor
  25.    |  Lh    X1        |          Lh is height of Liquid
  26.    |                  |          rhoV is density of Vapor
  27.     ------------------           rhoL is density of Liquid
  28.     L1, X1      V2, Y2           A is effective cross sectional area
  29.                                  t is time
  30. Mass balances:
  31.  
  32.    (L0 + V2) - (L1 + V1) = A*rhoV*d(Vh)/dt + A*rhoL*d(Lh)/dt
  33.   (X0*L0 + Y2*V2) - (X1*L1 + Y1*V1) = Y1*A*rhoV*d(Vh)/dt + X1*A*rhoL*d(Lh)/dt
  34.  
  35. At steady state:
  36.  
  37.    (L0 + V2) - (L1 + V1) = 0
  38.    (X0*L0 + Y2*V2) - (X1*L1 + Y1*V1) = 0
  39.  
  40. For binary distillation (two components):
  41.  
  42.     Y1 = f(X1)      this function may requre iterative calculations to solve.
  43.                     To make things worse, the liquid and vapor usually don't
  44.                     actually reach equilibrium.  A heuristic method is used
  45.                     determine the psuedo-equilibrium relation, such as 
  46.                     Murphree tray efficiency.
  47.  
  48. For multicomponent distillation, it gets much more difficult to express
  49. the relationship mathematically.
  50.  
  51. For steady state, there are 8 variables:
  52.  
  53. L0, L1, V1, V2, X0, X1, Y1, Y2
  54.  
  55. But there are only three equations - two mass balances and an equilibrium
  56. relationship.  And the equilibrium relationship may not be a simple equation.
  57.  
  58. That means that we have 5 degrees of freedom for this object. Yet, at steady
  59. state, all 8 variables will be fixed.
  60.  
  61. So, to represent this tray as an object, it is impossible to determine the
  62. steady state values of the variables from the mathematical description of this
  63. one object alone.  So the equations for *all* of the trays are combined and
  64. solved simultaneously.  But in so doing, we are no longer looking at each
  65. tray individually.
  66.  
  67. If we use the unsteady state model, we will have to solve differential
  68. equations in the mass balances for each tray.  We will have to do this 
  69. in each tray, and it will have to be done simultaneously for all the trays
  70. for the results to be accurate.  So, what we have is a number of autonomous
  71. objects, each doing its own calculations for unsteady state response to 
  72. changes in the input streams, and all of these objects communicating with
  73. the other objects about the composition and flow rate of the streams leaving.
  74. All of the objects must be running simultaneously, or at least time sharing,
  75. and the inter-object communications has to be as fast and efficient as
  76. possible.
  77.  
  78. In effect, what this will be is a distributed mathematical inference engine.
  79. It will solve simultaneous differential equations in a natural order, rather
  80. than in an artificial order.  Currently, matrix methods are used to solve the
  81. simultaneous equations, but the matrix methods suffer from combinatorial
  82. explosion.  There is a whole field of Chemical Engineering devoted exclusively
  83. to finding more powerful methods of solving these simultaneous equations -
  84. High Performance Computing.
  85.  
  86. Industry relies primarily on heuristic methods, and in the undergraduate
  87. courses, that is what we teach.  But the heuristic methods are limited
  88. to correlating parameters with experimental results.  In other words, they
  89. are a sort of 20/20 hindsight.  Thus, they limit problem solutions to what
  90. has already been done rather than what could be done.
  91.  
  92. Now,  all I need is the ability to design and implement an object that will
  93. communicate dynamically with other objects that are running concurrently on
  94. either the same processor, or on other processors.  That sounds just like
  95. what a lot of people are already doing - no?  Yes, no, and maybe.
  96.  
  97. To be really valuable (and I mean $$$$$ valuable),  the design and
  98. implementation of objects at different levels - for example a distillation
  99. column at one level, and the components of the distillation column at a
  100. lower level - needs to be as flexible as possible, and may require several
  101. models for behavior.  A distillation column, for example, may have a heuristic
  102. model based on empirical correlations, a steady state model based on Lewis
  103. method tray by tray calculations (the simplest model), and a dynamic model
  104. that is actually calculated by the individual tray objects themselves.
  105. By having multiple models, any of the models may be developed after the
  106. object has already been implemented.  This would be a valuable tool for 
  107. model refinement.  Not only that, it would allow an object to be implemented
  108. without being fully specified.  That is a common situation - incomplete
  109. specification.  Also it would give a means of identifying and correcting
  110. inconsistent specifications.  The *REAL* bonus of this approach is that
  111. when rigorous calculations are *not* necessary, they aren't performed!
  112. Since it is a distributed system, that decision is handled locally.
  113.  
  114. For multicomponent distillation, it may be necessary to use heuristic models
  115. to describe the phase equilibria - that is, how the fraction of a component in
  116. one phase is related to the fraction of the same component in another phase.
  117. And that may require a database.  Obviously, we would want a shared database, 
  118. and fast access to the database.
  119.  
  120. Dr. James P. Henley Jr.
  121. Visiting Assistant Professor
  122. Department of Chemical Engineering
  123. Auburn University
  124.  
  125.  
  126.