Synthesis of Separation Systems for Ternary Mixtures
Lee R. Partin
Copyright 2000-2001, L R Partin Enterprises
September 8, 2001
lpartin@chartertn.net
http://users.chartertn.net/lpartin
This application combines the power of residue curve maps (RCMs) and combinatorial analysis for the synthesis of separation systems for ternary mixtures. RCMs provide knowledge of feasible distillation separations. The skilled engineer can interpret the RCM to define distillation towers and related unit operations for separating azeotropic mixtures. Combinatorial analysis is combined with the unit operation definitions to handle the synthesis task. The MSG algorithm determines when a feasible flowsheet superstructure (maximal structure) has been established. The SSG algorithm then extracts all of the feasible flowsheets from the maximal structure.
Source Code for Ternary Object Module and Combinatorial Analysis Procedures
Warning, these names have been redefined: dodecahedron, icosahedron, octahedron, tetrahedron
Warning, the protected name Chi has been redefined and unprotected
Warning, not an orthogonal coordinate system - no scale factors calculated.
Enter Ternary System Data
The system pressure is set and the ternary components are placed in boiling point temperature order: TL, low boiler; TI, intermediate boiler; and TH, heavy boiler. You enter the boiling point temperatures that apply for your system using the following procedures: Enter nothing if the azeotrope does not exist. (i.e., T:-TLI(); )
TL = 45
TI = 55
TH = 65
TLI = 41
TIH = 50
TLH = 42
TLIH = 25
Determine the temperature sequence from the data using the T:-TSequence() procedure. You can read more about temperature sequences from http://users.chartertn.net/lpartin.
Select which map when there are multiple feasible maps (T:-DBM will tell you when there are multiple maps)
The software finds a simple form of the RCM called a distillation boundary map (DBM). The DBM plot shows the boundaries that exist in the RCM. If the DBM does not exist for your temperature sequence, then you must correct the temperature data from above. Maybe you missed the existance of an azeotrope.
Enter the compositions for the azeotropes that exist:
AzLI composition = .88 in the low boiler
AzIH composition = .45 in the intermediate boiler
AzLH composition = .8 in the low boiler
AzLIH composition = .45 in the low boiler and .25 in the intermediate boiler
Plot the Ternary System
The DBM is plotted in triangular coordinates using the T:-PlotDBM() procedure. Unstable nodes are marked as blue squares; they are the coolest temperature within their regions. Stable nodes are marked as red squares; they are the highest temperatures within their regions. Saddles are marked as turquoise triangles. Distillation boundaries are shown as bold, straight lines.
Flowsheet Synthesis
The synthesis task is done by adding ternary composition points and then creating unit operations with the points as the input and output streams. The software determines when a feasible maximal structure has been generated to make the defined products from the feeds (MSG algorithm). It then finds all of the feasible flowsheets within the maximal structure (SSG algorithm). You can plot a flowsheet as a simple network diagram or show the composition points on the ternary diagram.
Enter composition points and units
The AddPoint procedure is used to enter a composition point. Call it once for each composition point.
T:-AddPoint(pointName, pointType, xL, xI) pointName, a string giving the point name (Do not use "e", "O", or "T" as point names.)
pointType, a string giving the type of point: "Feed", "Intermediate" or "Product"
xL, the point fractional composition in terms of the light (L) boiling component xI, the point fractional composition in terms of the intermediate (I) boiling component
(If only pointName is entered, then the point is deleted. Be sure to also delete any unit that uses the point.)
Once you have two or more points defined, then you can use the existing points to define new points. Two points can be mixed as follows:
T:-AddPoint(pointName,pointType,mixDefinition,fractionSecondPoint)
pointName, a string giving the point name (Do not use "e", "O", or "T" as point names.)
mixDefinition, definition of stream mixing as point1+point2. Examples: F+t, A+B, C+E
fractionSecondPoint, a number giving the amount of point2 to add to one part of point1.
You can also create a new point by subtracting an existing point from another point as follows:
T:-AddPoint(pointName,pointType,subtractDefinition,fractionSecondPoint)
subtractDefinition, definition of stream subtraction as point1-point2. Examples: F-t, A-B, C-E
fractionSecondPoint, a number giving the amount of point2 to subtract from one part of point1.
The final way to create is new point is to find the intersection of two lines. Each line is defined by two points.
T:-AddPoint(pointName,pointType,intersectionDefinition)
intersectionDefinition, four points in the form P1+P2=P3+P4. The defined point is the intersection of the line from P1 to P2 with the line from P3 to P4.
Unit operations are defined in terms of the composition points using AddUnit:
T:-AddUnit(unitName, unitEquation);
unitName, a string giving the name of the unit operation (i.e., "mix1")
unitEquation, an equation of inputs = outputs in terms of the composition points (i.e., A=B+C) If you enter only the unitName, then the unit is deleted.
(Note: You can combine several units into one unit when printing a network diagram of a flowsheet by giving the base name to the units followed by _a, _b, _c, etc. For example, mix_a, mix_b and mix_c would plot as mix on the flowsheet plot. This simplifies the flowsheet plot.)
Solve for Feasible Flowsheets
First, the MSG algorithm finds the maximal superstructure if it exists.
If the maximal structure exists, then the SSG algorithm finds all feasible flowsheets.
View Flowsheet(s)
You can view a flowsheet as a simple network diagram via the flowsheet procedure. It has a single argument that is the flowsheet number as found by the SSG procedure. Enter flowsheet 0 for the maximal structure.
The information is placed in columns:
Red lines connect the unit name to its feeds. Dashed blue lines connect
You can view the flowsheet stream compositions on the ternary map using the T:-PlotPoints procedure. It has a single argument which is the flowsheet number as found by the SSG procedure. Enter flowsheet 0 for the maximal flowsheet structure.
Animate the plotting of all flowsheets
Restart
The restart command resets all information. You would then need to start at the beginning again by loading the T module code.