Engineering With Python Rotating Header Image

Calculate a Four-Component ‘Flash’ – Problem Description


This is from E.M. Rosen and R. N. Adams, “A Review of Spreadsheet Usage in Chemical Engineering Calculations”, Computers and Chemical Engineering, Vol. 11, No. 6, pp. 723-736, but they took it from Henley and Seader, “Equilibrium Stage Separation Operations in Chemical Engineering”, Wiley, NY 1981 pg. 279.

Problem Description:

Rosen and Adams were using the spreadsheet to solve for the ‘roots’ of the flash equation.  You calculate a flash to calculate a temperature or pressure at the top or bottom of a column, or perhaps the feed condition or a knock-out drum or if you like to solve equations.  They didn’t really describe much beyond what components and that they were going to use Newton’s method.  Okay, okay, I’ll go the library and get a copy of the Henley and Rosen book so that I know more about the problem.  They used the spreadsheet to set up the data, take the first derivative and then iterate to solve for the root.

Essentially, you’ll be solving for the roots of the equilibrium flash equation:

f(α) = ∑(zi*(1 – Ki)/(1 + α*(Ki – 1)))

at a specified temperature and pressure.

Ki = yi/xi equilibrium constant of component i (Dimensionless)  Also, assume K is not a function of composition for this problem, typically they are, but not this time…

yi = mole fraction of component i in vapor phase (Dimensionless)

xi = mole fraction of component i in liquid phase (Dimensionless)

zi = feed mole fraction of component i  (Dimensionless)

α = fraction of feed that is vaporized (it is β in the wikipedia article on ‘flash evaporation’)

Problem Data:

K_propane = 4.2

K_butane = 1.75

K_pentane = 0.74

K_hexane = 0.34

Temperature and pressure are constant

This is what we have, let’s post on our programming approach.

Leave a Reply