Professional Documents
Culture Documents
The plex provides an elegant way to represent the data ented language and the problem oriented calling pro-
describing a process model. Beads are the primitive ele- grams. It is easier for the user to read and write programs
ments from which the plex data structure is built. The written with the problem oriented language, but a trans-
ability to intermix real numbers, integer numbers, Boolean lator or interpreter is required to process the language.
values, and character strings within a bead permits a The language processor adds complexity and may not
more natural description of the attributes of process fit onto smaller computers. The problem oriented calling
models. Pointers show relations among information in the programs require no special processors but are more diffi-
data structure. cult to use. They consist of calls on subprograms, and
From a programming viewpoint, the plex data structure they focus upon the individual building blocks and modu-
has many advantages over fixed array structures. It pro- larity. A system that works with the problem oriented
motes modularity: the building block routines require calling program can be adopted later for use with a
only a single argument, the pointer to the portion of the problem oriented language.
plex upon which they are to operate. It provides flexibility: The plex data structure permits easy specification of
for example, stream classes for new types of streams are the path of computations when building block routines
easily represented. It allows easy modification to the proc- call upon other routines and choices exist at each level.
ess configuration by deleting beads and creating new Only a single pointer to the routing plex need be passed
ones. It does not waste storage for large numbers of as an argument from routine to routine.
As an improved representation of information, the plex
unused entries in predimensioned arrays. It does not limit
could have a significant effect upon those who develop
problem size as occurs with predimensioned arrays.
modular computer programs for modeling chemical proc-
The principal disadvantage is that execution time may esses. Just as the use of vector and tensor notation stimu-
be increased by the time required to access information lated theoretical work in transport phenomena, and the
from the plex. This limitation is not serious, however use of state variables promoted new developments in
(JoTeph et. al., 1977). automatic control, the use of plex data structures could
Two methods have been described for creating and provide a stimulus to developing modular programs for
operating on the plex data structure: the problem ori- computer aided chemical process analysis.
Despite the considerable effort expended by the chemi- cultural wastes; Systems must be optimized to reduce both
cal a i d petroleum companies on process simulation sys- capital and operating costs while having less pollution
tems, there exists a need for an advanced computing and greatcr plant safety and reliability. Techniques of
system for the analysis of process flow shects. The re- process simulation now used successfully in the chemi-
rjuircmcnts for such a system were presented in an earlier cal and petroleum industries need to be applied in other
paper (Evans and Scider, 1976). This paper discusses industries such as paper, food, and metals processing.
somc concepts for design of the system. Present day simulation systems handle a limited class
Thc nest generation of computing system for flow of processes (mostly hydrocarbon processes). They lack
shcct analysis must address trends in both process engi- the ability to model diverse types of streams (such as
nccriiig and digital computing. solid-liquid and solid-vapor) characterized by different
sets of variables (size distributions, particle shape pa-
TRENDS IN PROCESS ENGINEERING rameters, porosities, etc.) . They lack unit operation sub-
routines for process units that involve solids, for example,
Process engineering is being called upon to solve new cyclone separators, kilns, fluidized-bed heat exchangers,
prob!ems. Processes are needed to convert coaI into clean filters, centrifuges, driers, electrostatic precipitators, crys-
fucls, to use ,new raw materials such as oil shale and tar tallizers, screens, and equipment for crushing and grind-
sands, to store the energy from nuclear power plants in ing.
the form of fucls such as hydrogen or methanol, and to New types of flow sheet analysis are becoming im-
rcproccss waste materials such as trash, scwage, and agri- portant, including dynamic simulation for the study of
-
8 T U B E O U T L E T STREAM be obsolete by the time it was completed.
There are two aspects to the design of the system: data
9
-I- POINTER TO BEAD FOR
S H E L L O U T L E T STREAM structure and programs. The data structure contains the
numerical values and alphanumeric information required
LOGICAL V A R I A B L E ( TRUE IF COUNTER-
lo CURRENT. F A L S E I F C O - C U R R E N T ) during solution of the problem. The programs operate on
Fig. 2. Example bead to contain the equipment parameters for a the data structure. This paper focuses upon the data
heat exchanger model. structure and its implications for building block routines,
and the use of a problem oriented language,
+---
the variables of a single stream. The arrays are dimen-
r TEMP I I 19
PROC I
BEAD FOR L I S T OF
PROCESS U N I T S
I S GIVEN
BEAD FOR L I S T
A NAME UN I T 4
/OF INLET STREAMS
FLOW2
FLOW3 53
I
Fig. 3. Typical bead.
5 0 C LB/HR ETHANE
The basic element of the plex data structure is a bead, 5 0 L B / H R PROPANE
which is a block of contiguous storage locations; the num- Fig. 6. Flash with recycle process.
ber of locations may vary from one bead to the next. A
bead may contain different types of entries, including
integer values, real values, Boolean values, pointers to
other beads, and pointers to alphanumeric strings. An ex-
ample bead to contain the equipment parameters for a
heat exchanger model is illustrated in Figure 2.
Beads are referenced by pointers, which may be
thought of as handles that refer to the entire bead, The
-
- POINTER TO NEXT COMPONENT
“NAME OF COMPONENT“
value of a pointer is the address of the first storage loca-
cation of the bead.
A typical bead is shown in Figure 3. Each entry is given MOLECULAR WEIGHT
a name such as TEMP, PRES, FLOW1, etc. These names
are descriptive of their meanings. NORMAL BOILING POINT
Data in the bead shown in Figure 3 might be accessed
as follows, To retrieve the contents of the second entry of CR IT1CA L TEMPERATURE
E
the bead, the statement
CRlTlCA L PRESSURE
R = VAL (P, ‘TEMP’)
CRITICAL COMPRESSIBILITY
would place the contents of the second location into R. To
store a value in the fourth entry, the statement
CALL STOR (P, ‘FLOW2’, 17.)
would place the value 17. in the fourth location. In this
example, VAL and STOR are data management operations
that would be performed by appropriate routines.
An entry in a bead may contain a pointer to another
h i d as shown in Figure 4.The entry UNIT4 in the bead
3
C
ANT01 N E
COE FFI CI E N T S
IDEAL-GAS HEAT
pointed to by PROCl contains a pointer to a bead con- CAPAC IT Y COE FFlC I ENTS
taining the list of inlet streams. The entry FEED con-
H
* STORAGE
tains a pointer to a bead containing the stream variables.
Nested calls on the data management routines can be
used to retrieve the temperature of the feed stream to unit
4 in process 1.
Beads are created dynamically during execution of a
program from a pool of free storage as illustrated in
Figure 5. The statement
P = FREE ( 5 )
C A L L B R E T (PI would assign to P the value of a pointer to a bead with
five locations, When the bead was no longer needed, it
td
Fig. 5. Pool of free storage.
could be returned to the free storage pool by the statement
CALL BRET (P)
NAME
0
* "NAME OF STREAM" IN
POINTER TO L I S T
OF INLET STREAMS
POINTER TO L I S T
0 OF O U T L E T STREAMS
OUT L-
PRESS PRESSURE
NOUT rt-1 POINTER TO FIRST
OUTLET STREAM
HFLOW ENTHALPY FLOW
POINTER TO SECOND
OUT 2 OUTLET S T R E A M
VAPOR FRACTION
Fig. 9. Bead to contain unit parameters.'
POINTER TO STREAM CLASS
SCLASS ( L I S T OF COMPONENTS) PROBLEM ORIENTED LANGUAGE TO CREATE
FI FLOW OF COMPONENT I PLEX STRUCTURE
The use of a plex data structure will be illustrated to
represent information for steady state simulation of the
simple recycle process shown in Figure 6. Beads will be
FN 1 1 FLOWOF COMPONENT N created to contain physical constants for pure chemical
species, stream variables, and unit parameters, etc. Typia
cal beads are shown in Figures 7 to 9.
Figure 10 shows the statements in a hypothetical prob-
THERE WILL BE DIFFERENT STREAM BEADS FOR
lem oriented language to simulate the recycle process for
DIFFERENT TYPES OF STREAMS (SOLIDS, M U L T I - the conditions given in Figure 6. The first section creates
PHASE, ETC.) the data structures and will be described next. The second
Fig. 8. Bead to contain stream variables. section defines the building blocks and calculation order to
be used in simulation, Finally, the third section prints the
results of simulation.
1
i
TITLE FLAS H WITH RECYCLE
COMPONENE
1 iI
STREAM CLASSES
11
DlCTlONIRY
POINTERS T O B E A D S
CONTAINING L I S T S OF
~ COMPONENTS
NAME POINTER VALUE
STREAM CLASSES
'METHPNE' -
'.
F T H I N.
F' -
'PROPANE -
Fig. 12. Statement to create beads for physical constants of chem-
ical species.
P O I N T E R TO
DICTIONARY
OF P O I N T E R N A M E S D E C L A R E STREAM C L A S S ONE F E E D R 2 S l OVHO S 2 E T M S R I .
--
STREAMS
COMPS
c
S CLASSES
- , I
STREAMS
COMPONENTS
0
-~
'METHINE'
'ETHANE'
-
-
F.
. . .
'PROPANE' -
'ONE'
ONE
I
I 'SI'
'ovn5'
'S2'
'ONE' 'BTMS' -
NAME POINTER VALUE
'R I ' METHANE
'METHAN:' -
'R2' FROWNE
'ETHANE
'PROPANE' -
'ONE' -
POINTERS TO
CONSTANTS FOR
,( METHANE
ETHANE
Fig. 14. Statement to create stream beads.
W R E SPECIES PROPANE
CREATE A1 T Y P E = ADZIIFEED R 2 / S I ,
Fig. 13. Statement to create a stream class bead. CREATE F I T Y P E = ISOTHERMAL FLASH i P = 2 5 P S l A , T ~ 5 D E G F 1 1 S l / O V H D S 2 .
CREATE Cl T Y P E i SPLIT (FI.05. F2=0511S2/ETMS RI,
CREATE PI T Y P E =PUMP (POUT = I O O P S I A l / R I / R Z ,
The first statement creates a process bead with a title
for the process. Entries in the process bead are provided A1 FI c1 PI
- [S2
OVHD
B R
ETMS
I
'R2'
Next, a stream class bead is created which defines ,Al, -
stream class ONE to be for vapor-liquid streams contain- 'FI' -
-
'CI'
ing methane, ethane, and propane. Its pointer value is 'PI' -
placed in the process bead and pointer dictionary. It con- Fig. 15. Statement to create beads for process units.
tains pointers to the beads containing constants for
mcthane, ethane, and propane. This new bead is shown The next four statements create three beads for each
in Figure 13. Typical processes will contain several stream process unit: a bead to define the process unit with point-
classes, especially when solids are present. ers to beads containing pointers to its feed and product
The nest statement creates a bead for each stream in streams, as illustrated in Figure 15. Pointers are also en-
the process: FEED, R2, S1, OVHD, S2, BTMS, and R1. tcrcd in the stream beads to the unit from which the
The stream class for all streams is ONE. A pointer is stream originates and to which it is destined. Values for
created from the process bead to the bead for the FEED the unit paramcters are also entered.
strcam and, in turn, from each stream bead to the next. The last statement in the section defining the process
Pointers to the unit from which the stream originates and specifies values of the feed stream variables. The entire
to which it is destined are not set. Figure 14 illustrates the data structure is shown in Figure 16. It is ready for use
new beads and pointers. by simulation programs.
i
A l = POINT ( ' A I ' ) cessive.
FI = POINT ( ' F l ' ) OBTAIN POINTERS TO
UNIT PARAMETERS BEADS
'I = "INT ( " l ' ) ESTABLISHED DURING READING PROBLEM ORIENTED CALLING PROGRAM
P I = POINT ( ' P I ' ) OF INPUT DATA
The use of the plex data structure does not require a
R 2 = POINT ( 'R2' ) ASSUME VAUIES OF
RECYCLE STREAM
problem oriented language. Figure 17 illustrates a
CALL ASSUME (R2,TEMP, T, P, FLOW)
VAR I ABLE S FORTRAN program that calls upon subroutines to build
I CALL MIX ( A I ) the plex and carry out the simulation. A subroutine INPUT
SIMULATE
CALL IFLSH ( F I reads data cards of the type shown in Figure 18 and
CALL SPLIT ( C I ) UNITS builds the plex. The data cards provide as much informa-
CALL PUMP ( P I ) tion to describe the process as the problem oriented lan-
CALL CONVG ( R 2 , TEMP, 81) IF NOT CONVERGED, GO TO I guage but in a more restrictive format and order.
CALL REPORT ROUTINE TO PRINT RESULTS The values of the pointers are retrieved from the
CALL E X I T pointer dictionary. Assumptions are entered for stream
END R2 followed by calls upon the building blocks. Finally,
Fig. 17. Problem oriented FORTRAN calling program. the REPORT routine prints the contents of the data
structure.
A prime reason for including the problem oriented
The building blocks and their calculation order during calling program in the design specifications is to assure
simulation arc given in the nest section. First, initial as- that at least one version of each building block is avail-
sumed values for variables in recycle stream R2 are en- able as a subroutine that can be called independently. It
tered. Then, for each unit, the name of the simulation should be possible to utilize the building blocks on com-
program to be uscd is given, as well as iteration param- puters (for example, a real-time process control com-
eters (for example, error tolerance). Finally, Wegstein's putcr) that do not have facilities for trandation or inter-
method is specified to converge the recycle calculations pretation of the problem oriented language.
for R2.
The SIMULATE statement initiates simulation, and the ROUTING
PRINT statements cause information from the plex struc-
ture to be printed after simulation is completed. Developers of process simulation systems must consider
the routing problem that exists when a building block
PROCESS FLASH WITH RECYCLE calls upon building blocks, which in turn call upon other
COMPONENT M E T H A N E 16.04 -161.4... building blocks. The problem arises when a choice exists
COMPONENT ETHANE 30.07 -88.6.. .
among building blocks, as occurs in the computation of
physical properties. .It has been referred to as the prob-
COMPONENT PROPANE 44.09 -42.2.. ,
lem of route selection (Norris, 1965).
STREAMCLASS ONE VAPLIO METHANE E T H A N E PROPANE
Consider the routing problem that arises in the compu-
DECLARE ONE FEED R 2 S I OVHD S 2 B T M S R I tation of vapor-liquid equilibrium constants, K values.
UNIT A l ADDIFEED R2/SI/ Figure 19 illustrates alternate calculation paths and the
UNIT F I I S O T H E R M A L F L A S H / S I / O V H D S 2 / 2 5 . 0 5.0 bold path corresponds to one possible route. To specify
UNIT CI SPLIT/S2/BTMS R1/0.5 0.5 the route one must designate not only the options to be
UNIT PI P U M P / R I / R 2 / 100.0
used by the routine KVALUE, but also the options for
each routine that KVALUE calls upon, etc. The desired
S T R E A M F E E D 85.0 100.0 100.0 500.0 50.0
route could be indicated by a statement such as
E NDDATA
Fig. 18. Data cards for problem-oriented calling program. DEFINE KROUTE 2 ( 1,3), 3, l ( 2 )
nated for each building block that calls upon other build-
ing blocks, where a choice exists. The subject of routing L
LITERATURE CITED Porter, J. H., “Computer-aided Process Design: An Exercise
in Dynamic Man-Machine Communication,” paper presented
Evans, L. B., and W. D. Seider, “The Requirements of An Ad- at the Annnal hleeting of AIChE, Lor Angeles (Dec., 1969).
vanced Computing System,” Chem. E n g . Progr., 72, 6 Rosq, D. T., “A Generalized Technique for Symbol Manipula-
(1976). tion and Numerical Calculation,” Comm. ACM, 4, NO. 3,
Fay, J. E., “A Prototype System for On-Line Computer-Aided 147-150 (Mar., 1961).
Process Design of Heat Exchange Networks,” Sc.D. thesis, Seider, W. D., B. Joseph, E . Wong, and L. B. Evans, “Routing
Massachusetts Institute of Technology, Cambridge ( 1971 ) . of Calculation Methods in Process Simulation,” Paper 30b
Joseph, B., W. D. Seider, and L. B. Evans, “The Use of a Plex 69th Annual Meeting of AIChE, Chicago, Ill. (Nov., 1976).
Data Structure for Process Simulation,” submitted for pub-
lication to Computers and Chemical Engineering ( 1977).
Norris, R. C., “Estimating Physical Properties-Route Selection,” Manuscript receitied Nooember 2, 1976; revision receitied June 2.
Chem. Eng. Progr., 61, KO.5,96-101 (May, 1965). and accepted June 17, 1077.
SCOPE
Oxygen and carbon dioxide must frequently be re- relatively efficiently and contain no moving parts. The
moved from the feed to desalination plants to minimize major types of hydraulic nozzle are fan jet, centrifugal
corrosion and scaling, respectively. Refrigerant gases must (swirl), and jet impingement. In all three types, the liquid
be removed from both the product water and effluent leaves the nozzle as a thin, coherent sheet which then
brine streams of some freeze-desalination processes. Vac- breaks up to form a spray.
uum stripping may be used in these cases to avoid the Hydraulic nozzles are frequently characterized by the
excessive heat load associated with steam stripping, since drop size which they produce. The implication is that
only one or two equilibrium stages are required for nearly the important mass transfer takes place after drop forma-
complete removal of a sparingly soluble gas. The purpose tion is completed. However, a number of workers have
of this study was to analyze the mass transfer behavior
recognized that rapid mass transfer can occur close to
of sprays during vacuum desorption of sparingly soluble
the nozzle before and during drop formation.
gases. OnIy aqueous solutions were studied in this work.
However, the general principles would be expected to It is important to the design of compact, efficient vac-
apply equally well to nonaqueous systems. uum-spray equipment to determine the region of the
Of the six major categories of spraying devices (Lapple spray in which mass. transfer is most rapid. One of the
et al., 1967), hydraulic nozzles are the only type well goals of this paper was to make that determination by
suited for vacuum-spray stripping, since they use energy comparing experimental data with contrasting mathemat-
ical models. In a second paper a method of designing
Correspondence concerning this paper should be addressed to Scott the equipment for a particular stripping duty will be
Lynn. Stuirt G. Simpson is with Union Carbide Corporation, Tarry-
town, New York. presented.