1741094
1741094
1741094
DE87 006140
by
July 1986
This work was supported by the Morgantown Energy Technology Center, Assis
tant Secretary for Fossil Energy, Office of Coal Utilization, Advanced Research
and Technology Development, Division of Surface Coal Gasification through the
U.S. Department of Energy under contract number DE-ACO3-76SFOO098.
niRTrMPirn;vi I-I
MASTER
DISCLAIMER
This report was prepared as an account of work sponsored by an agency of the United States
Government. Neither the United States Government nor any agency thereof, nor any of their
employees, makes any warranty, express or implied, or assumes any legal liability or responsi
bility for the accuracy, completeness, or usefulness of any information, apparatus, product, or
prccess disclosed, or represents that its use would not infringe privately owned rights. Refer
ence herein to any specific commercial product, process, or service by trade name, trademark,
manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recom
mendation, or favoring by the United Slates Government or any agency thereof. The views
and opinions of authors expressed herein do not necessarily state or reflect those of the
United States Government or any agency thereof.
1
Gas Streams
Dan Neumann
Abstract
A process for the removal of hydrogen sulfide from coal-derived gas streams
has been developed. The basis for the process is the absorption of H S into a polar
2
organic solvent where it is reacted with dissolved sulfur dioxide to form elemental
sulfur. After sulfur is crystallized from solution the solvent is stripped to remove
dissolved gases and water formed by the reaction. The S 0 is generated by
2
burning a portion of the sulfur in a furnace where the heat of combustion is used
to generate high pressure steam. The S 0 is absorbed into part of the lean solvent
2
and water. The presence of DMA increases the value of the second-order rate
constant by ad order of magnitude over that obtained in the glycol ethers alone.
Addition of other tertiary aromatic amines enhances the observed kinetics;
heterocyclic amines (e.g. pyridine derivatives) havir been found to be 10 to 100
times more effective as catalysts when compared to DMA.
process for the reduction of the H*S content of a gasified coal stream from 60,000
to I ppm are presented.
Acknowledgements
TABLE OF CONTENTS
Abstract
Acknowledgements
I. Introduction
A Background 5
B. Experimental Methods 5
C. Methods of Analysis 7
1. Acid-Base Experiments 7
2. Kinetics 9
3. Heat of Reaction 11
4. Heat of Reaction 20
E. Catalyst Survey 21
1. Catalyst Structure 21
3. Water Effect 27
F. Selection of Catalyst 27
Table of Contents (Continued)
A. Background 31
B. Simulation 31
1. Main Program 31
2. Unit Operations 34
C. Process Description 38
1. Process Specification 38
2. Processing Steps 38
3. Summary 46
References 52
List of Variables 55
Appendix 56
D. Thermodynamics Subroutine 63
I. Introduction
A. Need for H S Removal Technology
2
with the application. For instance, when coal is gasified most of the organic
sulfur is converted to H S that ranges in concentration from several ppm to a few
2
percent depending on the source of the coal. Before the gas can be used, the H S 2
content will generally need to be reduced to the ppm level, although reduction to
the ppb range may be required in some applications.
B. H S Removal Technology
2
Since its development in the late 19th century and through subsequent
refinements, the principle method of H S removal has been the Claus process. This
2
(Ferguson, 1975, pg. 1). In general, further processing must be provided to reduce
the concentration of sulfurous compounds in the effluent to environmentally
acceptable levels.
A great number and variety of processes have been developed to treat the exit
gas from a Claus plant. Generally, in the first step of any 'tail gas" process, the
sulfur in the gas is converted to a single form, either by reduction of excess S 0 2
and recycled to the beginning of the Claus plant or converted to a product which
can be sold or disposed. A detailed discussion cf these 'tail gas' clean-uo units is
beyond the scope of the present work. The interested reader is referred to several
excellent reviews (for example Ferguson (1975); Kohl and Riesenfeld (1979)) for
descriptions of these processes. In order to illustrate the general approach taken
and some of the problems encountered in recovering residual hydrogen sulfide, an
example of a commercially successful process, the Beavon Sulfur Removal Process,
is given below.
In the Beavon Sulfur Removal Process, S 0 in the Claus plant exit gas is first
2
consumption of valuable fuel in the reduction step and the large circulation rates
needed due to the low absorption capacity of the solution (- 1 g sulfur/lit) reduce
the attractiveness of the process. Furthermore, the sulfur formed by the reaction is
of low quality and often difficult to remove from solution. Because of the high
pumping requirements and the net energy consumption, the Beavon/Stretford
process is limited to the treatment of gases containing no more than 10 tons/day
of sulfur (Kohl and Riesenfeld, 1979).
Conceptually the UCBSRP is analogous to the Claus process carried out in the
liquid phase. However, unlike the gas-phase Claus reaction, the reaction between
H S and S 0 dissolved in organic liquids can be performed at temperatures below
2 2
1S0°C where the reaction is irreversible and goes essentially to completion. With
judicious use of this added driving force, the hydrogen sulfide level in the outlet
gas can be reduced to less than 1 ppm without the addition of a costly tail gas
4
unit.
sulfide.
The present study is part of the ongoing development of the UCBSRP. One
aim is elucidation of the kinetics of the reaction between hydrogen sulfide and
as potential solvents and catalysts for the reaction between hydrogen sulfide and
sulfur dioxide. The reaction in these systems and those features of the kinetics
This demonstrates several novel facets of the process as well as indicating the
stream.
II. Kinetics of the Reaction Between H S and S 0 in Organic Solvents
2 2
A. Background
When the reaction between H S and S 0 is carried out in organic liquids at
2 2
mixture.
The present work was undertaken to study the reaction between H S and S 0
2 2
B. Experimental Methods
All rate measurements were made in a SO-ml Erlenmeyer flask that contained
a magnetic stir bar and was sealed by a septum cap (see Fig. II-1). Insulation was
provided by a styrofoam block with a hole drilled out for the reactor. Reaction
progress was monitored by recording the temperature rise as indicated by the
change in the millivolt-level potential produced by a bare, type T thermocouple
Figure ll-l
Experimental Apparatus
Syringe
£ SO.Solutlon
To
Chart
Styrofoam
hLS Solution
Insulation Recorder
Stir Bar
Bottom
connected to a chart recorder. A measured quantity of a solution of one reactant
was first placed in the reaction vessel. The reaction was initiated when a
measured quantity of a solution of the second reactant at the same temperature
was injected quickly by syringe into the stirred vessel.
The range of initial reactant concentrations was limited to 0.05 to 0.2S M S 0 2
and 0.1 to 0.5 M HjS. These compositions were high enough to produce sufficient
reaction to permit accurate measurement of the temperature rise without
exceeding an arbitrarily selected maximum temperature increase of 5 °C. Since the
temperature coefficient of the reaction rate constant was found to be relatively
low (see below), the rate constants obtained from these adiabatic experiments are
very nearly equal to those for the reaction carried out under isothermal conditions
- i.e. at the average temperature of a run.
C. Methods of Analysis
1. Acid-Base Experiments
Reactions between NaOH and HCI were carried out in the calorimeter to
determine the rate of mixing, the thermal mass of the apparatus, and the rate of
heat loss from the system. The experimental method was that used in the H S-S02 2
reactions and the quantities and concentrations of reactants were chosen to give
similar temperature rises and thermal masses. Siuse the acid-base reaction is
practically instantaneous, the time necessary for complete reaction is the mixing
time. A heat balance applied to the apparatus and solution allows calculation of
the thermal mass of the reactor. Furthermore, by measuring the decrease in
temperature with time after the initial rise, the rate of heat loss from the system
can be determined.
0 5 1 15 20
Time (sec)
and S 0 lasted longer than this period, the reaction was then occurring in a
2
homogeneous solution.
+
From the known heat of reaction for H + OH" (- -13.4 kcal/mole of H 0 2
formed) and the heat capacity of the aqueous solutions (approximated as water,
Cp » 1 cal/g °C), the thermal mass of the apparatus was determined to be 0.6
cal/ °C. Sine: in these expermiments the thermal mass of the solution for a typical
run was 12-15 cal/°C, the contribution of the apparatus to the total heat capacity
of the system was small.
The heat leakage from the reaction vessel and styrofoam block corresponds to
a rate of temperature decrease that is less than 0.002 °C/sec. Thus, there would be
a* most a temperature drop of about 0.02 °C during the ten seconds required for a
typical H S - S 0 run. Since in the majority of experiments the temperature rise
2 2
2. Kinetics
If the reaction between H S and SOj is first order in both reactants, then the
2
By stoichiometry
C B - Cg - 2<C° - C ) A (II-2)
in which the superscript 0 refers to time - 0. Substituting Eq. 11-2 into Eq. II-1
and rearranging yields the following rate expression:
Jc dt - d C / [ C ( 2 C - 2 c £ + c g ) ]
2 A A A (II-3)
k t - [1/<2CJJ-Cg)] in [ (Cg/c£) (C /C ) ]
2 A B (II-4)
If a reaction is first order with respect to both A and B, then a plot of the
integrated rate expression on the right-hand side of Eq. II-4 versus time should
lie on a straight line with a slope of k . Note that when the initial concentrations
2
of H S and SOj are stoichiometrically equivalent, Eq. 11-4 reduces to the more
2
2 k t - 1/C
2 A - l/c£ (II-5)
m a x
C - C° (1 - (T - T ° ) / ( T - T°)) (H-6)
From this concentration and the known stoichiometry, the concentration of the
other reactant czv be calculated. In order to minimize errors due to the. ma I losses,
only temperature rises less than 90% of the maximum value were used for
determining reaction-rate constants.
The proceeding analysis presupposes perfect mixing. Since these experiments
require the injection of one of the reactant solutions into the other, a finite
period (whose length depends on the sample volumes, solvent viscosity, and stirrer
speed) is needed for complete mixing of the components. Before mixing is
complete, local inhomogeneities exist in which one of the reactants is in large
excess. The other reactant is rapidly depleted there, effectively reducing the
reaction rate in these regions to zero. Overall, the experimentally measured rate is
lowered and the kinetics of the reaction under such conditions is of uncertain
significance. However, during this period the temperature of the solution
nevertheless rises in proportion to the reaction that does occur. Therefore, after
the solutions are thoroughly mixed, the average concentrations of the two
reactant!; (as determined from the temperature rise using Eq. II-6) become the
homogeneous concentrations in the bulk liquid and the rate is that for the
homogeneous reaction. The rate constant was determined from plots of the
integrated rate expression (Eq. II-4) versus time by considering only the portions
of the plots for which the time is greater than the mixing time.
3. Heat of Reaction
The heat of reaction for each of the experiments was calculated from the
measured temperature rise and the thermal properties of the system. An enthalpy
balance yields
H ^ . E(»c ), p + (*c )
p a p p i ( T M a x _ T O ) ( I I _ ? J
where the subscripts "app" and V refer to the apparatus and solution respectively.
The value nj_ is the number of moles of the limiting reactant.
The heat capacity of the organic solution, including all solvents and products,
was estimated by a group contribution method applied to the bulk solvent used in
a given run. Calculations for Triglyme and DGM using Missenard's group
contribution method, Reid et al. (1977), give a value of Cp - 0.50± 0.05 cal/g-°C.
12
D. Results and Discussion — DMA as Catalyst
1. Results for the Reaction of H S and S0 in Triglyme/DMA/H 0
2 2 2
Kinetic data were analyzed using equation Eq. II-4. Plots of the concentration
expression on the righthand side of Eq. II-4 versus time yield a straight line (in
the region t > t j ) with a slope of value k when the reaction follows second-
m x 2
shown in Fig. 11-3. Values of k were obtained from similar plots by drawing the
2
best straight line through the data for t > 1 sec. The curvature at times less than 1
second results from the finite time required for injecting the S 0 sample and
2
mixing the solution. In nearly all of the runs the time intercept, as found by
extrapolating the line drawn through the integrated rate data back to the time
axis, was about O.S to O.S seconds. These values, which approximate quite well the
mi-ing time in the HCI - NaOH experiments, showed little variation from run to
run and thereby indicate a high degree of reproducibility iv the experimental
conditions and technique. Furthermore, since this result agrees with the mixing
time obtained in the acid-base experiments, data points at longer times presumably
represent the progress of the reaction in a well-mixed solution.
out with the ratio of H S to S 0 varying from ibout 2:1 to 1:2. In all cases the
2 2
second-order rate expression provided the best straight-line fit to the data in spite
of a four-fold change in S 0 concentration. Attempts to analyze the data using a
2
rate expression that is second order in H S and first order in S 0 yielded non
2 2
Figure 11-3
Integrated Rate Plot
(10 wt% DMA, 2 wt% Water in Triglyme)
90% Compietion
Slope = k ~ 11 lit
mole~s
T = 22°C
0 £.
8 10
1
Time (sec)
' ^mix
14
summarized in Fig. II-4, where the second-order rate constant is plotted as a
function of wt% DMA for various H 0 concentrations. With pure Triglyme as the
2
solvent, plots of the integrated rate expression versus time are non-linear,
increasing in slope as time progresses. Tangents to these curves correspond *o k 2
values of 0.5 lit/mole-s or lower. The curvature, which reflects an increase of the
rate constant with time, may be due to an autocatalytic effect of water formed
during the reaction or possibly to a change in the reaction mechanism. Note that
while adding small amounts of water to Triglyme seems to speed the reaction, it is
unclear whether the same reaction pathway is followed since some of the
integrated rate plots are non-linear. Perhaps other products, such as the sulfoxy
acids that frequently form in aqueous media, are being created in these cases.
When DMA is added to Triglyme, the integrated rate plots become linear, i.e.,
there appears to be a first-order dependence on both H S and S 0 . Furthermore,
2 2
addition of only 2 wt% DMA more than doubles the reaction-rate constant over
that observed for Triglyme alone. Increasing the DMA concentration still further
continues to increase the rate constant, k , which asymptotically approaches a
2
value of 8 lit/mole-s.
The presence of water in DMA/Triglyme greatly accelerates the rate as
i
evidenced in Fig. 11-4. Addition of 4 to 5 wt% H 0 doubles the observed rate
2
that the value of Jc for the mixed solvents exceeds the sum of those for the
2
reaction carried out with only one of the catalysts (DMA or K 0) present. This
2
suggests a synergism between the effects of the water and DMA. The mechanism
for this synergism has not been determined.
2. Results for the Reaction in DMA/DGM/Water
The kinetic behavior of the reaction in DGM alone is similar to that observed
for Triglyme. DGM has little or no catalytic effect, and plots of the integrated
Figure 11-4
Variation of Second-Order Rate Constant
with D M A and Water Content in Triglyme
OjS_
T = 20-23 (4.5 wtJS Water)
0)
I
o
4 -
are considerably higher when a given wt% DMA is added to DGM than for a
similar DMA/Triglyme mixture. The rate constants for the reaction of H S and 2
seems to present a more favorable environment for the reaction than DMA alone;
when the DMA content of the mixture exceeds 4 wt% the values of k, exceed
those for pure DMA. The maximum value of k , which is approximately 20
2
lit/mole-s, is more than twice as large as that obtained in the Triglyme/DMA cases
with no water present.
The addition of water to DMA/DGM mixtures has little or no effect on the
rate, as is reflected in the data presented in Table II-1. At 10 wt% DMA the rate
constant has attained its maximum value and the addition of water does not
increase the rate constant further.
A few runs with 2.5 wt% DMA in DGM, performed in a cold box at 7 to
10 °C, yielded an average kj of 4.5 lit/mole-s. On the basis of these data and
those in Fig. II-5, the estimated activation energy for the reaction is 7.4 kcal/mole,
which corresponds to a doubling of the rate every 20 °C. The limitations of the
experimental technique prevented a more thorough investigation of the effect of
temperature on the reaction kinetics. However, the fact that the activation energy
is low tends to support the assumption that rate constants obtained from
experiments with small temperatures variations can be used to approximate the
true isothermal values at the average temperature of an experiment.
hydroxyl groups are responsible for the synergistic catalytic effect. In order to
substantiate this idea, a few experiments were performed in which methanol was
added to DMA/Triglyme. The data are summarized in Table II-2. As the methanol
Figure 11-5
Variation of Second-Order Rate Constant with wt% DMA
for DMA in DGM at 17-23 °C
100
Wt% DMA
Table I I I
(T - 23 °C)
Table II-2
DMA/Triglyme/Methanol Mixtures
at 10 Wt% DMA
(T - 22 °C)
3.7 16.2
8.3 23.2
45.1 23.4
20
4. Heat of Reaction
The heat of reaction between H S and S 0 , taken as the average for a large
2 2
apply equally well to all mixtures of the solvents used in these experiments.
Evidently, effects such as heats of solution in the various solvents are small or
similar in magnitude for the range of cases considered.
The reaction appears to be first order with respect to both reactants over the
range of concentrations tested. The nitrogen of the amine, which is noted for its
ability to form complexes with sulfur dioxide (Hill and Fitzgerald, 193S), may
provide a favorable site at which the reaction can occur. This effect seems to be
dependent on both the concentration of catalytic agent and its amount relative to
the concentration of 5 0 . When the mole ratio of DMA to S 0 exceeds one, the
2 2
concentration.
to a catalytic effect of the OH group of the DGM that is synergistic with DMA.
Further evidence of the hydroxyl effect can be seen in the results for the reaction
in DMA/Triglyme with water present; indeed this effect may be expected for
Albertson and McReynolds (1943), that the solvent promotes the reaction by
forming a hydrogen bridge compound with H2S which then falls apart to yield a
E. Catalyst Survey
1. Catalyst Structure
At this point only the catalytic activity of DMA has been discussed. However,
other tertiary amines can also catalyze this reaction. To determine which other
compounds are good catalysts, the investigation of the reaction kinetics was
above and the data analyzed using Eqs. II-4 and II-6. The results of these studies
are given in Table II-3. An examination of the data reveals that catalytic activity
The most striking feature of the data is the difference in the rate constants
DMA to 3-pyridyl carbinol (3PC). As can be seen in Table II-4, a major structural
difference between the two molecules is in :he location of the nitrogen. 3-pyridyl
carbinol, which has a nitrogen in the aron ;-tic ring, produced the same level of
catalysis (i.e. rate constant) at a 30-fold lower concentration than DMA. Whether
22
Table II-3
Table II-4
/CH
<0^
3
streams, more detailed studies of its catalytic activity were needed. In order to
determine the effect of solvent composition on the reaction rate constant, a series
of runs with varying concentrations of 3PC in DGM and Triglyme were
performed. The results for the reaction of H S and S 0
2 2 in Triglyme are
summarized in Fig. II-6, where the results obtained in DMA/DGM have also been
25
Table II-5
Catalyst k 2
Structure
2,2'-bipyridine 0.3S
>—N N—'
4,4'-bipyridine 6.34
7 —
—
•/
5
i —
Cat. = 3 - Pyridyl Carbinol
•
3 —
— / Cat. = N.N - Dimethylaniline /
or
1 —
1 1
0.001 0 01 [Catalyst] (mol/lit) 0.1 1.0
reproduced.
Evidently 3PC is a considerably better catalyst than DMA for the reaction
carried out in Triglyme. A concentration of DMA one to two orders of magnitude
higher than that of 3PC is required to obtain the same second-order rate constant.
Furthermore, the rate of increase of k with concentration of catalyst is greater
2
3. Water Effect
When water is added to mixtures of DMA/Triglyme the reaction rate constant
was found to increase markedly. The addition of water to 3PC in Triglyme seems
to have a similar effect (see Table II-7). Water accelerates the reaction by a factor
of 4 to 5 over that obtained for the same concentration of 3PC in Triglyme alone.
F. Selection of Catalyst
Having determined the rate constants for several tertiary aromatic amines, it
28
Table II-6
»?PC1 ( M Q U / U k ; a/MOLE-Sl
0.0105 6.4
0.0144 17.7
0.0500 >100.0
29
Table II-7
organic solvents for sweetening a sour gas stream from a coal gasifiei. Since the
intended use for this gas is power generation in a gas turbine, tLj total sulfur
content of the gas must be reduced to the ppm level to protect the equipment from
corrosion as well as to meet environmental specifications.
The removal of H S from gas streams has been the subject of intense study in
2
liquid phase at moderate temperatures (< ISO °C). Under these conditions the
reaction is irreversible and with a suitable catalyst/solvent system can be made to
1
go essentially to completion in a short time. Qi ;-:itative removal of H S is 2
is needed.
B. Simulation
1. Main Program
Since a detailed analysis of the potential flow configurations for the process
was desired, a computer simulation capable of performing energy and material
balances was written. Such calculations permit rapid evaluation of different
arrangements of unit operations and make it possible to identify important process
requirements and constraints. An overview of the simulation is presented here; for
32
an in-depth discussion of calculational methods the reader is referred to the
Appendix.
A flowchart for the simulation main program is given in Fig. III-l. The
external framework of the simulation is fairly simple. The parameters for all
streams including composition, flow, temperature, pressure, enthalpy, and phase
are stored in a single array in the main program. This stream matrix is initially
filled with values read from a disk file which contains user-specified feeds and
initial guesses where needed. For streams with non-zero flows the program
determines the phase by calculating the bubble and dew points. Stream enthaj^ies
are also calculated. If the results from a prior run of the simulation are available,
they may be used as the initial values for the present calculations. This is
particularly advantageous when minor changes have been made to a flowsheet,
since the solution to the new problem will probably not be greatly different from
that obtained previously.
Unit operations in the flowsheet are calculated in sequence from a data file
with the stream variables and other parameters passed to the unit subprograms as
needed. The outlet streams from each operation are used to update the global
stream matrix.
After all of the unit calculations have been performed, the program tests for
convergence by comparing the current stream variables with those from the
previous iteration. If the variables are not converged, then Wegstein acceleration
(Perry, 1984, pg. 2-62) is applied to the component flows. Usually the accelerated
variables are closer to the correct solution than those obtained by simple direct
substitution. The results of the previous iteration are combined with the Wegstein-
accelerated variables whrre appropriate to form a new set of guesses for the next
iteration. The sequence of calculations is repeated until component flows and
stream temperatures are converged to one part in 1000 or until a user-specified
maximum allowable iteration count is reached.
33
Fig. Ill-l Program Flowchart
Initialize
Properties
Open
STREAMS.TMP
Read Variables
for a Stream
Determine Update
Next Unit Streams
Operation Matrix
Perform
Wegsteis
Acceleration
Print
Results
Save
Streams
Information
Stop
34
2. Unit Operations
The flowsheet simulation program supports a variety of unit operations (see
Table III-l). A brief description of the function and purpose of the available
operations of the major types of units is given below.
Absorber /Stringer /Distillation
The absorber/stripper/distillation operation is used to perform stage-to-stage
column calculations. This routine has been designed to handle a number of
different process conditions including specifications for a reboiler, a condenser,
and interstage coolers. Calculations are carried out using a multivariate Newton-
Raphson algorithm modified to account for the presence of chemical reaction
between H S and S0 . The subroutine returns exit liquid and vapor streams and
2 2
the overhead condensate if one is obtained. The internal temperature, flow, and
composition profiles for the column are saved in a separate data file.
Mixer and splitter routines are provided for combining and separating streams
respectively. The mixer operation also performs an isenthalpic flash to determine
the exit enthalpy and phase of the mixture. A warning is issued if a mixed phase
(i.e. liquid and vapor) is formed at the exit conditions.
A make-up unit is included to deal with those places in the process where a
constant flow of a component or stream is desired. The three types of operation
supported are:
35
T»ble III-l
ABSORBER/STRIPPER/DISTILLATION
COMPRESSOR
CRYSTALLIZER
FURNACE
HEATER
HEAT EXCHANGER
MAKE-UP
MELTER/DECANTER
MIXER
PARTIAL CONDENSER
PHFLASH
PUMP
REACTOR
SPLITTER
SULFUR CENTRIFUGE
SULFUR SETTLER
Utility Subroutines
outlet flow is calculated taking into account any H S and S 0 in the inlet The
2 2
reactor. This unit calculates the quantities of H S and S 0 removed and sulfur
2 2
and H 0 formed given the reaction rate constant and the fraction conversion. The
2
temperature and enthalpy of the outlet stream are adjusted for heat changes
associated with externally applied cooling or the with crystallization of sulfur. A
reactor size for carrying out this second order reaction is estimated for plug-flow
operation.
il
C. Process Description
1. Problem Specification
The basis of the design is the gasification of 50,000 kg/hr of Illinois #6
bituminous coal using air and steam at a pressure of 2500 kPa. This rate of fuel
use would yield about 120 MW of electric power assuming an overall thermal
efficiency of 40%. The total quantity of gas to be treated is 8,950 kmole/hr with
an HiS content of about 0.62%. A complete specification of the gas composition is
given in Table 111-2. The fuel gas is assumed to have been scrubbed with water at
45 °C to eliminate particulates and to condense excess steam ahead of the H S- 2
removal process.
2. Processing Steps
r
Primary MrsQ t<;r
Sour gas is fed to the bottom of the primary absorber where the bulk of the
H S is removed by physical absorption in solvent recycled from the
2
theoretical trays (L/mV - 1.5). In the section immediately above this point
residual H->S is absorbed and reacts with a solution of SOj. The liquid fed to this
39
Table III-2
H 2 - 0.2729 H 02 - 0.00290
N 2 - 0.4130 H S2 - 0.00614
CO - 0.1133
T - 368 K
P - 2500 kPa
Prpcesi Sp'vtHt/CltHlVit
i^^rasiMM^ 2!
41
Table III-3
Stream: 1 2 3 4 5 6 7
Total kmol/hr 8955.9 8877.5 36.0 16.2 4.84 1236.39 28.91 1406.1 44.38
Solvent Flow
kmol/hr -- - •- 140.4 13.0 1823.8 - 1977.2 116.6
Pressure 2510 2500 2510 2510 2510 2510 2510 2500 2510
(kFa)
Te r UrC
S?! ?.l 95 33 40 30 30 30 54 55 30
42
Table III-3
(Continued)
Stream: 10 11 12 13 14 IS 16 17 18
co 2
0.6 14.6 15.2
N, 103.4
27.5
HS2
0.05 0.95 1.00
so 2
H 0
2 5.4 125.4 25.4 145.2 14.4 287.8
S (dissolved)' 0.3 5.4 5.7 5.7
S (solid or 81.0 81.0 55.0 26.0
liquid)
Total kmol/hr 87.35 146.35 31.1 167.1 14.4 368.8 55.0 26.0 130.9
Solvent Flow
kmol/hr 11.2 258.8 270.0 270.0
Pressure 120 120 120 .10 500 100 120 120 110
(kPa)
Temperature 2 7 2 7 , J 3 1 ] 7 4 0 3 8 1 2 0 , 2 0 4 0
43
Table III-3
(Continued)
HS2
.. 0.01 1.00 .. .. .. .. ..
S0 2 « -- - « 27.0 - -- 27.0
H 0
2 39.5 118.5 1.5 118.3 2.5 12.2 2.7 19.2 7.2
S (dissolved)' - -- -- -- -- 2.7 -- 2.7
„ „ „ „
S (solid or ' .. .. .. ..
liquid)
Total kmol/hr 39.52 118.56 17.7 118.3 148.1 14.9 120.9 49.32 7.2
Solvent Flow
kmol/hr 0.01 0.02 - 0.02 - 129.6 - 129.6 --
Pressure 110 110 110 110 110 110 100 100 110
(kPa)
Temperature 4 0 4 0 4 2 , 0 0 , 5 0 3 0 2 0 6 ] 4 0
44
section contains about 10% of the total stoichiometric requirement of S 0 for the 2
process. A chimney tray permits the vapor to leave this section, whereas the liquid
from the section above is bypassed to the section below in order to maintain a
concentration of SO2 high enough to remove most of the remaining H S from the 2
gas in 5 stages.
Residual H S and desorbed sulfur dioxide are recovered from the gas in the
2
top section by scrubbing with lean cool solvent in 6 to 8 trays (L/mV for S 0 - 2
2). Two trays are provided at the top of the absorber for solvent recovery by a
water wash. The treated gas leaving the absorber contains less than 1 ppm H and 2
so .
2
Reactor/Crvstatlizer
The effluent liquid from the absorber is cooled and mixed with a solvent
stream containing sufficient S 0 to react with slightly less than 90% of the H S
2 2
entering the process. This mixture is forwarded to a vessel where the liquid-phase
reaction between H S and S 0 is allowed to continue nearly to completion.
2 2
Driving force for the reactin i< provided by a slight excess of H S. The sulfur
2
the solvent required in the absorber without reducing the pressure, pumping costs
associated with solvent circulation are kept low.
absorber. A slurry of sulfur is withdrawn from the bottom of the tank and treated
to separate the sulfur from the solvent. Sufficent solvent is withdrawn from the
storage tank for use in the S 0 removal steps in the primary absorber and the S 0
2 2
absorber.
Solvent Stripper
The solvent from the settler is preheated to 120 °C and fed to a solvent
stripper operating at atmospheric pressure. In this column the liquid is reboiled to
reduce the water content of the solvent to about 1.0 wt%. The water provides a
stripping vapor for residual H S and hydrocarbon (mostly C0 ). About 5 stages
2 2
are needed in the bottom of the stripper to reduce the H S content of the solvent
2
product to less than 1 ppm. The overhead is condensed with cooling water. Part of
the condensed water is refluxed at the top of the column to minimize solvent loss.
The slightly sour water (I to 20 ppm H S) is stripped of H S and used in the
2 2
centrifuge and in the water wash sections in the absorbers. The net water of
reaction is sent to disposal.
The bottoms stream leaving the stripper is cooled in exchange with the
incoming wet solvent. This cool lean solvent is used in the S 0 absorption steps in
2
Sulfur Separation
The sulfur slurry from the settler is fed to a pusher-type centrifuge Solvent-
free water from the sour water stripper is used first to rinse the sulfur cake and
then to re-slurry the sulfur. The solvent stream and rinse water are pumped to the
solvent stripper. The sulfur-water slurry is heated above the melting point of
sulfur and the two liquids are decanted. Water from this separation is returned to
the centrifuge. The net sulfur product is pumped to a sulfur pit for storage.
S(?2 Absorber
molten sulfur and the residual H S from the solvent and sour water strippers with
2
air in a furnace. The heat generated is used to produce high pressure steam in a
waste-heat boiler. S 0 is absorbed from the gas by contacting it with cool lean
2
46
concentration in the gas is less than 1 ppm. The solvent flow in this unit is set to
provide cooling of the inlet gas stream and to remove the heat of absorption of
S0 . A water wash is provided at the top of the column to minimize solvent loss.
2
3. Summary
An equipment list and utilities climates are shown in Tables III-4 and III-3
respectively. An economic analysis is not presented here; for a detailed comparison
of this process with conventional technology see Lynn et al. (1986). However, the
flowsheet and data presented illustrate the potential utility of the present
technology for nearly complete removal of hydrogen sulfide from a sour gas
stream.
The process is relatively simple and has modest equipment and utilities
requirements. In its present configuration it has the capacity to reduce easily the
effluent H S and S 0
2 2 to less than 1 ppm, thus meeting environmental
specifications. Furthermore, because the process is highly selective for H S, the
2
total reduction in the molar flow of the gas being treated is less than 1%, which is
of importance when the treated gas is to be burned in a combustion turbine. Of
the other components in the gas only C 0 (5.5% reduction) and H 0 (32%
2 2
reduction) are removed to any extent. This loss of water is not considered
significant because the entering gas contains only 0.29% H 0.2
The value of using the reaction between H S and S 0 in organic solvents has
2 2
to good advantage in the present process; solvent recycle for physical absorption
of most of the hydrogen sulfide is made possible by the homogeneous reaction
47
Table III-4
Equipment List
K-l Reactor/Crystallizer
V-2 Besanter
Table III-5
Electric Power
Total 154 kW
Annual' Cost @ $0.07/kW-hr $56,000
Cooling Water **
from the reaction section of the absorber contains small amounts of desorbed SO^
and little or no H2S, the solvent flow needed for complete removal of all
sulfurous compounds is much lower than would be necessary for removal of H S 2
to a comparable level. This configuration keeps the flow of lean solvent low.
Where a sulfurous compound must be removed essentially quantitatively by
physical absorption, that compound is always SCK.
Conversely, the fact that the effluent from the reactor/crystallizer is slightly
H S-rich means that less soluble H S rather than S 0 needs to be stripped from
2 2 2
the solvent. The coupling of a low solvent flow with the presence of an easily
removed component makes it possible to keep stripping costs to a minimum.
Although an economic analysis is beyond the scope of the present
investigation, a significant reduction in utilities cost could be achieved by
lowering the power requirements of the process, represented chiefly by the lean
solvent pump (P-3) and the flash gas compressor (C-I). The flow of lean solvent to
the top of th- primary absorbrr, which is set to obtain a desired level of S 0 2
The resultant reduction in pump size and power requirement would have to be
weighed against the increase in capital cost of the added absorption trays.
A lower power (and capital) expense would result by eliminating the
compressor and directing the flow of the flash gas to either the furnace or to the
S 0 absorber. The feasibility of this option depends in the former case on whether
2
H . Both methods yield low concentrations of H S in the exit stack gas, while
2 2
References
Albertson, N.F. and J.P. McReynolds, J. Am. Chem. Soc, 65, 1690 (1943).
Crowe, CM., A.E. Hamielec, T.W. Hoffman, A.I. Johnson, and D.R. Woods,
"Chemical Plant Simulation, An Introduction to Computer-Aided Steady-State
Process Analysis', Prentice-Hall (1971).
Demyanovich, R.J., "The Use of Polar Organic Solvents to Control SOj Emissions:
A Study of Solubilities and Conceptual Designs*. Ph.D. Thesis in Chemical
Engineering, University of California, Berkeley (1984).
Denn. MM., W.C. Yu, and J. Wei, Ind. Eng. Chem. Fund.. 18, 286 (1979).
Ferguson, P.A., "Hydrogen Sulfide Removal from Gases, Air, and Liquids", Noyes
Data Corp. (1975).
Grant Chemical, "Glymes, The Grant Family of Glycol Diethers*, Grant Chemical
Division, Ferro Corp. (1982).
Hill, A.E., and T.B. Fitzgerald, /. Am. Chem. Soe.. 57, 250 (1935).
King, C.J., "Separation Processes', McGraw-Hill Book Co., Second Edition (1980).
53
Kohl, A.L. and F.C. Riesenfeld, "Gas Purification", Gulf Publishing Company,
Third Edition (1979).
Lynn, S., D.W. Neumann, S.F. Sciamanna, and F.H. Vorhis, "A Comparision of the
UCB Sulfur Recovery Process with Conventional Sulfur Recovery Technology for
Treating Recycle Gas from a Crude Residuum Hydrotreater", Lawrence Berkeley
Laboratory, Report No. LBL-21574 (1986).
Reid, R.C., J.M. Prausnitz, T.K.. Sherwood, "The Properties of Gases and Liquids",
McGraw-Hill Book Co., Third Edition (1977).
Sweny, J.W., "High C0 - High H S Removal with SELEXOL Solvent", 59th Annual
2 2
Weast, R.C., Editor, "CRC Handbook of Chemistry and Physics", CRC Press, 65th
Edition (1984).
Wilhelm, E., R. Battino, and R.J. Wilcock, Chem. Rev.. 77 (2).. 219 (1977).
55
List of Variables
-1 for S 0 2
2 for H 0
2
3 for Sulfur
0 for all other components
3
Concentration (kmol/m )
Heat Capacity (kJ/kmol-K)
Average Molar Liquid Density (kmol/m )
Log Mean Temperature (K)
Feed Flow (kmol/j)
Liquid Enthalpy (kj/kmol)
Vapor Enthalpy (kj/kmol)
Heat of Reaction (kj/kmol S 0 )
2
Appendix
Description of the Process Simulation Program
streams are compared with those of the previous iteration. If these variables are
converged to 1 part in 100, jump to step 9.
7. Apply Wegstein acceleration to the component flows. This is performed by
extrapolation (or interpolation) using the results of several direct substitution
calculations. If x j - F(x ) is replaced by x
k + k k + ] - F(x ), where F(x) is a
k
Including the reaction terms from the mass and energy balances explicitly in
the linearization of the equations yields e problem which is calculationally
unstable and often non-convergent. This difficulty is overcome by treating the
reaction terms in the equations as constants (i.e. as pseudo-sidedraws for H S and
2
S 0 and as pseudo-feeds for H 0 and Sulfur) for the solution of the general
2 2
problem at each iteration. To account explicitly for the presence of the reaction,
the mass balance equations for H S and S 0 are linearized in mole fraction only
2 2
and a converged solution for these components is obtained on all stages. These
values then are used to calculate the constant reaction terms in the general
problem. The rest of the calculations proceed as for the solution to the problem in
which no reaction is present.
Table A-I
v x + v k + x M
- j-i*j~i,i j-i,i < j j,i (v< - j»>*j.i -
a k v x D X D
- (F<Zi) >j + i 2 L< H2S L>< S02 L>
F
-1 for SO-,
2 for H 6 2
3 for Sulfur
0 for all other components
3
Average Molar Liquid Density (kraol/m )
F Feed Flow (kmol/s)
h Liquid Enthalpy (kJ/kmol)
H Vapor Enthalpy (kJ/kmol)
*RXN Heat of Reaction (kJ/kmol S O ) z
Table A-II
F H U A D E L T
l - (»h-in " h-exit> * IM " °
F H H H H
2 " < h-in ~ h-exit> ~ < c-exit " c-in> " °
Th-Jn^-BNPC) + Tc-inBNPe^-^NPc)
T
c-exit " ~— ~ ;
^"^PC^NPC'
T T + T T A 1 _ B
h-exit " h-in < c - i n " h-in> ( NPC< NPc) V U - A N P C B N P C )
where
1
A
ICh.iVh.i
NPC
i i
A • Heat Exchanger Area (m )
C p - Heat Capacity (kJ/kmol-K)
DELT L M » Log Mean Temperature (K)
m » Flow Rate (kmol/s)
T * Temperature (K)
2
U - Overall Heat Transfer Coefficient (kJ/m -s-K)
Subscripts:
c •> cold stream
h » hot stream
in - Inlet
exit « outlet
i » component I
temperatures to obtain the correct exit enthalpies, accounting for possible phase
changes. Calculate values for F and F .
( 2
D. Thermodynamics Subroutine
The thermodynamics subroutine supplies the enthalpies, equilibrium constants,
and derivatives of H and k with respect to temperature needed in the simulation
calculations. For the implementation covered in section A-III, the bulk solvent is
assumed to be tetraglyme. References for data used in the calculations can be
found with the source code. A brief discussion of the methods of calculation is
given below.
Frequently the user will need to 'guess* the flow, composition, temperature,
etc. of a stream in order to provide an initial input to an operation. For example,
if an input stream to unit one is a recycle from unit two, which derives its output
from unit one, then the input to one of the units must be specified before the
first iteration is performed. Often the variables representing these streams are set
based on knowledge of the process conditions. For minor input streams such
variables often can be initialized to zero.
The process considered in the present work is sufficiently simple that ordering
of units could be performed by inspection. For more complex flow configurations
detailed procedures for determining calculation order and stream specifications,
referred to as decomposition analysis, are discussed elsewhere (see for example
Crowe et al., 1971).
Figure A-I is a presentation of the type of information needed to set up the
simulation. On this block flow diagram, which is a schematic representation of the
process of Fig. III-2, the unit numbers (below or inside a unit block) reflect the
order in which the unit calculations are to occur. Set and guessed streams have
also been indicated. Although stream numbers have been omitted to reduce clutter
in the drawing, in practice all the streams would be numbered.
The block flow diagram, which specifies the order of calculations,
interconnection of units, and the "torn" streams in the process simulation,
combined with detailed information about process units (i.e number of stages in
an absorber, set stream flows, set temperatures, etc.) and with a knowledge of
process requirements, serves as a guide to creating the simulation input. Two disk
files, STREAMS.DAT and STREAMIO.DAT, already described above, provide the
data needed to perform the process calculations.
Although these files can be produced using any text editor by applying the
specifications given in the program code (see A-III), the procedure is extremely
tedious and time consuming. To ease data entry, a set of programs, written in the
KnowledgeMan Data Base Management System, has been provided. The program
code is in section A-IV, The routines are entirely menu driven and produce the
files required to run the simulation.
Trims' Git Stick G i l
H 0 (Su)
2
H 0
2
From III)
Pump £- Splitter •3 Pump f- isn)
H S
2
Rttldml so.
Absorber SO,
To(U)t Absorber
Absorbtr
T,tt
Ttet Splitter
•*&, H h- Pump
7 To "(13) 4, u"
13 19
Storage I
10
T.
Sour G i l Guess
(Sit) — j l Mlitr
1 2 ;
Guru
rorrf
tllf
Ructor
14
L Mixer
—7F~
20
Gum
Solvent
Strlppir ^
L
Mixer
35
Guest
Ti«t Pump Tut 32 Sour
Watir
15 II 31 Strippir
Flow
Split
17
-Guetii
H u t Exch
•Guetir
30
Pump
33
V
Waste
Water
Air
(Guiss)
Furnict
Sulfur
(Guitt)
Sillier Mixer
To Sulfur
Compress. PHFIiih
21
3 Centrifuge ^ Pump
1
Pit '
Meller
Decanter
Figure A - I
23 22
l G
Gut
um ' Mixer
H Tiet
25
£
l e i l Exch
6—Guess _P
•f 29 21 26
B l o c k Flow D i a g r a m f o r Procers H 0 (Set)
2
67
;EOUATES
CETDRV EQU 025 ;RETURN DEFAULT DRIVE
SETPRIOX ECU HJ ;SET PRIORITY
COUTTACH sou 144 ;ATTACH CONSOLE
CHOC EOU ISO ,-SEHO CLI COMMAND
CSEG
ORG
SEMMSM:
NOV Ci.CLICND
MOV DX.OFFSET K K S U . F ;EXECUTE KRKSULF
IHT CCPM
NOV Cl.SETPRIO* ;SET PR10R1TV HI CHEN THAN SHELL
MOV 01.190 ; SO UE REGAIN CONSOLE CONTROL
INT CCPM ; AFTER K W S U . F STOPS
NOV CL.COMTTACN .•ATTACH TO CONSOLE
INT CCPM
JNPS STMT ;0O FOREVER
DSEG
ORG 100H
HERKSULF D i 0
DRV CH -A'
Of MEKSULF'.O
END
to
PROGRAM tERKSULF
O
C LAST UPDATE 6 / 2 3 / 8 6
I Of LAG
2 FSM.IT
UNIT, STRI, STR01, STR02, FLOW TO 1
3 PHFLASH
UNIT, STRI, P, STRO LIQUID, STRO VAPOR
* K A T EXCHANGER
UNIT, STRI1 (HOT), STRI2 (COLD), STR01, STR02, UA
5 REIOILER
UNIT, STRI, STRO LIOUID, STRO VAPOR, P, T
6 CONDENSE!
UNIT, STRI, STRO, P
7 MIXER
UNIT, STRI1, STRI2, STRO, P
8 SKITTER
UNIT, STRI, STR01, STR02, FRACT TO STROI
9 PUMP
UNIT, STRI, STRO, P AT OUTLET, R W M
10 REACTOR
UNIT, STRI1, SIR 12, STRO, P, 0 REMOVED, FRACT. CONVERSION, R2CONST
SULFUR SATURAIOR
UNIT, STRI SIRO, T, P
SULFUR SETTLER
UNIT, STRI, S T M T (SULFUR), STR02 (SOLVENT), WTX S IN SULFUR OUT, P
SULFUR UASHER
UNIT, STRI1 (SULFUR), STRI2 (UATER). STROI (HASH), STR02 (SULFUR), UTX S IN SULFUR, P
HELTER/DECANTER
UNIT, STRI1, STROI (UATER), STR02 (SULFUR), T, P
FURNACE UNIT, STRI1 (SULFUR), STRI2 ("JUNK"), STRI3 (AIR), SOZREQ, STROI, TOUT, POUT
(NOTE THAT THE COMPOSITION,TEMPERATURE, PRESSURE AND PHASE MUST BE SET FOR THE
AIR STREAM)
-J
16 COMPRESSOR UNIT, SI«11, STR01, POUT
(WHERE UTX VALUES ARE F M C I I M OF SUIFUI III SULFUR STREAMS IN EACH SETTLING STEP)
|g PARTIAL CONDENSE! UNIT, Still, PCONO, TCOND, STKO LIQUID, STIO VAPOR
IMPLICIT lEli-'SCAHOZ)
REAL'S E I M ( 1 8 , 1 9 . 2 S >
INTEGERS AIPHA(20)
INTEGERS turn
COtOI/ALPH/ALPHA
COHMON/MX.EC/MOLWT
COmOM/mO/AiMO.MW.CiMO.tHKO.CitlO.XiMO.tWIO.II.KJ
COHHON/EEE/ESM)
COMMM/UEGS/FLOU
C NUMBER OF COMPONENTS I S 20
NC'20
Ul
C READ ALL MOLECULAR WE I CRT VALUES
,
OPER<3,FIlE• HOlEC.0AT•)
READ(3,*> (MOLWTCI),f>t.NC)
C TRY TO READ AN OLD STREAMS MATRIX. THIS MOULD EXIST EITHER IECAUSE
C WE RAH THE CALCULATIONS 1EFORE OR AXE SOMEWHERE IN THE MIDDLE OF A
C CALCULATION REQUIRING MULTIPLE INVOCATIONS OF THIS PROGRAM IT KRKRUN
IHEW.TRUE.
l >
OPEN(t,FILE' STRFJWS.TMP<,STATUS«>OLD ,ERR'S)
C READ OLD ITERATION COUNT AND SHOW THAT WF. FOUND THIS FILE
READ(4,«) ITER
1*1
S REA0I*,»1 C$TKAN(I,J),J-1,NC>
REA0C«.*> (STREAM(l,J),,l>KC»f,HC»S>
IF(STREAM(I,NC>1).NE.-1.0D0) THEN
• •1*1
GOTO S
ENDIF
INEU>.F«LSE.
GOTO 6
9 l«1
10 READCA,*) (ST«EAM(I,J>,J-MC*5>
IF(STREAM(I,NC*1).NE.-1.000) THEN
1-1*1
GOTO 10
ETOIF
6 NSTREMtS'l-1
URITE<6,«3333> NSTREAMS
A3333 FORHAKX,' NSTRE«MS*>,IS)
C ZERO ACCELERATOR MATRIX AND SHOW THAT FRESH VALUES MUST K CEHERATED
ICWEGS'1
0 0 11 M.HSTREAHS
DO 11 J>1,HC
00 11 M . J
11 FLOW(I.J,K>«O.DD
C CLOSE FILES
>
tt CL0SE(9,STATUS''DELETE )
CLOSECO
CL0SEC2)
CLOSE(J)
CL0SE(4)
•J
-J
1
CLOSE( 1 .STATUS^'DELETE )
IF(INEU) THEN
DO 20 I-1.NSTREANS
URIIE(6.199S0> I
IF(ST«EAN(I,HC»1>.EQ.0.0D0) GOTO 20
DO SO J*1,NC
X(j]>STREAH(l,J>
SO Y(j)iXCJ)
1PKASE>INT(STREAN(I,NC«S»
TFEED*STREAH(I,IK>2)
CALL HEATCO.IPHASE.NC.TFEED.STREAMd.NCtSl.X.NX.STREAHd.NCH))
CALL MMDEWCNC.STREAMCI.NC^I.X.r.TlUN.TDEW.STREANCI.NC^),
1 EPS.2]
IF(TFEED.LT.TIUI) THEN
C ALL LIOUID
IF(IPHASE.NE.I) THEN
STRE«N(I,NC*S)'1
MITEO,20010) I
MIITE(6,2O010> I
EWIF
GOTO 20
EKDIF
IF(TFEED.GT.TDEU) THEN
C ALL VAPOR
1FUPHASE.NE.2) THEN
STREAM I , N C » S W
URITEC1.20020) I
UtlTE<6,200?0) I
£NDIF
00T0 2 0
END1F
C MUST K NIXED VAPOR AND LIQUID, ISSUE A UAMING, SET PHASE TO NIXED
UtlTE(1,20O3O> I
VRITE(6,20030> I
SIREA*(l,IK>5>'J.O
20 CONTINUE
ENDIF
C SET CURRENT UKIV NUMBER INTO UNIT MATRIX (UNIT MJMER CAN I E FRACTIONAL)
I*1T(WMITS,1)=OPCOOE(Z>
-J
U3
URITEC6.2ODO0) ITER,0PC0DE(2)
00
C SEND 1 0 CORRECT U R I I OKRATIOM O
GOTO < 1 0 O , 2 W , 3 0 0 , * 0 0 , S 0 0 , 6 0 0 , 7 0 0 , 8 0 0 , 9 0 0 , 1 0 0 0 , 1 1 0 0 , 1 2 0 0 ,
1 1300.1U0.1SOO, 1600.1700,1800,1900,2000.2100,2200,2300,2*00,
2 2500) INTWCQDECll)
C I F ERROR
GOTO 10000
ptWtt»»IH»>MtttHlt»lttWWHWltlllllllMIIIMtlttWtWtttH*tt
DO 140 1-1,5
J»J*2
IF(0PC0OE(J«S).EO.G.00D) GOTO H O
0R4PCODE420)
ai<1.i>*CPCODE<22>
QM1,2)>OPCODE(2l)
al(Z,1)4PC0DEC2«)
01<2,2)>OPCaOE(23>
TC-OPCOD£<Z5)
FS>a>a»E<26)
M I T E ( t , 12(57) KSUI
,
12*57 FOtMT<X.'»"«UI« ,IJ)
DO 210 l«l.HC»S
210 SniKI)*5TtEMI(lll1,l)
C DO THE OKMTIOM
CALL FSM.lT(NC STtl1,STM1,STt02,FlOK»
>
DO 220 I>I,K:«S
STKEMKIKET2,1 )«ST«02( I )
220 St«£AK(UET1,l)»ST«01(l)
C DO E««0» CHEOCING
GOTO 10000
C ISEDTMALPIC FUSH
C
C SET FEED STIEAN
100 l«1»INI(OpcaOE(J)>
00 510 U1.N05
310 SUF<I>=STREAH(IK1,I>
00
C CHECK F « ZEtO FEED FlUI CD
IF(S1tF<K*D.EO.0.0D0> 0010 99910
f DO I K (LASH
C U l MFUSH(«,3T«F.OFt00E<*>,tT»0l,«J*O2.E«,IF-KASE,
1 INAXS.EMOX)
DO 520 I'l.NOS
SUEMUIKTI.D-STKUI)
320 ST«E«t(l«ET2.l).JTt02(l)
C M EMO* CHECKING
GOTO 10000
C NEAT EICUUGEI
C
C SET INLET SMEAM VALUES
400 l«!.|KT(0«0K(3»
IN2'INT(0PCODE{t»
DO 410 I»1,NC«5
Sni1lll*STKM(INI,l)
410 ST(I2(I)«STREM«IN2,I)
C SET IM
UA-0PC0DE(7)
00 * » l«1,«C»5
SIREAH<IRET1,l>>STROHI)
•20 STREAMURET2,l)>STR02tI»
C DO ERROR CHECT
GOTO 10000
C REHIIER
C
C SET VALUES FOR INLET STREAM
500 lNI'INTCOPCOOECl))
DO S10 l°1,NC«S
510 STRIMI>>STREAH(llft,l>
C SET TEMPERATURE
TRB=OPC00E<7)
c CKGX FOR ZERO FEED now
1F'.STRI1(HC«1).EO.O.CM> GOTO 99910
CAll REMIUNC.STRII.STROI.STROZ.R.TRI.SIN.IIIAXS.ERS.ERROR)
C SAVE REIURH S H E W S
IRET1>INT<0PCGDEC4»
IRETZ*IRT(OFCCOEC5»
DO 520 l - l , » C » 5
STREAM IRETZ, 1 )>STROZ< I )
5ZO STREAMURETI.IlsSTMKD
C DO E M C * CHECK
GOTO 10000
C CONOEHSEIt
C
C SET IHLET STREAM
600 IN1«INT(CH>CODC(3»
00 610 M . H O S
610 STRI1(I)'ST«EAM(IH1,I)
DO 4 2 0 l»1,HC»S
420 SHEAHdRETI.D'STROICI)
C CHECK F M ERRORS
GOTO 10000
C MIXER
C
C SET INLET STREAMS
700 luuumaraoean
U2'ItfI<OPCCDE14»
DO 710 I>1,NC»5
STRI1CI)<SIREAMCUI1,I)
71!) STRI2CI)>SIREAM{III2,i;
C SET PRESSURE
P>0PC0DE<6)
CALL N1XER(XC,STRI1,STRI2,STR01,P.IPXASE.EPS.ERR0R)
DO 720 I'1,NC*5
720 STREAH(IRET1,l)=STR01(l>
00
C CHECK FOR E M M S
OS
GOTO 10000 00
C SPUTTER
c
C GET INLET SHEW
800 IN1>INTCOPC0DE(3))
DO 810 1-1,NOS
810 STRI1(I)'STR£AM(IN1,I)
DO 820 1»I,NC>5
STREAN(IRET1,I}*STR01{|>
820 STREAH(IRET2,l)*STR02<t>
GOTO 10000
c ......
C PUMP
c
C GET INLET STREAK
900 IN1*INT(OPC0DE(3»
DO 910 l'1,NC<5
910 STKMCI >-STREAHtlH1.1 >
CALL PUNPCNCSTRII.STROI.nMT.RIKH.ROUER.IHAXS.EPS.ERROR)
DO 920 l»1,»C»5
920 STREAMIRET1,I)>STR01<1>
C REACTOR
C
C SET INLET STREAKS
1000 IN1-1NT(0PC00E(3))
IN2*INT(OPCODE(4>>
DO 1010 M,M>5
sr»IUI)=STREAK(lll1,l)
00
to
1010 STR1 Z< I >'STREAMC EN2,1}
C SET REACTOR PRESSURE. NEAT AENOVAL, FRACTION CONVERSION, AND RATE CONSTANT O
PAEACT*0PC0DE(6)
aOUT=0PC0DE(7)
FRACT*OPC00E(8)
RK2=OPC00E(9>
CALL REACT0RCNC,STRI1,STRI2,PREACT,Q0UT,STRO1,FRACT,RK2,VREACT,
1 IPHASE.EPS.ERROR}
DO 1020 1"1,NC»5
1020 STREAN(IRET1,l)*STROl(l)
£*#••**••••*•*••«•*•••*#••••••••*•••*•••••&*•*••••••••••••••••«»*•••*••
C SULFUR SATURATOR
C
C SET INLET STREAN
1100 1N1*INT(OPC0DE(3)>
DO 1110 1=1,HC*5
1110 ST«l1<I)=SfREAH(IH1,I)
C SET TEMPERATURE AND PRESSURE III THE UNIT
TSOL>OPC0DE(S>
PS0L«CPe0DE<6>
DO 1120 l*1,NC»5
1120 STREAX(SRET1,I)>STR01(I)
CiMtw*WH»w>nrtMw«tWHiiiMimmiH**"»*w»
C SULFUR SETTLER
C
C GET INLET STREAM
1200 IN1'INT(0PC0DE(3»
DO 1210 l«1,NC*5
1210 STRIHI)«STREAN(IN1,I)
C SET PRESSURE
PS=0PC00E<7)
CALL SETTLER(NC,STRI1,STR01,STR02,UTS,PS,EPS,ERROR)
0 0 1220 I-1,BC»5
STREAM(1RET1,1 )*ST*01< I >
1220 STREAM(IRETZ,I)>STR02<I>
C CHECK ERRORS
GOTO 10000
C SULFUR WASHER
C
C SET INLET SULFUR AM) WATER STREAM
1300 1N1'INT(OPCOOE(3»
1N2«!WT-0PKC5(«»
DO 1310 t>1,NC«5
STRI1(I)'SIREAM(IN1,I)
1310 STR12<I)>STREAH(1N2,I)
CALL UASHER(HC,STRI1,STRI2,STR01,STR02,PS,WIS,Ef>S,ERROR)
DO 1320 M , N C « S
ST»EAH(!«ET1,I>»ST»01(I>
1320 STREAM IRET2,1 )sSTR02U>
C CHECK FOR E M M S
COtO 10000
QHHH*l*aMfllHMWHHMH4«MHtn«MHiHH«4Httt«H*«
C HELTER/DECAHTER
C
C SET INLET STREAK
KOO IN1>1NT<0PC0DEC3»
DO H 1 0 l'1,IK*S
H10 STRIt(l)'$TREAM(IK1,l)
CAll NELTDECCNC.STRII.niElT.PNElT.nROl.tlROZ.eiN.EN
1 .ERROR)
DO H 2 0 I ' l . H C ' S
STREAH(IRET1,I)<STR0KI>
KZD STREAM(IRET2 I)*STR02(I>
<
C SAVE HEAT REOUHtEMENT
UM!T(HUNITS,J) OI« I
C FURNACE
C
C SET INLET STREAMS
1500 IN1'IIIT(Of>CaOEC3>>
!N2-INT(O!>C0t>E(«»
IN3*INT<OPODDE(5»
DO 1510 1 > 1 , K « S
STM1(l)*ST«EMKtN1,l!
STA12(l)'STAEAM(iN2,l)
1510 STAIKD'SiKEMidlO,!)
CALL FUAMACE(HC,S02IEO,STAI1,ST»!?,ST»I3,ST»01,TOUT,POUT,OOUT,
1 EPS.ERRM)
DO 1520 I-1,MC»5
STREAH(IN1,1>*STRI1U>
STREAHCIN],I)*STR13(I)
!5t_' STREAH(IRET1,l)>$TROHI>
C SAVE NEAT REMOVED
IMIT(IMIITS,3>«aOUT
C iiunH H n»H»H»n«m«~>H>M
l t a mH>nm«« > Hni.
C COMPRESSOR
C
C SET INLET STREAK
1600 IN1>INT(M>CODE(J»
DO 1610 M , N C * 5
1610 STM1<!)-ST«EAM(1H1,I>
0 9 1620 l > 1 , K « 5
1620 STXEAN(IRET1,I)>STR01(I>
C
C SULFUR CENTRIFUGE
c
C SET INLET STREAMS
1700 IN1'IHI(OPCCSEC3»
IN2'INT(OPCODEU»
DO 1710 l « 1 * C » 5
r
STRI1(I)'STREAH<IN1,I)
1710 STRI2CI)*SIREAII(IN2,I>
C SET PRESSURE
P>OPC0DE(7)
CALL SULCENTCNC.r.SIRII.STRIZ.STROI.STROZ.SPt.SK.EPS.ERROR)
DO 1720 I ' l . N C t S
STREAHCIRET1.1)>STR01<I)
1720 STREAH(IRET2,1)'STR02<I)
C PARTIAL CONDENSER
C
C SET INLET STREAK
1800 IN1>INT(OPC0DE(S)>
DO 1810 M,NC»5
UtO SI*IIU)-Sr«E/Ut(l«l,«)
CALL PMCOtedtC.STHII.PCOW.rCONO.JTTOI.SIISCtf.OCItO.EPS,
1 INAXS.ERROR)
DO 1820 l>1,NC»S
STREAH(lRET1,i)-STR01(t)
1820 STREAM(1RET2,I)*S1R02(I)
C HEATER
C
C
C SET INLET STREAK
1900 IH1=INT(OPCXE<3))
-J
DO 1910 l«1,NC«S
1910 STRIHI)*STREAM(IN1,I)
CALL HEATERWC.STRII.STROMIN.EPS.ERRCR}
DO 1920 l>1,NC*S
1920 STREAMIRET1,I)»STR01<I)
C DO ERROR CHECKING
GOTO 10000
Q##ft4ftvrftftAft ftftftft Aftfe Aftftft9 ftt) ft vrft ftftftftftftftftftflftftftftftftftftftft ft fiftft ArftfY#ft ftl
C HAKUP/STORAGE TANK
C FLOU OF COMPONENT I IS SET, OTHER FLOUS ARE SCALED WHILE
C MAINTAINING THE SAME COMPOSITION
C
C SET INLET STREAM
2000 IN1>INT<OPCODE(3»
DO 2010 I-1.NC45
2010 STRIKD'STREAMCNI.I)
DO 2020 M , N C * 5
2020 STREAH(IRET1,I)*STR01(1)
C DO ERROR CHECKING
GOTO 10000
C CUTSTALLIZER
C SET INLET STREAM
2100 IN1*INT(0PC0OE<3)>
DO 2110 I>1,NC»S
2110 STRI1(I)'STREAM(IH1,I)
CALL CRV$TAL<NC,STRI1,STR0l,EPS,ERR0R)
DO 2120 M . N O S
2120 STREAH(IRET1,I)*STR0MI)
C 00 ERROR CHECKING
GOTO 10000
C SULFUR SPLITTER
C SET INLET STREAM
2200 [Ht=[Hr(OPCOOfc<3))
VO
DO 2210 l»1.HC»5
2210 STM11CI )«Sf KEM4( IH1.1» O
O
C SET FRACTION OF SOLUTION TO TRANSFER TO EXIT STREAM 1 (ALL THE SULFUR
C GOES TO EXIT STREAM 1 )
FRACT1«OPC0DE(6>
CALL SULSPLIT<NC,STRI1,STR01,STtt02,FRACT1)
C DO ERROR CHECKING
GOTO 10000
DO 2310 l-1,HC»5
2310 STRI1(I)>SIREAN(IN1,I>
DO 2320 I»1,NC»5
2320 STREAH(IRET1,I)'STR01(I)
C DO ERROR CHECKING
GOTO 10OOO
DO 2410 l « M C « S
2410 STRI1(I)'STREAN(IN1,I)
C DO THE OPERATION
CALL TSET<HC,STRM,STA01,T,OCHG,IKAXS,EPS,ERROR)
DO 2420 I»1,HC»5
2420 S T R E W ! RET 1,I)«STR01(])
C DO E M O * CHECKING
GOTO 10000
DO 2510 l ' I . N C + 5
2510 STRI1«U'STREAH(IN1,I>
DO 2520 l»1,KC*S
STREAM!IRET1,I>*STR01(I>
2520 STRE*M(tRET2 l)«STR02(l)
I
CM********************************************************************
C UNIT NOT EXECUTED DUE TO ZERO FLOW IN ONE OR MORE INLET FEEDS
C FLAG THE ERROR FOR THE OPERATOR
99910 ERR0R«1O
C CLEAR ERROR
EBROB=0
15000 1TER*IIER«1
ICWEGS'lCUEGStl
ICOUNT>IC0UNT*1
MtlTE(6,25020> ITER
W I T E ( 1 , 2 5 0 2 0 ) ITER
25020 FORHATC NOW INCREMENTING THE ITERATION COUNT, I T E R " ' , 1 3 )
C URI!E<6,20500>
MtlTE(1,20500)
DO 15205 I'l.NSTREAMS
C URITE(t,20510> I,(STREAM!,J>,J>1,NC»5>
1920$ WR1TEO,20510) l,<STIIEAM(l,J),J>1,NC<S)
ENOIF
IFMITER.EQ.3).OR.(ICUEGS.E0.1» THEN
00 15220 M.NSTREANS
DO 15220 J«1,NC
15220 FL0W(I,J,2)>STREAN(I,J>*STREAN(I,KC*1>
ENDIF
o
Ol
C WERE:
C THE SUBSCRIPT INDICATES THE ITERATION MJMER
C A SUPERSCRIPT • IHDICATES A VAIUE CHAINED FROM A DIRECT SUBSTITUTION
C CALCULATION OVER THE FLOWSHEET
C
C ACCELERATION GENERALLY PRODUCES CONVERGENCE W E N Q<0.5
C ON ENTRY TO THE ACCELERATOR ROUTINES
C FLOU(l,J,1) » xj , (VALUE OITAINED FROM THE K-1 TH ITERATION) (XPM1)
C PERFORM ACCELERATION
IF((ITER.GE.«).OR.(ICUEGS.GE.«)) THEN
DO 15230 l-MSTREAHS
DO 15230 J'l.HC
KWLOU(l,J,J)
IF((ITER.EO.«).OR.(ICWECS.EO.«)> THEN
XWU»(I,J,2)
EHDIF
XPM1<FL0U(I,J,1)
XP1'FL0V(I,J,2)
XPPI>STREAN(1,J)
DN0miXPP1-2.D0«XP1»XPM1
IF(DNCm.LT.I.D-IO) GOTO 15235
Q>(XPP1-XP1)/DH0Ha
IFCO.CT.0.500) GOTO 15235
STREAM I, J)*0*KU( 1 .D0-Q>*KPP1
IF(STREAN(l,J).lT.O.ODO> THEN
STREAN(I,J)'STROIO(I,J)*STROIO(I,NC«I)
ENDIF
15235 FLOWU.J.IJ'XPI
FL0UCI,J,2)*XPP1
FLOU(I,j,l)'STREAN(l,J>
15230 CONTINUE
DO 15221 M.NSTREAMS
STREAN(I,NC*1)>0.000
DO 15221 J'l.NC
15221 STREAM(MC*1»*STREAM(I,NC»1)«$TREAIUI,J)
DO 15222 M.NSTREAHS
IFCSTREAHd.NC+D.EO.O.OO) GOTO 15222
DO 15222 J'l.NC
STREAM!, J)'STREAH(I,J)/STREAM(I,NC*1)
15222 CONTINUE
ENOIF
ENDFILEd)
BACKSPACEO)
O
•J
C CLOSE THE NORKAL OUTPUT FILE
CLOSE(I)
C SET E M OF FILE MARKER FOR STREAMS
STREAMNSTREMtS«1,W:*1)«-1.00
C OPEN THE TEMPORARY STORAGE FILE M O M I T E OUT THE STREAMS DATA
,
OPE«(*,FH.f ST«EAKS.tNf)
URITE(4.*> ITE«
00 15500 l«1,NSTRE*MS«1
UIITEU,20505) (STREAM(l,J),,l-1,NO
1J300 UIUTEU,20507) <ST«E«K(I,J>.J-KC»1,»C«5)
CLOS£(*)
IF(lTEt.lT.IHAK) GOTO 40
URITE(6,20500>
W I T E d , 20500)
DO 15510 I>1,NSTREAHS
URITEC1.20510) l,(STREAH(l.J),J«t,NC»5)
15510 MUE(6,20510) 1,(STREAHC1,J),J*1,M>J)
DO 15515 M.NSTREAHS
15515 URITEd,20525) I,(STREAN(l,M>1>-STROLDU,NC«1»
URITE(1,20520) ITER
MtlTE(6,20520) ITER
C PRINT OUT THE POWER AND HEAT VALUES ASSOCIATED UITH UNIT OPERATIONS
URITE(6,206O0)
WRITE(3,206O0)
DO 15520 I>I,NUNITS
WRITE(3,Z0610) (UNi:<I,J),J»1,*>
15520 UKITE<6,20610) (UNITd.j),j>1,4>
CLOSE(I)
CLOSEU)
C WRITE OUT THE FINAL STREAMS VALUES IN CASE UE UISN TO USE THEN
C AGAIN
C ALSO OELETE THP FILE
>
OPEK(« riLE> STREAM$.THPi)
t
CLOSE(4,StATUS.'DELE1E')
C AIORT KRKRUN
C A l l IEKKSTOP
STOP
* 5X,3X,'UNW,3X,3X,'FLOW',3X,5i(,'TEW",SX.SX.'PRES'.SX.SX.
5 'ENTH',5X,«X,'PKAS')
20505 FORNAT(1X,20(D11.6,X»
20507 FORKAT<1X,5<DZ0.10,X»
20510 FORKAH1X,13,X,23(09.4,X),015.9,X,F4.1)
20515 FOSHAKX, 'HOT CONVERGED, STREAM>',I3,' VARIAiLE*',l3)
1
20520 FORNAT(X,' ITERATION COUNT' ,13)
20525 FORMAT(X,'STREAN<>,I3,' DELTA FLOU*',D2G.10>
20600 FORHATC1X, 'UNIT', 17X,'POWER',24X, 'HEAT', 24X, 'SIZE')
20610 FORHAT(1X,F4.1,7X,D20.10,7X,D20.10,7X,D20.10)
Ill
s
;BERCSTOP
EQUATES
CCPN EOU 224 ;STSTEH CALL ENTRY
CSEC
PUBLIC BERKSTOP
SERKSTOP:
PUSH OS
PUSH ES
NOV AK.SEG API .•POINT TO A M t T PARAMETER SLOCK
NOV DS.AX ; SEGMENT
HOY CL,P_P0tt» ;CET THE PD ADDRESS OF BERKSULF
INT CCPN
NOV SX.AX
NOV SL,ES:P_CNS(SX] .•LOOK UP CURRENT CONSOLE NUMBER
NOV CHS,11 ,-SAVE IT IN BLOCK
NOV Cl.ACORT .•ABORT BERKRUN
NOV OX,OFFSET API
INT CCPN
PC? ES
POP DS
RETF .•RETURN TO IERKSULF
DSEC
API DU 0,0 ;ABORT PARAMETER BLOCK
CHS III 0,0 .-CONSOLE FIELD
DB 'BERKRUN '
END
SUBROUTINE AISORRERCNSTAGf ,NCOMP,»,FEED,Z/EED,VL:aT,RHOM,
1 R2£ONST,QR,OI,TC,FS,STVAP,SH10,!;?llQC,INAX,HCSUI,UNIT,
2 IOFLAG,ITKEY>
MAJOR VARIAILES:
REAL'S FEED(5,4),ZF£ED(5,20),F(23,J>,ZF(23,1S)
REAL'S T(23).V(23>,L(23),X(23,15),Y(23,1S)
REAL'S K(23,1S>,HL(2I,15),HV(23 15) I
REAL'S DKDT(23,1S),0HIDT(23,1S>
REAL'S DHVDT(23,15),R(23>
REAL'S XH2SRXN(23),XS02RXN(23)
C THE FOLLOWING ARRATS ARE USED FOR INITIALIZING ALL STAGE VARIABLES
REAL'S KEa<20>,DKEWTC20),HLIQ(20),KVAP(20>
REAL'S DHLIODTC20), DKVAP0T(20>, XTEMPC20)
REAL'S YTEHP(2C>,FLTEHP,FT(20)
REAL'S STVAP<25>,STLia(2S),STL!K<25)
REAL'S 0H(23),RS(23>
REAL'S 0 1 ( 2 , 2 )
REAL'S ABHD(18,18),8BH0(18,18),CBND(18,25),0BHO(18,]7>
REAL'S GBND(18),XBN0(18,1B),rBH0(18,16)
CHARACTER*11 FNAME.PNAME
MTEGER'2 ALPHA(ZO)
COMHON/ALPH/ALPHA
COMHOH/SHD/ AINO.IHn.CtNO.DBHO.GBHD.XBND.TtM),
1 NVAR.NJ
EXTERNAL SULFUR
I1*INT(UHIT/10.DO)
12*1NT(UNIT-I1*10.DO)
I3>INT(10.D0*(MIT-I1*10.D0-12»
I4'INT(100.DO*<UNIT-I1*10.DO-I2-FLOAT(I3)/10.CO)>
I 1
FNAME* ABSC*R'//CHAR(I1«4S>//CHAR<I2»M)//'.
t //CHAR(l3»«a)//CHAR<UHS)
PHAME»'PROFLE>//CHARU1«t9)//CHAR<l2»«)//'. I
1 //CHAR<I3»«B)//CHA«<KH8)
OPEH(10,FILE*FN«ME)
CLOSE(10,STATUS.'DELETE')
OPEN(10,FII.E*FNAME)
VR1TE(10,50000) RZCONST.VLIOT.RHCM
,
50000 FORKATC K 2 - ' , F 6 . t . ' V T « A Y « . F 6 . « , ' «»«.•',F5.2J
U«ITE<10,50001) GR.TC.FS
URITE<6,50001) <M,TC,FS
> > 1
50001 F0RKAT(X, OR>',D12.S, IC-'.tt.Z, FS-',F5.3>
IMAXA«100
DO 20 1*1,2
ISTGE'INHOMI.I)}
C CHECK FOR ILLEGAL OR NON-EXISTENT STAGE
IF((ISTGE.Ea.0).OR.(ISTGE.GT.NSTAGE» GOTO 20
OH(ISICE)=01(I,2)
20 CONTINUE
C REBOILER
0H<1)=0R
C SIOEDRAU AT COHDENSER
RS(NSTAGE)>1.D0-FS
C- NOTE THAT THIS PROGRAM DOES THE CALCULATION FROM THE BOTTOM UP
C- I.E. J>1 IS AT THE VAPOR IHLET OF THE COLUMN
C- SET FEED VALUES FOR All STAGES. USE MATRIX FEED TO DETERMINE
C- WHICH STAGES ARE TO HAVE FEEDS. IF FOR A GIVEN I THE VALUE OF
C- FEEDd.Z) IS NON-ZERO THEN THE STAGE NUMBER IS CIVEN BT FEED(I,1>.
C- THE COMPOSITION OF THE FEED IS GIVEN IN ZFEED(I.IX).
C
C- THE FORM OF THE FEED MATRIX IS FEEDI BY STAGE,FLOU.TENP,ENTHALPY
C- THE FORN OF THE ZFEEO MATRIX IS FEED! BT NCOMPONENTS
C
C- ALL THE FEEDS EXCEPT THE VAPOR ON TRAT 1 ARE ASSUMED TO IE LIOUIDS
200 CONTINUE
270 CONTINUE
IFUOERR.NE.O) THEN
C- ZERO TEMPORARY FLOW VAIUES FOR EACH COMPONENT AND THE MAIN LIQUID STREAM
FLTEHP'O.ODO
DO 280 IX'I.NCOHP
280 FrCIX)=0.000
C-SET VALUES FOR STAGE 1 , ADD A SMLL AMOUNT OF THE VAPOR TO THE LIQUID STREAM
V<1)"F<1,1>
l(1)>L<Z)*0.U0*f(1,1)
DO 302 IX>1,NCOMP
FT(IX)«FT{IX)«0.1D0*F(1,I)*ZF(I,IX)
X(1,IX)'FT(IX)/l(1>
302 T(1,!X)>T(2,IX>
C-SET LIQUID FLOWS AND TEMPS FOR STAGES ABOVE THE FEED
C-PROPAGATE THE FLOUS UP THE COLUMN -- ASSUME INFINITE REFLUX
IF(F(NSTAGE,1).EQ.0.D0) THEN
DO SOS J i t . N S T M E
I F ( K J ) . N E . O . D O ) GOTO 305
KJ).V(KSMGE)
DO 305 IX'I.NCOHP
X(J.IX)>T(NSTACE,IX)
JOS CONTINUE
ENDIF
306 CONTINUE
DO 307 J«2,NSTAGE
IF(T(J).ME.O.O0) GOTO 307
T(J)»T(J-1)
307 CONTINUE
EHDIF
ELSE
C-READ PROFILE FROM PREVIOUS TRIP THROUGH THE FLOWSHEET AS GUESSES
C-FOR THIS ITERATION
C-IF AN ERROR OCCURS THEN GUESSES ARE HADE AS ON THE FIRST ITERATION
IF((IOFLAG.EO.O).AND.(ITICEr.E0.1» THEN
!OERR>-1
GOTO 270
EDO I F
OPEN(11,FILE*PHAHE,IOSTAT«IC€RR,ERR>270)
DO 308 J»1,HSTAGE
READdl,70000,IOSTAT>IOERR,ERR'309,ENO*307) T(J),V(J),l(J)
REAM 11,70030,IOSTAT'1OERR,ERR*309,EM»3O9) (X(J,IX>,IX>1,NCCMP>
308 BEAD(11,70030,IOSTAT'IOERR,ERR*309,END*309> (T(J,IX),IX'1,NC0HP)
C-OELETE THE OLD PROFILE I-"
3C9 CLOSEMI.STATUS-'DELETE ) 1 ro
to
IF(IOERR.Ea.-f) GOTO 270
ENDIF
1000 CONTINUE
C- SET TEHPORART MATRIX OF ALL X'S AND T'S FOR USE IN THE SURROUTINES
C- USE CURRENT K VALUES TO CALCULATE T'S. USE NORMALIZED MOLE FRACTS.
XSUM-0.000
TSUH'O.ODO
DO 310 IX*1,NC0MP
TSUH:VSUH»T(J,IX>
310 XSUH-XSUH»X(J, IX)
DO 330 IX=1,KC0HP
XIEHP(1X)'X(J,IX>/XSUN
330 TTENP(lX>*V(J.IX)/rSUN
CALL H £ A r ( 0 , l . « C O H P , T ( J ) , P , X r e W > , H l i g , H r j
CALL HEATH, 1 ,NCOHP,T(,I>,P.XTENP,OH1100T,HT>
CALL HEAT(0,2,NCOW>,T(,)),P,TTEM>,KVAP,HT)
CALL HEATC1,2,NCCMP.TC.I),P,YTEMP,0HVAPIIT,HTI
CALL KVAL<1,NCOMP,TU>,P,XrEMP,YTEHP,DKE0DT)
DO 320 IX't.NCOMP
HL(J,IX>'HLlaiiX)
HVCI,tX)'KVAPCIX)
DHLDT(J,IX>>DHLlaDT(IX)
DHVDT<J,!XM>HVAPDT(IX>
K(J,!X)=XEQCIX>
320 DICDTtJ,IX)±OKEQDT(IX)
U«ITE<6,51000>
1
51000 FOftHATO!, PAST THERMO I H I f • , / >
DO 450 J*2,HSTAGE
DO 450 IX'I.NCOMP
AKJ.!X)«KJ-1,IX)*V(J-1)/l(J-1)
H(J,IX)>1.0DD»<K(J,1X>*VCJ»/I(j)
450 D8(J,IXWF(J,IX)«F<J,1)
DO 455 IX«1,NC0NP
DB(I,IXWF(1,IX>*F<1,1)
BB(t,U)*1.0DO*{K(1,IX>*V(1»/L(1>
455 AS(1,IX)'0.0D0
DO 460 J*2,NSTAGE
U(J).|I(J,IX)-AB(J,IX)»0(J-1)
G<JWDKJ.IX>-»a<J,IX)'G(J-t»/U<J>
QU>-1.0AI(J)
Q(NSTAGE)>O.0DO
X(NSTAGE,IX)*G(NSTAGE1/KNSTAGE)
FL'G(NSTAGE)
DO 490 J.MSTAGE-1,1,-1
FL«G(J)-0(J)«FL
. X(J,IX)»FL/l(J)
!TER*ITER*1
GOTO 1000
ENDIF
XH2SXXN(I)>X(I,3>
2100 XSOZMM(I)>X<l,«)
*BM0(1,1)-V(JD*K(J-1,3>
ABN0(2,2)"V<J-1)*K(J-1,4)
GBHfi(1)>V(J-1>*K(J-1,3)*XH2SRXN(J-1)
GBHD(2)>V(J-1)*K(J-1,«)*XS02CXH(J-1)
2130 aawi(i,i>>L(j|/asij)«viJ)*K{j,3>-AiPHA(3)'*xaiEncxso2iixM(j)
IIHO(1,2).-AlPH»(3)*«X«IEim*XN2«XN(J)
a
IIMD(2,2>'L(J)/>SCJ>*V(J)*K(J,«}-AlPKA(«) XXalEIIN*XH2S«Xa(J)
,
IB*)(2,1>-Al.PHA(t)*«XNTEim XS02«XII(.l)
D>M>(1,1)>-L<J»1)
0IH0<2,2)-L<.M>
CSND(1>«CIM)(U«L(J»1)*XN2$tXa(J«*)
GlW>(2)»5IHDC2)*l<J»1)«XS02tXa(J»1)
2U0 CiMO(1).UKI{1)»F(4,1)*ZF(J,3>-(V(J)*«J,3)U(J)/«S(J))
1 «XH2S«XK(J)«AlPKA<3)««XI4TElm*XK2S«Xll(J)*XSCl2«X«<J)
CaNO(2>*GaaD{2)»F(J,1>*2F(J,«>-(V(J>*K<J,*)*L<J)/«S(J))
<
t •XSO2>Xa(J)«ALPKA(t> aXNIEIH*XH2S«Xa(J)*XS02iXX(J>
CALL SAKOCJ)
2150 COHTIMJE
C UPDATE VALUES
00 2160 J.1,«STAG£
iFC(XH2»xa(j)«caw(i,j».LT.o.0DO) THEI
XH2SRX«U)'XH2SIIXN(J)/2.0D0
ELSE
IF((XH2S«X«(J).C1KO(1,J)).GT.1.000) THEN
X«2S«XM(J).(XH2S«XN(J)«1.0OO)/2.O0O
ELSE
XH2S«XH(J)«XH2S«X»(J)tCBKO(1,J)
ENDIF
ENDIF
ir((XSO2RXK(J)tCBHD(2,J)).LT.O.0DO> THEN
XS02BXMIJ >=XH2SRXK( J >/2. ODO
ELSE
1F((XS02«XX(J)»C1NO(2,J)).CT.1.000) THEN
XSO2RXN(J>'(XSO2RXN(J)»1.0D0>/2.0D0
ELSE
X$02RXN(J>'XS02*XN(J>»CBND(2,J)
EHD1F
ENOif
2160 CONTINUE
DO 2180 J'l.NSTAGE
X(J,3)*XH2SRXN(J>
2180 X(J,t)*XS02RXN(J>
URITE(6,94000) ITERRXN
WOW F«!HAI('»','IN RXN LOOP, ITERATI0N«\I3>
M
to
C FALL THROUGH ERROR AND HOPE FOR THE REST
DO <0O J'l.HSTAGE
400 «(J)»X(J,3)*X(J,«)*RHON'«HOH*VLIOT*«2CONST
C- BEGIN INNER LOOP. PERFORM J CALLS TO BAND TO SOLVE THE COUPLED EQUATIONS
DO 10000 J>1,NSTAGE
530 ABN0(1R,IC)-V(J-1)*«J-1,IX)
I OHVDI(J-I.IX))
540 SUN1«SUN1»HV<J-1,IX>«K<J-1,IX)*X<J-1,IX)
ABN0(1R,1)»-V(J-1)'SUH0
ABNO(IR,2)'-SUM1
DO sro IX>I,NCOHP
IC«IX*3
550 ABHO(IR,IC)»V(J-1)*HV(J-1,IX)»K(J-1,IK)
C- NASS BALANCES
2000 DO 560 IR-1.NCOHP
IX=IR
IC=IR»3
BBN0(IR,1)=V(J)«X(J,IX)*DKDT(J,IX-
IBW( l«,2)«K( J. IX)*X(J, IX)
UN0(m,3)'X<J,lX>/IIS(J>
560 iBND(ia !C>'V(J)*K(J,IX>»L<J>/ltS(J>
I
C- HEAT BALANCE
IMNCCMH1
SUHO'0.000
SUHU0.OO0
suta*o.ooo
SUH3«0.0C0
DO 570 IX'I.NCOHP
a
SUNO'SUMO»X(J,IX)*(HV(J,IX)*OniTrj,IX)»K(J,IXI IIHWTCJ,IX))
SUNI'SIMUXC J, IX>«OHLOI< J, IX)
SUH2»Sl»t2tHV(J,IX)«>:(J,lX>«X(J,[X)
570 ajK5«SJW»Kl(J,IX)*X<J,IX)
IBN0(Ilt.1)*V(j)*SUH0*l(J)*SUHl/ltS(i}
BBN0(IR,2)>SU(2
BBHO(IR,3)»SUH3/IIS(J)
DO 580 IX'MCOHP
IC»IX»5
,
580 BBHO(l«,[C)-V(J)«HV(J,IX)*K(J,IX)U(J) HL(J,IX)/«S(J)
C- EQUILII. EON.
SLMO>O.ODO
00 590 !X°MCOHP
590 SUM>SUMO*X(J,IX>*DKDT(J IX) >
BBMKlk.U'SUMO
DO 600 IX«1,KC0W>
IC'IX*]
600 BBKD<I«,1C)*K(J,1X)-1.0D0
C- MOLE FRACTION
IR=I»*1
DO 610 IX>1,NCOHP
IC*IX»3
610 BBHD(IR,IC)«1.0C0
C- CHECK FOR LAST STAGE. IF SO THEN J«1 TERNS ARE AIL ZERO
IF<J.EO.NSTAGE> THEN
GOTO 3000
ENOIF
C- MASS BALANCES
DO 620 IR>1,NC0HP
IX»IR
IC-IR»3
DBMD(IR,3)*-X(J«1,IX)
620 0BHO(IR,IC)'-L(J»1)
C- HEAT BAL.
IR=NC0MP»1
SUHO=0.OD0
SUM1*0.0D0
DO 630 IX'I.NCOMP
SUM0*SUH0+X<J»1,IX>*DHlDTtJO IX>
>
630 SUH1=St*1»HL(J»1,IX>*X(JtI,IX)
0BND(IR,1»*-L(J»1>*SUM
DBND(IR,3>*-SUM1
DO M O IX'I.NCONP
IC»IX+3
MO DBND(IR,IC)-l(J»1>*HL(J«1,IX>
C>W)(l«)*F(j,1)*FCJ,J)«V(J-1>*SUMO-V(J)«SUN1-l(J>*SUM2/>S(JH
a
1 l(J»1) SUH3«OH(J)
G(ND<llt)>F(j,l)*F(J,3)»V(j-1)*SW0-V(J>*SUN1-L(J)*SUH2/IIS(J)«
1 OH(J)
GOTO 3010
C8N0(l*)«F(J,1)*FCJ,3)-V{J)*SUM1-l(J)*SUH2/*S(J)«L<J«1>*SUM3»
1 QH(J)
C- EOUII.II. EON.
3010 IR»IR*1
SUMO=0.000
DO 675 IX»1,NWHP
675 SUH0=SUNO«X<J,IX)*<1.OO0K<J,IX>)
GBND(IR)*SUH0
C- HOLE FRACTION
IR»IR*1
SUHO'O.ODO
DO M O IX-1.NCOHP
680 SUMO-StMO*X(J,IX)
GBKKIR)-1.0OO-SLMO
C- DO NEXT J
10000 CONTINUE
DO 700 J*1,NSTAGE
TTEMP*T(J)tCBND(!,J)
C UNIT CHANGE IN T TO 20 PEICENT
IF(D»BS((TTE(*>-TtJ))/T(J)).GT.0,2D0) THEN
<
CBM>(1,.I)>OSIGN(0.200 TCJ>,CM>(1,J)>
ENOIF
IF((T(J)»CBNO(1,J)).lT.0.OD0) THEN
T(J)-T(J)/2.OD0
ELSE
T<J)»T(J)*CBN0(1,J)
ENOIF
VTEMP«V(J)«CBND(2,J)
IF(DABS((VTEW>-V(j)]/V(J)).GT.0.2D0) THEN
,
CBHO(2,J)4SIGH(0.2DO V(J>.CBN0(2,J»
ENDIF
IF((V(J)<CBND<2,J)).LT.0.0D0) THEN
V(J)=W(J)/2.0O0
ELSE
V(J)=V(J)*C6N0(2,J)
EHOIF
«LTEHP>l(J)»CBN0(3,J)
lF(0*BS((RLIiiM(>L(J))/L(J)).GT.0.200) THEN
CeND(3,J)sDSIGN(0.2D0*l<J),CBND(l,JJ)
ENDIF
IF((L(j)«CBH0(3,J)).lT.0.0D0) THEN
L(J)=L(J)/2.OD0
ELSE
l<J)*l(J)*CMD(3,J>
ENOIF
DO 700 IX>1,NC0M>
IC'IXO
IF((X(J,IX)»CtHOClC,J|).IT.0.000) THEN
X(J,1X)>X(J,IX)/2.0D0
ELSE
IFC(X(J.IX)»CIKO(!C,J)>.CT.1.0D0) THE*
X<J,IX)»(X<J,IX)»1.000)/2.000
ELSE
x(j,u)*x(j,ix)<ctNO(rc,j>
EMIF
END IF
Y(J,IX)*X<J,IX)*K(J,IX)
700 CONTINUE
WXITE(6,50600)
50600 FORIurC PENFORNING CONVENGENCE CHECK')
DO 40200 M.NSTAGE
40200 U*ITE(«,40000) T(i),V(l),l(l).XH2SltXN(l),X$02*XN(n
,
40000 FOiNAT(X,'T« ,F10.*,' V«',D10.*,' L"',D10.4,' X«H2S»',010.4,
1 ' XRSOZ«',B10.4)
C 0 0 40300 l»1,HSTAG£
C40300 MITE(6,«0100> (X{I,IX>,IX'1,NC0W>>
C40100 FOXNM<> ',UZO.IO)
URITE<10,60O01>
DO 60000 I'MSTME
60000 MIITE(T0,40010) TCI),V(I),L(I)
VRITE<10,«0520>
UR1TE(10,600SO)
ttlTE(10,«0500>
DO 60020 l«1,HSTAGE
60020 MtlTEdO.tOSIO) l,(X(l,IX),IX>1,HCtMP)
MtlTE<10,40520>
URITE(10,60060>
U»ITE(10,t0500>
DO 60090 I'l.NSTAGE
60090 WlTEdO,40510) l,(X(l,IX)*KCI,IX),IX-1,NC0MP)
URJTEdO,40520)
U>UEt10,60070)
MIITE(10,40500)
00 60100 M.NSTACE
60100 UUTEC10,40510) l,(X(j,IX)*l(l>.IX>1,NCOW>>
l*iITE(10,4D520)
MtlTE(10,600B0)
MtlTE(10,40SOO)
DO 60110 MI.NSTACE
60110 l * n E C 1 0 , t « U » I.<X(I,IX)*K(1,1X)*V(1),1X-1,IK0MP>
1 1
60001 FOHUTCX, AISOME* OUTPUT DAM )
1
60050 FORHATCX,' LIQUID COMPONENT HOLE FMCT10NS )
60060 FOUUHX,' VAPOX COMPONENT HOLE FRACTIONS')
60070 FUHAT(X,' IIOUID COMPONENT FLOUS')
60080 FORWUX,' VAPOR COMPONENT FLOWS')
40010 FORKAT(X,'T«',F10.*," V « \ 0 I 0 . * . ' L«'.D10.4)
40500 FOSHATdX.'SGf'.X.JX.'SOLV'.SX.JX.'HM'.M.SX.'HZS'.tX.SX.'SOZ',
1
1 4X.3X, 'SOLD' ,JX,3X, 'COZ ,*X,3X,»tt»,SX,3X, >C1 • ,5X,3X, 'HZ' ,5X,
Z3X,'CO'»5X,3X,'C2'.5X,3X,'C3\5X,3X.'tt',5X,JX.'CS»')
40510 F0MUI(1X.I3,X.2J(0».4,X),D15.9,X,F4.1)
40520 FORKAKX,' •)
70000 FMHATC3DZ0.10)
70030 FORKAT(14D17.10)
GOTO 5009
DO 910 I'l.NCOMP
STMP<I)>X<NSTAGE.I>*«JSIAGE,I)'
STLia(l)>X(1,l>
910 STliOC(I)*X(NSTAGE,l>
STVAP(NCOMP»1>*V(NSTAGE)
STIIQ<NC0HP*1)*L<1)
>
STLIQC(NCOHP*1>*l(NSTAGE) FS/(1.D0-FS>
U>
«3
STVM>CHCO«>»2>OOtSTK*>
$TLla(»CCW«2W(1)
$TLIOC(IKO»*2)-T<I<SUGE> £
O
STVAP(*CO»»J)»P
STL1Q(NCCHP»3)>P
STL10C<NC0HP»3)«P
HTV«O.OD0
HTL*O.OD0
MTLC'O.ODO
DO 920 I'l.NCSUI
HIVHTVtKVCNSTACE, I )»X(«SIAC£, | inc(HSTACE,')
HTl«HTl«HL(1,l)*X(1,l)
920 HILC>HUC«KI.{«STAC£,l)«X(tlSTAC£,l)
STVAP(NCOMP««)'HTV
SU!01HC0MPH).HTL
5TliaC(NC0MP«4)'HTLC
STVAP(NOCMP«S)'Z
STL10(«CO*>«5)"1
STLlOC(kCCHP»5)»1
RETURN
END
SUBROUTINE FSPLIT<NC,STREAMI,STREAM1,STREAH2,F10W)
IMPLICIT REAL'S <A-H,0-Z>
REAL'S SrREANI(2S),STREAN1<25),STREAM2(2S)
C FlOU SPLITTER
C
C LAST UPDATE: W/21/86
RETURN
END
SUHCUTIK PHFLASK(NCOHP,STREAMF,PFLASN,STAL,STRV,
1EPSH0H, IPHASE, IHAX.ERRU)
IF(HF.GT.HTD) THEN
DO 10 l-I.NCOMP
10 X(l)»0.0O0
V«F
I'O.ODO
IPHASE«2
GOTO 175
ENOIF
I F ( H F . l T . N T t ) THEN
DO 15 I'l.NCCMP
IS TCD'O.ODO
l»F
V'O.ODO
IPHASE'1
GOTO 175
EHDIF
c .........................................................
C HAVE MIXTURE, PERFORM FLASH CALCULATION
C MAKE F U S T GUESS FOR TFLASH AND V / F
VF«(KF-HT»)/(HT0HT1>
mASH>TBUB»VF*CTDEW-TIU»)
C CALCULATE K
CALL ICVAL(0,NCC»»,TFlAStl,PFUSH,X,T,t)
C CALCULATE HL.HV
CALL HEAT(0,1,KCOHP,TFLASM,PFLASH,K,HL,HTL)
CALL HEAT(0,2,HCOMP,TFIASH,PFIASH,Y,KV,HTV>
C CALCULATE F AMD G
OIDF.0.0
SUMO>O.WO
SUNI'O.ODO
DO 20 l»1,NC0HP
OLDF=OL0F*(ZF< I ) * « ( 1 ) • 1 . D O ) > / ( V F * « < I > • ! . D 0 ) * 1 . 0 0 0 )
SUHO=SUHO«(HV(I)«ZF(1)«IC(I))/(VF'(«I)-1.00)»1.000)
20 SUH1>SUNH(HL( I ) * Z F ( I ) / ( V F * ( K ( l ) • 1 . 0 0 ) » 1 .ODD))
OLDG>VF*SUHO»( 1.0O0VF)*SUH1 -MF
OLDG-OLDG/HF
C CALCULATE DF/DV,OF/DT,DG/DV,DG/DT
FDERV'O.ODO
FDERT'O.ODO
GOERV*0.000
OOERT'0.000
ADDO'O.ODO
ADDI'0.000
DO 30 M.NCOHP
FDERV=FDERV-(ZF(I)*((K(I)-1.DO)**2»/((VF*(IC(I>-1.DO)»1.000)**2)
FDE«T*FDE«T»<ZF<l)«t>ICDT<l»/«VF*(IC<IM.00>»1.OD0>"2)
COE«V=GDERV«<2F(I)«IC(I>*(HV<I)-KL(I)))/((WF*(IC(I)-1.00)
1 •1.000)"2)
ADD0>VF*K(I)*0HVDTCI)«O.n>0-VF)*DHlDT(O
ADD1«(VF*(t.tlO0-VF)*CHV(l)-Ht(«»)*OH)T(l))/{VF«(«l)-1.00>
1 •1.CO0)
AM2«ZFCI>*(ADO0+ADO1>/(VF«C«l>-1.D0)+1.OD0>
30 GDERT*G0EKT«AM>2
GOEKV-GOEHV/HF
GDE«T«a>EIIT/HF
lF(VF.LT.O.DO) THEN
VF'VFOLD/2.00
EHOIF
!F(VF.GT.1.DD> THEN
VF-(VFOLD»1.D0)/2.DC
ENDIF
I >
20000 F0F)HAT(X, TFLA5H« ,D20.10,' VF«',D3.10)
DO 40 M.NCCHP
X(I)»ZF(l>«(MI)-1.00)«VF»1.00J
«0 VCI>=X<I>*KCI>
in
C CALCULATE NEW K VALUES
CALL KVAL(0,NCGW>,TFUSN,PFIASH,X,Y,K)
NEWG<HEUG/HF
1TER«ITER«1
r—»***——»••*•••••«•—• •>«>»—•>•>>»••••••••••••••••»•—
200 TFLASK'TFEED
225 TOUT'TFIASH
CALL «E«t<0,IPKASE.HCOHP,TOUt,PMlX,X,HFl,HT)
CALL HEAT(1,IPHASE,MC0HP,TOUT,PMIX,X,OMFIOT,DHT)
ITERMTERtl
C SHOW CONVERGED CALC, BUT FLAG THE FACT THAT STREAM IS ALL IIOUID OX VAPOR
270 ERRORO
C SET RETURN SHEA* VALUES
100 DO 300 ••I.NCONP
STRl(l)*X(l)
300 STRVCI)sT(l)
STRL(IK»»«2WFIASH
STRV(NC0MP»2)'TFLASH
ST«L(HOT»»3)"PFIASH
SIRV(IK0HP«3>*PFIASH
IF(V.EO.O.WO) THEN
HTl*HT
MTV=0.000
EHDIF
IF(L.EO.O.DOO) THEN
HTI'0.000
HTV»HT
ENOIF
STRUHCOHP»4>»HH
SI«V(HCOMP»*)>HTV
STRL(NCGMP»5)*1
STRV(HC0MP»5)<2
RETURN
END
SUMOUTINE XCHGdK.SnEANHI.STIIEAKI.SniEANW.STKEANCO,
1 UA.EPS.IKAX.ERR)
IMTEGER*2 PHASEC.PKASEH
1
INTEGER ? ERR
STREAHCO(NC»1)-STREAHCKM>1)
STREAMCO(XC«3)'STREAHCI(W>3)
C SET LOCAL VALUES FOR STREAM PIESSWES, PIUSES, TEMPERATURES, AND ENTHALPIES
PRH«STREAMHI(NC*3>
PHASEH*INI(STREAHHI(IK>S»
PRC'STREANCKNC+3)
PHASECMNUSTREMKI WC*5)>
TCI*STREANCI(IK>2>
THl*STREANHI(IK«2)
HCI>STAEAHCI(HC+f)*STREAHCI(IK>t)
NHI*STREAMHI<IK>1>*SrREMHI(NC»t)
>
TCONEU>(THI (META)«TCI*IETA*(1.0D0-AlPHA»/(1.Oa0-ALPHA*IETA>
100 TCOtTCOWEV
THOMHONEV
DF2C:FUNCF2(HHI,HHO,HCl,HCODEL)
DF2H>FUNCFZ(HHI,HWDEl,HCI,HCO)
0F1DTC»<DF1C-F1)/DELT
0F1DTH*<DF1H-F1)/DELT
0F2DTC««IF2C-F2>/DEIT
DF2DTH>(DF2H-F2)/DEi;
STREANHO(HC*2>'THO
STREAHHO(NC<t)'HHO/STR£AHHO(NC+1)
STRE(WHO(NC»5>*IPHH
tErun*
END
INTEGERS E M M
C SHOW NO ERROR
EUW'O
RETURN
EMO
SUMOUTME CONDENSE(NCOHP,P'trAP,ST(EAIII.$T>EAMO,QaUT EPSILON, l
I E*KM>
C CONDENSE* SUMOUTINE
C
C LAST UPDATE: 0 4 / 2 1 / 8 4
C
IMPLICIT IEAL«8fA-K,0-Z)
«EAL«8 X(20>,T(?.0) HL(20) >
AEAL'B ST«EAAI(25),STItEAHO(25>
INTEGE«*2 EMOX
C SHOW W EUHM
EMKM*0
TVAP<STKEANI(NCOHP»2>
KETlMtK
END
SUMOUTINE NIXE*(NC0HP,STREAN1,STREA>I2,STREN«,PHIX,IPKASE,
t EPSILON.ERROR)
C NIXED SUBROUTINE
C
C LAST UPDATE: 0 4 / 2 1 / 8 4
IMPLICIT DEAL'S ( A - N . O - Z )
INTEGER*: ERROR
REAL'S STREAH1<25>,STREAH2(2S),$TREAH0(23)
REAL'S STRL(2S),STRV(25)
IHAX>20
C SET GUESS FOR MIXTURE TEMPERATURE FOR FLASH CALC • • USE AVERAGE
TFEED'((STREAN1(NCOMP»2)'STREAN1(NCOMP4'1»'(STREAII2(NCOMP»2>'
1 STREAH2<NCOHP«1>)>/(STREAN1<NCONP»1)*STREAN2(NCOMP+1>>
STREAH0(NC0HP»2)'TFEED
•ETUUM
Era
SUtlKVTIlE SPLIT(IIC0MP,STtEAMI,STIEAII1,STtEAN2,F»ACT1>
G SPUTTER SUMOUTIIIE
C
C U S ! UPDATE: M / 2 1 / 8 6
RETURR
EHO
SUMOUTIHE PUHF(NC,STRE*MI,STREIW.POUT,RHM,POUER,IMAX,EPS,
1 EKROK)
C LAST UPDATE: 0 * / 1 0 / 8 4
IMPLICIT REAL*8(A-H,0-Z)
INTEGERS ERROR
DEAL'S STIEAMI(»).STREAM0C2S>
REAL'S STRL(2S),STRV<25>
STREAH0(NC«t><($TRl(Ne«1)*STRl<NC««l«STRVCNC*1)*STRV(NC»')>/
1 STREAM0(NC4l)
STREAH3(NC<S>*IPKA$E
RETURN
END
SUNOUTIIIE REACTOR(NC0HP,STREAH1,I.TREAM2,rREACT,aaUT,STREANO,
1 FRACT,RK2,VREACT,IPHASE,EPS11C«,ERROR)
C REACTOR SUttOUTINE
C
C LAST UPDATE: 0 4 / 2 1 / 8 6
IMPLICIT REAL*1(A-N,0-Z)
INTEGER*! ERROR
INTEGERS ALPKAC20)
REAL'S STREAM1<2S),STREAM2<2S),STREAH0(25>
REAL*0 STRL(25),STRV(2S),HFK20),DHF10T<20)
«EAL«B H0LUTC20)
COMMON/ALPR/ALPHA
COMMtM/HOLEC/HOLVI
DO 10 M.NCOHP
10 STREAM0(I)'STREAN1(I)*STREAN1(NCCHP«1)*
1 STREAM2<I)*STREAN2(NC0HP«1>
IF(FL0UH2S.GT.2.0D0*FLOUSO2) THEN
C S02 I S LIMITING
FL0WCHG=FRACT«FL0US02
ELSE
C H2S I S U N I T I N G
FIOUCHG*FUCT*FLOU1I2S/2.000
ENOIF
C SET EXIT PRESSURE M B ENTHALPV ACCOUNT I NO FOR tEACTION AND NEAT REMOVAL
STREAM)! NCOt»S)>PREACT
STItEAN0(NCOM>*A)'(ST(EIUIt(NC0MPH)*STIIEAM1(NC<M>*1)
1 •STREAH2<NC0HP<«>*ST(EAH2(HCONP*1)-O0UT>/
2 SIREAHO(NCONPtl)
TFLASH'TFEEO
STREAH0CNC0MP*2WFEED
IF(HEH.CT.INAX) THEN
ERROR*!
WTO 40
EHDIF
TSOl'TFLASH
CALL SULFSatNCOI^STREAMO.STREAW.TSX.PREACT.EPSILON.ERROR)
C RECOVER CORRECT TENP. ENTRAIPT ISW.FSOL RECALCS ENTHALPT FOR STREAM) AND PHASE
ST«E«W(»CCHP»2)«SAVET
STREAMO(NCOHP»*)>SAVENTN
STREANO(NCOMP<S)«SAVEPII
TFLASH»STRl(NCOHP<2>
STREAHO( NC0HP»2)'TFLASH
IF(IPHASE.EO.J) THEN
EMOI'2
ELSE
EMOt'O
END1F
1F(CK2S.EO.Z.W'C$02> THEN
C I ' I . O O / d . O O - F M C T ) • 1.00
WEACT>FLai*aMVER/<2.0O*K2*C$O2>
ELSE
IF<CHM.CT.2.00*CSO2> THEN
<
C1«LOG((CN2S-2.00*CSO2 FUCT>/(1.O0-FR*CT»
C2>OLOG(CII2S)
V K A t U f L0U*(1 . D 0 / H 2 ) * ( l . D 0 / ( C « S - 2 . M I * C S O 2 » * ( C 1 -C2>
ELSE
C1"OL0CC<CSO2-0.5DO«CHK«FltACT)/C1.DO-mACT»
C24L0GCCS02)
VKEACT*FLaV(1.M/«K2>*(1.DC/(CSO2-0.!00*Cll2S)>*(C1-C2)
ENDIF
EWIF
NETIMN
ENO
SUUOUTINE SULFSOLINCOMP.STREAm.STREAIO.TSOl.PSOL.EPSllCN,
1 ERltOR)
C SULFUR S O L U t l l l T f ROUTINE
C
C LAST UTOATE: 0 4 / 2 1 / 8 6
IMPLICIT REAL*8fA-H,0-Z>
a
INTECE* 2 ERROR
REALM ST«EAHI(K).ST«EA»0<2S>,X(20),HU(20)
EXTERNAL SULFUR
ERR0R4)
DO 10 I'l.NCOMPtS
10 STREAHOdl'STXEAHKI)
CALL KAT(0J,NaNP,TSOL,FSOl,>(,MJ,NT)
STRE*MO(VCOW»«)<lir
RETURN
END
SUBROUTINE SEIHERCNC.STRI.STRS.SIRO.IfTS.PS.EPSIUM.ERROR)
IMPLICIT REAl*a{A-N,0-Z)
INIEGER*2 ERROR
REAL'S STRK25?,STRO(2S>,STRS<2S>,XO(20),XS(20),XX<20)
REALM STRIT(ZS)
REAL'S HOLUTCZO)
COMM /NOLEC/MOLUT
CALL CRTSTAL<NC,ST*IT,STRI,EFStlVI,ERROR>
C MAKE SUM THAT SUFFICIENT SOLVENT EXISTS TO T I E I D THE DESTIRED Iff FMCTION
C OF SULFUR • • I F HOT ENOUGH THEN TRANSFER ALL OF THE SOLVENT STREAM TO
C THE EK1T SUIFUI STREW
m m . G J . 1 . 0 0 0 ) THEN
FTM.ODO
FI24.000
ENDIF
CO 20 I - 1 . N C
STRS(I)>FT1«STRI(I)*STRI(HC«1>
SI«S(NC»1)»ST«S«H>1)»SIRS(I)
>
STR0(I>'FT2 STRI(I)*STRI<NC*1>
20 STR0(NC«1><STR0(IK>I)*STR0(I)
Jo iFcsTioiK'D.Ea.o.aoo) GOTO * O
DO 35 1-1.IK
StKK I )'STItO( I )/SIKO(*C»1)
55 X9(I)'ST«0(I>
SMS(NC»3)»PS
SU0(ltO5>'5T«l(IICv5)
IF(STII(K*5).LE.ll t « «
STRS(HC«S)'STItl(NC«S)<3
ELSE
ST«S(MC«5)»SI«I<IIC»5)
ENDIF
XETUtH
END
SUMOUTIHE IMSHERWC.STRI.SIRU.STRO^STRS.PS.WTS.EKlLai.EMO*)
C SULFUi HASHES
C
C LAST UPOAIC: 0 4 / c V 8 6
IMPLICIT REAL*BtA-H,0-2)
LOGICAL ERROR
EUW'.FALSE.
CALL MXER<HC,$TRL,SIRU,STRIH,P$,IPHASE,EPSILOM**0*>
RETURN
ENO
SUaROUTINE HELTOECCNC.STRI ,TMELT,PHELT,STRU,STRS,alN,EPS,l R)
C MELTER/DECAMER SUMOUTINE
C
C LAST UPDATE: 04/21/86
IMPLICIT REAL*8(A-N,0-Z)
•NTECE**2 ERROR
DEAL'S STRI(2S),STItU(25),STftS(2S),IM<20>
«E«l*8 XC20J
REAL'S STL<2S).STV(2S>
STRW(NC+1)*STRU(IIC«1)-STRI(17)*$T(I(NC«1>
STRU(17>'0.D0
STK:(NC<2)«TNELT
STRS(NC»3> PHELT
STRS(NC«5)«1
<
SHtU(NCH)'(STL(NCH) STL{NC«1)«STV(HCU)*STV(IIC»1»/
1 SIRUCHOl)
IF<IPHASE.E0.2) THEN
STRU(HC*5>»2
ENDIF
IFUPHASE.E0.3) THEN
STRU(HC»5)»3
END IF
RETURN
END
SUBROUTINE FURN»CE(»C,SO2l<E0,STSUlF,ST2,STAIR,STOUT,TOUT,POUT,
1 OOUT.EPSILON, ERROR)
C FURNACE SUBROUTINE
C
C LAST UPDATE: M/21/S6
IMPLICIT REU'BtAH.OZ)
INTEGER'2 ERROR
INTEGER'2 RET
REAL'S STSULF(25),ST2<25),STAIR<25>,STOUTa»; ,HX<20>,X(20)
REAL*0 CHAT(20,5)
C MATRIX OF COEFFICIENTS FOR COMBUSTION CALCULATIONS
DATA (CNATd, I ) , M ,5)/0.D0,O.DO,O.DO.O.0O,0.O0/
DATA (CMAT<2,l),M,5)/0.D0,0.D0,0.DO,O.DO,1.DO/
DATA <CMAT(3,l),M,S)/t.SDO,1.DO,1.DO,O.DO,0.00/
DATA <CHAT<4,1), l«1,5)/0.00,0.00,0.00,0.00,1 .DO/
DATA <CKAT(5.1),i»1,5)/0.D0,0.D0,0.00,0.00,0.00/
DATA (CMM<6,l),I.1,5)/0.D0,O.0O,0.DO,O.00,1.OO/
DATA (CKAT(7,l),IO,5)/0.D0,0.D0,0.D0,0.00,1.00/
DATA (OUT<8.I), I»1 ,S)/Z.D0,0.M,2.0O.1.00,0.00/
DATA CCKAK9,1), 1-1,5)/0.5O0,0.O0,1.00,0.00,0.00/
DATA (CNAT( 10,1), 1-1,5)/0.5O0,0.O0,0.DO,1.00,0.00/
DATA <CH»T<11,1),l«1,5>/3.500,0.00,3.00,2.00,0.00/
DATA CCHAT<12,I),I' •,5)/5.00,O.DO,«.DO,3.DO,0.DO/
DATA CCMAT<13,I),|.1,5)/6.5DO.O.O0,5.OO,*.O0,0.00/
DATA (QUICK,!>,1-1,5>/B.D0,0.DO,6.U0,5.DO,0.DO/
DATA (CHAK15,1),l«1,5)/3.D0,1.DO,2.OO,1.00.0.00/
DATA (C \[(16,l),l»1,5)/*.500,1.00,3.00,2.00,0.DO/
DATA (CHAT<17,I),M,5>/1.P4,1.D0,0.D0,0.D0,0.D0/
DATA (CKAT( 18.tl.l-1,5)/0.00,0.00,0.DO.0.00,1.00/
DATA (CHAT( 19,1), I>1,5)/0.00,0.00,0.00,0.00,0.00/
DATA (CKAT(20,1), 1-1,5>/0.00,0.DO,0.00,0.DO,0.00/
CO
C IT IS ASSUMED THAT TKEIE IS NOTHING IN THE A M WHICH CAN IE
C MMHED
ERROR *0
O2REU=0.0O0
C DETERMINE OXTGEH REQUIREMENT
DO 20 I«1,NC
20 O2REa>O2RE0»(STSUI.F(l >*5TSUIF(IK>1)*SI2( I )*SI2(NC»1))*CHAT( 1,1)
C CALC TOTAL OUTLET FLOW AND CONVERT COMPONENT FLOWS TO HOLE FRACTIONS
DO SO I ' l . N C
SO ST0UT(M>1)*STGUTCI«>1)*ST0UT(I)
DO K l>1,NC
60 ',rOUT(l).STOUT(l)/STOUT(NC»l;
C CUC H I T US EXTKALPr
DO 80 M.NC
80 Xtl)'STOUT(l)
CALL MEtT<0,2,»C,SIOUT(l(C»2),STOUT<l(Ce3).»,«,JTOUT(l(C»*))
C CALCUUTE OOUT
,
«0UT<STAU(IK>1)*STMI(IK>4)»STM.FtllCM> STSULF(IKH)»
<
t ST2(NC«l>*ST2(NC«*)-SIOUT(IK»1> $IOUT(IIC«4)
IETUM
ENO
SUMOUTIHE CCWESSCMC.STREANl.STREAIB.POUT.POIM.IIIAX.EPS,
1 ERROR)
C UST UPDATE: 0 6 / 1 0 / 8 6
IMPLICIT REAI*SCA-R,0-Z>
INTEGER*2 ERROR
REAL** HOLUT(20>
REALM STREAMK25).STREANO{25)
REAL'S STRL(2S),STRV(25)
COHWM/MX.EC/MOIWI
a
STREAHO(NC^)-(STRL<NC»1)*STRL(NCH)*STRV(KC«1> STkL(NCU))/
1 STREAHO(N[>1)
STREAMO(NC<5)=IPHASE
C CALCULATE THE FOCI KOUIUK«T
MATI0MaUI/SIiEMICIK>3>
POCOTST-W.OWOO«ST«EM1 l»C»J)«5HE«(l (»C»1)
IFIMUTIO.ll.S.M) THEN
C SINGLE STAGE COHMtESSIM
FCUEMPOCOKS ! • ( « » ! IO"0. HDO-1.00)
ELSE
c HISH CWPIESSIW, USE 2 SIACE amESsa*
HUEI>MCaKI*Z.OO*(rUIIO»O.1«0O-1.DO)
EKOIF
IF<STIEAWXIK»S).Ea.3) THEN
Emtat'2
ELSE
EMOt«0
ENDIF
•EVUW
END
SUWMUTIIF *XXn!<IK,r,$Tltl1,tTai2,STM1,STa02,VTSl,WTSZ.
I tPSILCH.tOM)
IMPLICIT IEAI*ICA-N,0-Z>
IIIEGEI*Z EMM
REAL'S SIRIt(ZS>,STRI2(25)
REAL*B SIAOI(2S) StX02{2S)
>
C K I F O M SECOND SPLIT
CALL SETILER<*C,$TRINT4,STR01 STRINT2,WTS2,P,EPSLLON,ERROR>
>
RETURN
-J
ID
180
S
witasTim ruau>(wc,stiif,Kom,tca*>,t!ti.,tiM,Kiie,[rt,
1 iNu.Eim)
t M H I A l C M K I S E I OH ISOTHERMAL FLASH
c
C LAST (MATE: H / 2 1 / U
IMPLICIT «EAL*8(»-H,0-Z)
IHEGER'2 ERROR
REAL** STRF(2S),SIRL(2S>,SIRV{2S>
RETURN
END
SUU3J7IHE KATER(NC,SIRI.STRO,g|N,EPSIlU,ERROR)
C HEATER
C
C LAST UFOATE: 04/21/84
REAL'S HX(20>,DHXDn20),X<20)
INTEGER*2 ERROR
ITER«0
DO 15 l»1,NC
15 X(l)<STRO(l)
C FLASH THE STREAM TO CHECK FOR A PHASE CHANCE, DETERMINE OUTLET TEHP
SO CALL PHFLASH<NC,STRO,STRO{KC*3>,STRL,STRV,EPSILON,IPHA$E,1MAX
1 .ERROR)
•ETUtH
END
SUMOUTINE SIOR»G£<IIC,STAEAMI,ST«EA»«0,FICUIO,ICOHP,TOUT>
t-"
C STORAGE OR COMPONENT P!OU SET ROUTINE 00
C
C LAST UPDATE: O t / 2 1 / M
SIAEAHOCNOI)*FIOUIO/STREANI<ICOHP>
C RECALC ENTHALPY
DO 20 1*1,«C
20 Xr|)'SIREAMOCI)
1PHASE-INT(STREAM0(NC*S>1
PRESS«STREAM0(NC*3>
RETURN
END
SUM0UT1HE CRTSTAKIIC.STRI.STRO.EPSILCN.ERROR)
C SUIFUI CRYSTALLIZE*
c
C LAST UPDATE: M / 2 1 / B 6
IMPLICIT REAi*8(A-H,0-Z>
INTEGERS EUOII
REAL«8 STRI<2S),STROC2S>
RETURN
EBO
00
in
SUBROUTINE MAKUPMC.STREAMI,STREAMO,FLOUIO,ICOHP,IHAX.EPS.ERR)
IMPLICIT REAL'S (A-H.O-Z)
REAL'S SIAEANI(2S),STAEAMO(2S),X(ZO),UX(20)
REAL'S STRL<25),STRV(25)
INTEGER'2 E M
C LAST UPDATE: 0 6 / 1 0 / 8 6
DO 20 I ' l . N C
20 STREAHO(NC»1 >*STREAM0(M>1 )»STREAM0( I )
DO 30 !«1,NC
30 STREAMO(l)iSTREAMO(l)/STREAHO(NC«1)
C SET ENTHALPY
S T R E » H 0 ( H O 4 ) " ( S m < H O 1 >«STRL<NC«4)«STRV(NC*1 ) * S T N V ( N C « t » /
1 S7RE»HO(HC»1)
1B7
$ -
SUBROUTINE TSET(NC,5TRI.STR0,T,QCHG,IMA>,EPS,ERR)
CALL PTFLASH(NC,STR0,STR0(NC»3>,T,STRL,STRV,EPS,IPH,1MAX,ERR)
STRO(NC»«>>(S?RL(NC«1)*STRL(NC*4>«STRV(NC«1)*STRV<NC«4»/
1 STB0(HO1)
STR0(NC«5)'IPH
35 IF(SIRO2(HC»1).EQ.0.OO) GOTO 45
DO 40 1-1.NC
40 STR02(I)>STR02(I)/STR02(HC«1>
STR02(NC*2)sSTRI(NC»2>
SIR02(KC*3)«STRI(NC»3)
STR02(HC»5)*STRKNC«5>
CALL HE«I(0,1,NC,ST«01<IIC*2),5I«O1(NC«J),X1,KX.Sm01(ltC»t))
CALL «EAT(P,1,XC,STR02(IIC»2>,STIt02(NC«J),X2.IIX,STIl020<O4»
KETURH
EDO
SUHHMTIUE PTFlASK(NCOHP,STREA)IF,PFLASH,TFLASH,STRL,STRV,
1EPSILON,IPHASE, IHAX.ERROR)
C ISOTHERMAL FLASH
C
C LAST UPDATE: 0 4 / 1 6 / 8 6
C
C REFERENCE: KING, 1 9 7 1 , PCS. 75-80
U3
TFEED'ST«EANF(*C0HP»2)
F>STUAMF(NaH»»1>
VF0*0.0D0
VFIsl.000
FVFO'0.000
FVF1>0.000
DO 7 l«1,NCOW>
I F < « I ) . E Q . 0 . 0 0 0 ) GOTO 7
FWFO»FVFCK(ZF(IJ"(K(1)-1.000))/(VFO*(K(1)-1.0DO)*1.0DO)
FVF1«FVF1«(ZF< | > • ( « | ) - 1 . 0 D 0 » / < V F 1 * ( K < I ) • 1.0D0>*1.000)
7 CONTINUE
C CALCULATE F
OLDF'0.0
DO 20 M.NCOHP
20 OIDF'OIDF«<ZF(I)*(K(I>-1»/(VF*<K(I)-1>»1.000>
C CALCULATE DF/DV
25 FDERViO.ODO
DO 30 M.NCOMP
a
50 FDERV'F0ERV-(ZF(l)*((IC(l)-1>**2»/<(VF*()[<l>-1>*1.0D0) '2)
00 40 I't.NCOHP
X<l)c2F(l)/(«K(i)-1)*VF>»1)
40 V(l)>X(l)*K(i>
IT6R«ITER+1
C CONVERGED, SHOW NO ERROR (EXCEPT NIXED PHASE), HAVE MIXTURE AND THEN EXIT
ERR0t<2
IPHASE-J
GOTO 100
ENOiF
STRL(NC0MP»2)sTFLAS!l
STRV(NC0HP»2)>TFIASH
STRL(NCOK>«I)'PFLASH
ST«V(HCOHP>J)«PFL»SH
STRL(NCOHP«<)*HTL
STRV(NC9MP»M*HTV
STRKNC0M>»5)i1
STRV(NC0HP*S)>2
RETURN
END
-J
SUBROUTINE BUBDEUCNCOMP.TFEED.XO.YO.TM.TDEW.PVESS.EPSILOH.ICET)
C U S T UPDATE: 0 6 / 1 0 / 8 6
C THIS ROUTINE CALCUUTES TNE BUS8LE AND DEU POINTS GIVEN THE FEED
C PROPERTIES AND THE VESSEL TEMPERATURE
C IF KET'O THEN CALCULATE RUBBLE POINT
C « Y » 1 THEN CALCULAIE DEU POINT
C KEV'2 THEN CALCULATE BOTH
IHAX'20
SUH0«1.0-X(17)-X<S>
SUN1«1.0-TC1?)-T(5)
C IF STREAM IS ALL SULFUR, SET BUBBLE AND DEI/ POINTS TO NORMAL SUIFUR
C BOILING POINT
IF(SUHO.EQ.O) THEN
TBUS*717.7D0
TDEU*TBUS
RETURN
EWSiF
DO 2 M.HCOHP
X(l)*X(I)/SUHO
Z T(l)>y(l)/SUM1
X(1/)=0.000
Y(17)«O.OD0
X<S;*O.ODO
T(5)«0.000
TT{NP>TFEED»100.0DO
CAtL KV«L(0,NCCMP,TFEED,rVES!i,X.T.K>
CALL KVAUO.WOMP.TTEHP.PVESS.X.T.KI)
SUWO'O.OOO
SUHBl'O.OOO
SUHOPIO.OOO
SUWI'O.ODO
DO 100 ••I.NCOHP
SUMB0'SUnS0*XCI)*K(1>
SW81 <SUHBHX( I ] * K 1 ( I >
IFCK(I).EQ.O.ODO) GOTO 100
I F ( K U I ) . E a . O . O D O ) GOTO 100
SUMO0*SUHDO»r{I)/K(l>
SUMD1>SUH01*rCI)/K1(l>
100 CONTINUE
TBUBNEtM. WO/TBUBNEU
TOEWNElM .OOO/TOEUNEU
fF(KET.EQ.I) GOTO 15
!TER=0
5 TBUB=TBUBNEU
CALL KVAICO.NCOW.TMJI.PVESS.X.Y.K) ro
CALL KVALCI.NCCMP.THJa.PVESS.X.T.DKDT) O
o
StMO-O.ODO
SUUO.OOO
DO 10 I«1,«CIWP
SUHO'SUW»K(l)*X(l)
10 SUH1*SJH1»X(J)*0KDT(I>
TtUMEW*TMN-DLOG(SUM0)/(SlM1/SUW>
jF(YBU»KEW.IT.0.000) THEN
TBUBKEU.TBUB/2.000
EH01F
ITER'ITEK*1
IFMTER.Gr.IHAX) GOTO 13
IF«0ABS(TBUB-TBUSHEU)>.CT.EPSILOH> GOTO 3
13 M)ITE(6,10000) TMM
10000 FMMAT<X,'TBUB" \F6.2)
IFdCEY.EO.O) GOTO 25
IS ITE«»0
17 TOEU'TDEUNEU
CALL KVAKO.IICONP.TDEU.PVESS.X.V.K)
CALL KVAl(1,HC0HP,T0EU,PVESS,X,V,DKDT)
SUM0=0.0O0
SUH1-0.000
DO 20 1=1,NC0HP
IFOC(l).EO.O.OOO) GOTO 20
SUHO*SUHO«V(U/K(I)
SUM1*SUM1+(V( l l / K C I )**2>*0KDr< I )
20 CONTINUE
T0EWNEU>TDEU«OLOG(SUN0)/(5UNl/SUM0)
IFOOEUKEU.LT.0.000) THEN
TDEUNEIMDEU/2.000
ENOIF
ITER>ITEK*1
I F ( I T E R . G T . I I U X ) GOTO 22
IF((OABS(TDEU-T0EUNEU)I.Cr.EP5IlOK) GOTO 17
22 WR1TEC6,10100) TOEU
10100 FORHMCX^TDEUz >,F6.2>
25 RETURN
ENO
REAL'S FUNCTION SULFJft(T)
IMPLICIT REAL*S(A-H,0-2>
O
r-0
C SULFUR SATURATION FUNCT'ON
C
C LAST UPDATE: Ot/21/86
REAL'S NOLUT(20)
REA'.'S HOLR
COHHON/HOLEC/MOUn
DATA »1.II.A2.B2/-10.699,12.39,-5.64,7.12/
DATA IN/385.95/
SULFUR<VTS/(VTS«MOLR*<1 -UTS))
RETURN
END
to
O
<•••••*»•«**»•••»•••»••••««*•••••••*••*•*•*•••••••*••**••*••••*••••••••*•*#
C Iheraodynasic D i l i Subroutines- Motel
c t.....................-..........••.....•••...<.....••••.................
C
C UST UVOATE: (K/21/to
C
C 1.Catling paraneters for Heat end Kvel
C HEAHTTPE,PHASE,«COHP,T,P,XEXP«,HEXP»,HT>
C CVAl(TTP£,IICOMP,I,r,X,T,KXPt)
C where
C NCW'Nurfaer of Components
C T*Teeperature In degrees K
C P*Pressure In KPa
C 11«C2
C 12«C3
C 13'C4
C H«C5*
C 15=CH3SH
C 16»C2H5SH
C 17«PURE SOLID AW LIQUID SULFUR (PHASE SET I T TEMPERATURE)
C 18*PURE LIQUID AW GASEOUS WATER
C 1942
C 20=»OT USED
C REFERENCES:
C A. ENTHALPIES
C 1. VAPOR NEAT CAPACITIES - REID ET Al. 1977
C 2. HEATS OF VAPORIZATION • REID ET AL., 1977
C 3. HEATS OF SOLUTION IN TETRASLTME
C H2S,S02.C02,C3,C4 • SCIAMANNA, 1966
C 4. ENTHALPIES OF FORMATION • CRC, 1984
C 5. ENTHALPY OF SOLID A W LIQUID SULFUR • CRC, 1984
C 6. ENTHALPY OF TETRAGLYHE • GRANT CHEMICAL, 1982
C
C I . ( VALUES
C 1. SOLUBILITIES OF CASES IN TETRAGLTHE
C H2S,S02,C02,C3,C4 - SCIAHANNA, 1986
C OTHERS • ESTIMATED FROM SELEXOL VALUES - SVEWf, I960
C 2. SOLUBILITIES OF GASES IN UATER - UILHELM ET. Al., 1977
C 3. ANTOINE EQUATION CONSTANTS • REIO ET. AL., 1977
C 4. TETRAGLTKE VAPOR PRESSURE • GRANT CHEMICAL, 1982
C
C C. ENTHALPY DEPARTURE FUNCTION AND FUGACITT COEFFICIENT.
C 1. EQUATIONS AND SOLUTION TO REDLICH-KWONG EQS. OF STATE
C EDMIS7ER, 1968
C SMITH AND VAN HESS, 1973
NJ
O
2. CRITICAL CONSTANTS • SMITH AND VAN NESS, 1975
C BEGIN THERMODYNAMICS SUBROUTINES
SURRDUIINE HEAT(TVPE,IPKASE,MCONP,T,P,K,H,HT)
IMPLICIT REAL'S (A-H,0-Z>
INTEGERS TTPE.PHASE,NCOMP
INTEGERS IHOEKI(20>
R£AL*fl X(20).H(20),HSOLN(20),I(VAP(20>
DEAL'S A(20),l(2O),C(2O),D(20),E<20)
REAL«8 H0EP,PHI(20),SOLO<23>
CCMCN/THM/HOEP.PHI, SOLD, Z
M
C XT PRESENT HV«ATHT"2«CT"3«OT **E, Hl'NV-HSOU
C FOR COMPONENT 17, SUIFUII, SIMILAR EXPRESSIONS ARE USED FOR THE
C CALCULATION OF THE LIQUID OR SOLID ENTHALPY - PHASE DETERMINED IT
C TEMPERATURE.
C
OATA A<1),t(1>,C(T>,D(1>,E(1>,HSOLN(1),HVAP<1)/397.1«D0,
1 0.OO0,0.000,0.000,-40123.200,78244.5,78244.5/
DATA A(2>,IC2>,C(2>.D(2),E(2),HSOLN(2),HVAP(2)/32.223D0,
1 0.1930-2,1.0550-5.-3.594D-9,-2.418D5,40665.9,40665.9/
DATA A(3),l(3),C(3>.D(3),E(3),HSOLN(3),HVAP(3)/31.921DD,
1 0.1430-2,2.4310-5,-11.7580-9,-0.20205,18765.5,18660.6/
DATA A(4),i(4),CC4),0(4),E(*),HSOlN<4),KVAP<4)/23.83700,
I 6.695D-2,-4.9580-5,13.2720-9,-2.94905,35650.0,2*915.7/
DATA A<5>,B(5),C(5>,D(S),E(5),HSOLN(S>,KVAP(5)/U.98D0,
1 1.3050-2,0.000,0.000,-5622.900,0.000,0.000/
DATA A(6),e<4),C(6),0<6),E(6),HSOLN(6>,HVAP(6)/19.78300,
to
O
1 7.3390-2,-5.5980-5.17.1*30-9,-3.93505.11337.8,1715*.*/
N3
DATA A(7),l(7i,C<7),D(7>,E(7>,KS0lll(7),KVAP(7>/31.13000, O
OS
1 •1.3560-2,2.6780-5,-11.67*D-9,0.<IOO,5577.3.5577.3/
DATA A(8),1(8),C(8),D(B),E(8>,HS01N(S),KVW<B)/19.23900,
t 5.2090-2,1.197D-5.-11.3100-9,-.7*805,8179.7,8179.7/
OATA A(9),1(9),C(9),0C9),E(9),HS0tN(V;,HVAP(9)/27.12600,
1 .9270-2,-1.300-5,7.6*00-9,0.000,903.7,903.7/
OATA A(10>,8(10),C(10>,D(10),E<10>,HSOUt(10),IIVAP(10>/30.850D0,
1 -1.28*0-2,2.7870-5,-1Z.707D-9,-1.10605,60*1.7,60*1.7/
DATA A(11>,l(11).C(11),D(11>,E(113,NSOt.ll(11>,MVAP(11)/5.40600,
1 17.800D-2,-6.933D-$,8.7070-9,-.B*rDS,1*706.a, 1*706.8/
DATA »(12),l(12),C(12/„D(12>,EO2>.HSOt.ll(l2),HVAP(12)/-*.222D0,
1 30.6070-2,-15.81*0-5,32.1260-9,-1.03805,10300.0,18773.6/
OATA A(13>,l(13>,C(13>,D(13>,E(13>,HSOUI(13>.HVAP<13>/9.*81D0,
1 33.11H>-2,-11.076D-5.-2.820D-9,-1.261D5,H970.0,22392.8/
DATA A(1t),l(1*),C(14l.0CU),E(U),HSOLN(1«t,tlVAP(1«)/-3.&23D0.
1 48.70*0-2,-25.7870-5,53.01*0-9.-1.46*05,25773.*,25773.*/
DATA A(l5),i(15>,C(15),0(15),E(15»,MSOU(15>,KVAH15)/13.24000,
1 U.5570-2, •8.5*00-5,20.7370-9,-0.23005,2*560.1,2*560.1/
OATA A(16),a(16),C<T6>,D(16),E(16>.HSOUI(16),MVAP<16>/1*.9120(i,
1 23.*9*D-2,-13.5530-S,31.5990-9,-0.*6105,26777.6,26777.6/
DATA A(17),t(17),C<17},D<17),E(17),HSOUIC17>,HVAP(17>/O.0D0,
1 0.000,0.000,0.000,0.000,0.000,0.000/
OATA A(18).«(18),«185,0(18),E(18),HSOIN(18),«VAP(18)/32.223DO,
1 0.1930-2,1.0550-5, -3.59*0-9, -2.*1805,*0655.9,t0655.9/
DATA AO9),l(19),C(19),D(19>,EC19>,MS0lN(19>,HW,°{19)/26.087D0,
1 -0.000370-2,1.7*50-5. -10.6UD-9,0.000,6B19.9,6S19.9/
DATA A(20>,l(20),C<20),D(20),E(20>,IISOLN(20>,HVAP(20)/0.GO0,
I 0.000,0.000,0.000,0.000,0.0)0,0.000/
DATA TMElTS,ASl,KL,CSl,ASS,ISS,CS$/392.000,-56Z2.9DO,H.9BDO,
1 1.3050-2,-6972.900,22.5900,1.0(0-2/
PHASE'IPHASE
C CALCULATE DERIVATIVES
CO 10 l*1,KC0HP
10 HI )«A( I )«2*BC1>*T»J*C< 11«T**2**«0( I > M * M
GOTO 1600
C CALCULATE ENTHALPIES
C FIRST CALCULATE THE EXTHALPT DEPARTURE FUNCMnN
1000 CALL RKZ<P,T,X,IICGMP>
DO 20 M . N C O H P
20 H( I )=E( I )»A< I >*T»B< I )«T**2*C( I ) M " 3 * 0 < I >«T"4
C CORRECT PHASE TH>£ FOR PRESENCE OF SULFUR
IF(PHASE.GT.J) THEN
PHASE»PHASE-3
ENDIF
ELSE
C FOR VAPOR PHASE ADD DEPARTURE FUNCTION CORRECTION FOR PRESSURE
DO 35 M . N C O N P
35 «(!)»«(I)+HOEP
ENDIF
2000 RETURH
, ,
<QOWSlill'0Q-061611l'r6UB 0-00rL2 9l.-J.'n-m I
'£K2-5l/(8)nH'IOSH'(8)n0H'<B)inOSH'(8)0H'(9)3'<B)a'(g)» VIVO
-
/0OR-/ai8'00-l/0W0S'£ iiSS'0000S2l»'0O0V?-'0CW98S I
i
'0<EiS6-»t/(Z)nH1OSH (/)n0H'(Z)NTOSH'(i)0H'U)D'(/)a'U)» VIVO
/0aWSWil'(WZ£99£lVtfmVS66Z*9l-0-'*r£0k£ I
, - ,
0OS485 2Z/(9)n/nOSH'(9)n0H't9)IIKKH (»)0ll'(9)3'<9)C'(9)V VIVO
/oao'o'oa't'oao'o'oao'i'aao'o'oao'o I
- ,
'ooo o/(S)n»iosn {5)no»'(s)iixisH'(5)on'(s)D'(s)8'(sw viva
- , - - -
/0a66-lS0n'0a ZM*'0 0S95£'96 9lV6 S£-'S£ 20K I
'099Z'9i/(9)iMiosK'(9>noH'(*>iiiosH'(*)aH'(t>3'(«)a'(«)v viva
- - -
/oaB» /«9l'0O0 2WZS'S S9«l'W02»'90'92-'*9"e9/l I
'OMl-9l/(£)nHX)SH'<£)n0H'<£)»1OSH'(£)0H'(£)]'(£)a'(£)V VIVO
/oafo'M'i'i'&wi'K-i'a-n-'irviK i
'9£0£'«l/CZ)M1OSH'(Z>IWl'(Z>ll1OSN'(2>0H'(Z>3'tZ>a'(Z>V VIVO
/ooo'o'ooo'i'ooo'o'oao'i'oao'O I
'owo'ooo-o/(i)m-nsH'<i)noM'(i)iiiasK'(t)oii'(i)a'(t)i'(t>v viva
1K10N/3310N/W1HH03
Z'OTOS'lHd'djOH/KUHl/IIOHM
M U Z.KM3WI
<0Z>U11OH 8.1*311
(OZ)Kaa'<OZ)dK31IKd'(£2)aiOS'(OZ)lHJ'd30H 8.1V3I
(oj)«fnosn'(oe)non B . I H V
<
(0Z>N1O$K (0Z>aH'(0Z>3'(0Z>l'C0Z>V'C0ZU"(0Z)X'(0Z»l>lV3ll
(Z-0'H-V> 8.1V3H HSIIdHI
Wk'x'i'i'Moan'iMiiviiui smiroaans
0*3
DATA A(9),l(9),C(9>,H0(9),HS0(.N(9>,Hn((9),HSOlllU(9)/13.«333D0,
1 164.9000,3.1900,41250000,903.7,6867911.00,3026.5400/
1 14.368600,530.2200,-13.1500,193359.0,6041.7,5521138.00,8872.2800/
DATA A(11),I(11),C{11>,HO(11>,HSOUI(11),HOU(11),II$«.WI(11>/
1 15.6637,1511.42,-17.16,12944.6,14706.8,2747805.00,16261.100/
DATA A<12),l<12),C(12),N0(12),KSftN{12),H0WC12),«SOUIV<12>/
1 15.7260,1872.46,-25.16,2142.0,10300.0,3353518.00,19795.400/
1 15.6782,2154.90,-34.42, 723.0,14970.0,4086309.00,21618.200/
DATA A(14),t(14),C(14),H0(14>,HSOlli(14I,ll0U(14l,IISOlliU(14l/
1 15.8333,2477.07,-39.94,998.95,25773.4,8857999.00,18879.900/
DATA »(15),l(15),C(15),H0(15>,HSOl)((15),H0U(15),HSa.l(U(15)/
1 16.1909,23S8.38.-34.44,243.86,24560.1.10000000.00,24560.100/
DATA A(16>,l(16>,CC16),H0(16»,HSOUI[,16),l«M(16),HS0LMI(16)/
1 16.0077,2497.23,-41.77,121.93,26777.6.1000000.1)0,26777.600/
DATA A(17>,l(17),C(17),H0(17>,HSOlN(17),N0W(17t,IIS0lll<17)/
1 0.000,0.000,0.000,1.000,0.000,1.00,0.000/
DATA A(18),8(18),C(1B),H0(1B),NSOLN(18>,H0W(18>,IIS«.MI(18>/
1 18.3036,3816.44,-46.13,7.54,40665.9,1.000,0.000/
DATA A(19),i(19),C(19),H0(19>,HSOUI(19),N0U(19),HSOlMI(19>/
1 15.4075,734.55. -6.45,412500.0,6819.9,4132809.30,9686.9110/
DATA A(20>,>C20),C(20),H0(20>,HSOLK(20},H0UC20),IS5C;.IIU(20>/
1 0.000,0.000,0.000,1.000,0.000,1.00,0.60/
c
C CALCULATE K VALUES
£•****•********»#*«***•******•*••*•••**••••••••••••••••*•••••••••»•**•
C IF THE COMBINED WEIGHT FRACTION OF WATER AND SOLVENT EXCEEDS 0.5 THEN
C THE K VALUES ARE CALCULATED AS A WEICHTED AVERAGE OF THE HENRTS LAW
C VALUES FOR THE SELECTED COMPONENT IN H20 AND SOLVENT
C OTHERWISE CALCULATE K IT RA0UIT5 LAW
IF((WTSOL*WTH20>.GT.O.SDO) THEN
£•..»•••»»**•»»•***»••«•••*••»•»»»••••«*•»•••••••»•••••••••
C RECALCULATE WATER K IT RACUITS LAW IF WEIGHT FRACTION WATER > O.t
1F(UTHM.CT.0.100) THEN
PS*A<2M(2)/<TT«C<2»
K(2)*0.1333*PS/P
KC1B)«K<2>
ELSE
£....•»••**•*.••..........»............».........
C CALCULATE ALL COMPONENTS I T RAOULTS LAW
200 DO 210 M.NCOHP
PS=»(I)B(1)/(TT«C(D)
PS=OEXP(PS>
ENDIF
210 K(;)-0.1J33'PS/P
ENDIF
c ...................«........t.
RETURN
C CALCULATE DERIVATIVES
to
C NOTE THAT FOR THE DERIVATIVES PHI IS ASSUMED TO IE INDEPENDENT OF T
0n>T(18)-i)KDT(2)
ELSE
C CONVERT P TO MH HG
1200 P=7.50«P
DO 1210 M . N C O H P
ALPHA=B(I)/«P*(TT»C(I»**2)
PS=A(1>-B<I)/(TT*C(I»
IFCPS.LT.-10.00) THEN
DKDKD'I.00-10
ELSE
DKDT(l)'ALPHA*OEKP(PS>
ENOIF
1210 CONTIHUE
C CONVERT PRESSURE SACK TO KPA
P-P/7.50
ENDIF
£••••••••••••**••••••«*•*•*•»*•*•***•••»*•••••••••••«•••••
C CALCULATE DERIVATIVE FOR SOLVENT (TETRAGITNE)
<
1300 DICDT(1)-C1.0DD/P)*<l;.<8/TT> DEXP<1S.«8*DlOG(TT>-9t.M>
CALL R « ( P , n « I . O D 0 , T , N C O M P )
RETURN
END
SUBROUTINE RKZ<P,T,V,NCOHP)
C
C LAST UPMTE: 04/21/86
REAL'S »<20>,PHI(2O),HDEP,SOlO(23>
REAL*t ll<20),A1J(20,20),SU1[20>
REAL'S TC<20),VC(20>,ZC(20),PC<20)
COHMON/IHRH./HDEP,PHI ,SOL0,Z
DATA TC(1>,VC;1),ZC(1),PC<1)/705.8,0.0,0.0,0.0/
DATA TC<2>.VC(2),ZC<2),PC<2)/647.1,56.0,.230,217.6/
DATA TC(3>,»CC3),ZC(3),PC(3>/373.2,98.5,.284,88.2/
DATA TC(4),VC(4).ZC(4:>,PC<4)/430.8,122.0,.268,77.8/
DATA TC<5),VC(5),ZC<5),PC<5>/1314.0,0.0,0.0,0.0/
DATA TC(6>.VC(6),ZC<6>,PC<6>/304.2,94.0,.274,7?.B/
DATA TC<7),VC(7),ZC(7),PC<7>/126.2,89.5,.290,33.5/
DATA TC(8),WC(8),ZC(8),PC(8)/190.6,99.0, .288,45.4/
DATA TC(9),VC(9).ZC(9),PC(9)/3J.2,65.0,0.305,12.8/
DATA TC(10),VC(10),ZC<10),PC(10>/132.9,93.1,.295,J4.5/
DATA TC(11),VC(11),ZC(ir.,PC(11)/305.4,148.0,.285,48.2/
DATA TC(12),VC(12),ZC(12),PCC12)/369.8,203.0,.281,41.9/
DATA TC(13),VC(13),ZC(13),PC(1J)/425.2,255.0,.274,37.5/
DATA TC(14),VC(H),ZC(H>,PC(14)/469.6,304.0,.262,35.0/
DATA TC(15),VC(15),ZC(15),PC(15)/470.0,145.0,.268,71.4/
DATA TC{16),VC{16),ZC<16),PC{16)/499.0,207.0, .274,54.2/
DATA TC(17),VC(17),ZC(17),PC(17)/1314.0,0.0,0.0,0.0/
DATA TC(18),VC(1B).ZC(18),PCC18)/647.1,0.0,0.0,0.0/
DATA TC(19),VCC19>,ZC<19>,PCC19)/15'*.6,73.4,.288,49.8/
DATA TC(20>,VC(2O>,ZC(20),PC(20)/0.0,0.0,0.0,0.0/
C NOTE THAT THE CRITICAL TEMPS HAVE FOR PURE H20, PURE SULFUR AND
C PURE SOLVENT HAVE K E N INCLUDED TO PERMIT CALCULATION OF THE
C MIXTURE C H I T I U l TEMP. HOWEVER, THESE COMPONENTS ARE NOT INCLUDED M
ro
C IN THE CALC OF THE FUGACITY COEFFS. O
DATA ATHIHD/0.H3MBBMI3335/
DATA TU027,TW03/.074074074074,.6666M4M66*7/
DATA A2nH/.037037037037000/
DATA R/S2.05D0/
DATA RJO/8.314D0/
DATA EPSILON/1.0D-4/
DATA PI/3.K159265«00/
C CHECK TO SEE IF UE HAVE ALREADY DONE THE CALCULATION FOR THESE CONDITIONS
DO 2 I'l.NCONP
IF(SOLD(l).NE.r(l» GOTO 4
2 CONTINUE
IF(S0LD(21).NE.T) GOTO 4
IF(SOLD(22).NE.P> GOTO 4
C INPUT PARAMETERS MATCH. LEAVE VALUES UNCHANGED
GOTO 400
DO S M.NCOHP
•KD'0.000
SUN(|)«O.WO
DO 5 J'l.NCOHP
5 «IJ<l,J)«0.000
(.=0.000
B=O.OO0
DO 10 I'l.KCOHP
1F(PC(I).EQ.0.000) GOTO 10
a
• ICI)*0.O867D0 lt*TC(U/PC(l)
•<S»T(l)*il(ll
DO 10 J'1,NCOW>
IF[PC(J).Ea.0.000) GOTO 10
M
VCIJ'{(VC(I)**ATHIIK»VC(j)»ATIIl«O>/2.0) 3.0
TCIJ«OSMT(IC(l)«TC(J))
ZCtJ>(ZCCI>«ZC(J»/2.0
l>CIJ>2Cli*R*TCIJ/VCIJ
AIJ<I,J)>(.«7800"A*A«TCIJ*«2.5)/PCIJ
ATEMP<r(J)*AIJ(l,J)
A=A»T(I)*ATENP
SUH(I)'SUN(I)«ATENP
10 CONTINUE
C MCE SUIE THAT SOMETHING USEFUL WAS III THE CAS PHASE
C IF NOT THEN SET All THE PHI TO 1.0 AM) EXIT ro
K>
Is?
IFUA.ECI.0.000).AHO.d.EO.0.000)) THEN
00 25 l«1,HCOMP
25 PHI(I)>1.000
GOTO ISO
ENOIF
, ,
A2t»V<i * T"«1.5)
•P«Cl*Pl)/(t«T>
5O«IP«(A2IIP-1.00)
S«—A2I*<«P"2>
SM'SQ-ATHMD
SH-(S0'ATHH»»5«-TU027)
SNZ*SN*SH/4.D0
SHJ«SH«SI(*SH/27.00
DIS'SH2«SN3
IF(OIS) 5000,6000,7000
5000 SGN<-1.0D0*DSIGNO.0D0,SN)
THETA<0ACOS(SGN'0SOIIT(-SN2/SMl)>
X1<2.D0*DSMT(-SH/3.00)«DCOS(TMETA/3.O0)
<
X2'2.D0*DS()llT(-SH/3.D0> DCOS(T!IEW3.D0»2.DO*PI/3.00)
< a
X3>2.O0*t)SallT(-SH/3.O0> OCOS(THETAy3.D0H.D0 PI/3.0O)
ZiOMAX1(X1,X2,X31«ATHIM>
GOTO 8000
6000 Z-1.00
UKI16(6,99000)
99000 FORNAT(X,>RKZ IS HOSED111111II •)
GOTO 8000
7000 BTEHP'-SH/2.D0*DS0RT(DIS)
BN=DSIGN(OABS(BTEHP)"ATHlltO.ITEM>)
BTEKP>-SH/2.00-DSQRT(OIS)
BN*OSlGN(DABS(BTE)IP>**ATHIItD,BTEHf>)
Z*BH«BN*ATHIRD
H«{i*PL>/«***T)
T1-(Z-1.D0)/i
T2»C10GCZ-Z*H>
T3-*/C«*R*T**1-5>
T4>2.000/A
T54LOG(1.0D0»H)
00 100 M.NCOHP
100 CONTINUE
400 RETURN
END
to
to
SUBROUTINE lANO(J)
IMPLICIT REAL*8 ( A H , 0 - 2 )
DIMENSION A<1B,1B),l<ia,1B),C(18,2S),0<1B,37),EC1S, 19,23)
DIMENSION G(18),X(ia,18),Y<1B,18>
REAL'S CAR(SOO)
COMMON /IHD/ A,I,C,D,6,X,T,N,NJ
COMHON/GARIAGE/GAR
COMHON/EEE/E
1
101 FORMATC DETERN>0 AT J " ' , 14)
NP1*N>1
IF<J-2> 1,6,8
1 DO 2 M , N
a
D(l,2 N+1>'G(l)
DO 2 L>1,N
IPN*L»N
2 OU,LPN)«K(l,L>
CALL HATINV<N,2'M»1,0ETERM,I,0)
IF (DETERH) 4,3,4
3 URITE(6,101) 4
4 DO 5 K"1,N
>
E(IC,NP1,1)'D(K,2 N»1)
DO S L-1.N
E(K,l,1)«-D(IC,l>
LPN>l»N
5 X(K,U>-B<K,LPN)
RETURN
6 DO 7 I ' l . N
DO 7 K«1,N
DO 7 1>1,N
7 D(l,K)*0(l,K)«A(l,L)*X(L,IC)
B IF (J-»J) 11,9,9
9 DO 10 l«1,H
DO 10 L=1,H
G(l)*G(l)-Y(l,l.>*E(l,m>1,J-2>
DO 10 H»1,»
10 A(l,L)>ACI,Ll»TCI,M*ECH,l,J-2>
11 DO 12 I'l.N
D(I.NP1)*-GCI>
DO 12 l»1,N
Dtl,NP1)>0(l,IIP1)**<l.l}*E<L.IIP1 J-1>
>
00 12 K'l.tt
12 IC1,K)il(i,K>»«(l,L)*E(l,IC,J-1)
CALL KATINV Ot.NPl.DETEItN.I.D)
IF (DETERN) H . 1 3 . H
13 URITE(6,10t) J
14 DO IS K'l.N
DO IS N*1,«P1
15 E(K,K,J)'-D(K,M>
IF (J-NJ) 20,16,16
16 DO IT K'l.N
17 C(K,J]°E(IC,NP1,J>
DO 18 JJ'2,NJ
H=kJJJ*1
DO IB K«1,M
C(K,H)'E(MP1,H>
DO 18 l»1,»
16 CCK,H>«C(K,H>*E(K,l,H)*CU,H»1>
DO 19 1*1,N
DO 19 K»1,»
19 C(t,1)»C(lt,1)«(K,L)*C(L,3)
20 KETUBN
END
to
Ln
SUBROUTINE HATINV(N,M,OETEIW,l,D> to
to
IMPLICIT RE«l*S(«-H,OZ) a*
OIMEIISION ID(18),1(18,18),0(18,37)
DETEKN'I.DO
DO 1 1-1,N
1 ID(I)*O.ODO
DO 18 NN'I.N
tJUX*Q.DDO
00 6 I«1,N
IF t l D ( D ) 2,2,6
2 DO 5 J»1,»
IF ( I C ( J » 3,3,5
3 IF (DABS(i(l,J»-8MJU() 5,5,4
* 8MAX*0AGS(B(I,J>)
IROW.I
JCOi»J
5 CONTINUE
6 CONTINUE
IF (BKMC) 7,7,8
7 OEIEHH=0.000
RETURN
a IO(JCOL)*I
IF (JCOl-IROU) 9,12,9
9 DO 10 J»1,N
S»VE=8<IR0U,J>
l(IROU,J)=B(JC0L,J)
10 l(JCOt,J)=S»VE
DO 11 t<1,N
SAVE=D(1R0U,K)
D(IR0U,C)4(JCOL,IC)
11 D(JCOL,K)*SAVE
12 F<1.D0/B(JCOL,JCOl>
DO 13 J=1,«
13 B(JC0L,J)=B(JCOL,J)*F
DO K K=1,H
H DCJC0L,K)=D(JCOl,l!)«F
DO IB I-1.N
IF (l-JCOL) 1S.t8.t5
15 F»l(l,JC0O
DO 16 J»1,«
16 •(l,J)«I(I,J)f*l(JKH.,J)
DO 17 K'l.H
17 D(I,K)4(I.K)-F*D(JC0L,K)
It CONTINUE
KETURN
END
W
-J
228
E.LSTR*80
CLEAR
OUTPUT "ONE MOMENT P L E A S E . . . '
I LOW CONTEXT FILE FO* UNIT OPERATION INPUT f f t I S
LOAD "OFORH.ICF"
CLEAR
to
W
UP
230
• • 1. _ _ « • •
R R IM X! M 8 * u u u x x x u o O u u u u u u u u
5 | £ 5 £a Cw iwj ,J p t t K a C S p & i i p C v J s S u p C
I UJ t- p
PUT
PUT
£ 3 £ 3 5 £ 3 n o ton n n tt <o H« «• u g a:
N IM N N IV
N N N N N N N N •»" «T tM* r>i K»* «* K? -4r* V •* »n" m" in"
m-in" •© -*? -«* •«" K* rC
«« f^
K s e « n » » »
•t < < <
< < < < <<
AT 17,28 GET »
AT 18,2 PUT "CH3SH"
AT 1 8 , 2 8 M l CH3SH
AT 18,28 GET CH3SH
AT 1 9 , 2 PUT "C2H55H"
AT 19,28 PUT C2H5SH
AT 19,28 GET C2HSSH
AT 2 0 , 2 PUT "SOLID AND LIQUID SULFUR"
AT 2 0 , 2 8 PUT SULF
AT 2 0 , 2 8 GET SULF
AT 2 1 , 2 M l "PURE UATER"
AT 2 1 , 2 8 M T HATER
AT 2 1 , 2 8 GET HATER
AT 2 2 , 2 PUT " 0 2 "
AT 2 2 , 2 8 PUT 0 2
AT 2 2 , 2 8 GET 0 2
AT 2 3 , 2 MT "FLOU>"
AT 2 3 , 7 M T FLOW
AT 2 3 , 7 GET FlOU
AT 2 3 , 2 0 MT «TEMP»"
AT 2 3 , 2 6 M T TEHP
AT 2 3 , 2 6 GET TEMP
AT 2 3 , 3 * M T "PRESSURE*"
AT 2 3 , 4 3 MT PRESS
AT 2 3 , 4 3 GET PRESS
AT 2 3 , 5 6 M T "PHASE""
AT 23,62 M T PHASE
AT 23,62 GET PHASE
to
AT 6 , 1 PUT • 5 « » E 1 0 ! U « "
AT 6.50 PUT • 6"C0NDENSE*"
AT 7,1 PUT " 7-MIXEH"
AT 7,50 PUT • "^SPLITTER"
AT 8 , 1 PUT " 9 * P I M "
11
AT 8,50 PUT •lO'DEACTOR
AT 9 , 1 PUT "11"SULFU» SATURATOA"
AT 9 , 5 0 PUT *12»SULFU» SETTLE**
AT 10,1 PUT "13'SUIFU* WASHER*
AT 10,50 PUT *U*CITER/DECANTER*
AT 11,1 PUT *15"FUIIUCE"
AT 11,50 PUT *16>COHP*ESSOR*
AT 12,1 PUT "I7.SUl.Fl* CENTRIFUGE"
AT 12,50 PUT •18'PADTIAL CONDENSER*
AT 13,1 PUT "19»HEATER"
AT 13,50 PUT -20*STORAGE UNIT"
AT H , l PUT * 2 U C * T $ T A l l l Z E R *
AT K . 5 0 PUT *22*SULFUR SPLITTER*
AT 15,1 PUT •^•MAKE-UP"
AT 15,50 PUT "24'TENPEMTUtE SET*
AT 16,1 PUT -25-HrDROCMBON SPLITTER"
AT 2 3 , 1 PUT "OPERATION CODE SELECTION'"
AT 23,40 PUT OPCODE
AT 23,40 GET OPCODE
CitOICE'O
WHILE CHOICEoll DO
CLEAR
FINISH ALL
«ERR»O=0
1
AT 1.1 OUTPUT "DATABASE CREATION PROGRAM FOR BERKELEY SULFUR PROCESS
1
AT 3.1 OUTPUT *<OU CAN:
AT 4,5 OUTPUT • 1) CREATE A NEW OPCODE MATRIX*
AT 5,5 OUTPUT • 2) ENTER DATA INTO THE OPCODE MATRIX*
AT 4,5 OUTPUT • 3) INSERT A NEU UNIT INTO AN EXISTING OPCODE MATRIX"
AT 7,5 OUTPUT • «> DELETE A UNIT FROM AN EXISTING OPCODE MATRIX"
AT 8.5 OUTPUT « 5) PRINT THE OPERATIONS SUMMARY
AT 10,5 OUTPUT • 6) CREATE A NEU STREAMS MATRIX*
AT 11.5 OUTPUT • 7) ENTER DATA INTO THE STREAMS MATRIX*
AT 12,5 OUTPUT * t) ADD A STREAM TO THE STREAKS MATRIX*
AT 14,5 OUTPUT • 9) NORMAL EXIT -• CREATE STREAMIO AND STREAMS FILES*
AT 16.5 OUTPUT *10) READ OLD STREAMIO AND STREAMS FILES INTO TAILES*
AT 18,5 OUTPUT "11> QUIT WITHOUT CREATING .DAT FILES*
AT 20.5 INPUT CHOICE USING «uu* WITH "TOUR SELECTION? "
CLEAR
TEST CHOICE
CASE 1:
SIHO=0
I SETUP NEU OPCODE MATRIX
CLEAR
USE STREANIO
ATTACH 1 TO STREANIO
I EMPTT THE DATABASE OF THE OLD VALUES
HARK ALL
COMPRESS STREAMIO
CLEAR
AT 8,1 INPUT STNO USING "**• WITH 'NUKiER OF OPERATIONS • "
CLEAR
to
Id
w
UCNTKICI!*!
STWhSTNO-1
ENDVHUE
USE 2 :
I ENTER DATA INTO EXISTING STREANIO TAILE
CLEAR
USE STREANIO
N0«E»"T"
REC'O
OPC»0
WHILE H0RE<»r> DO
INPUT REC USING "dd.dd" UITN -ENTER DESIRED UNIT NUMER •
OBTAIN FOR UNIT'REC
IF(*F0UM» THEN
CLEAR
PUTFORN OPNENU
TALLY OPMENU
CETFORN OPMENU
OPCOPCOOE
CLEAR
AT 1,40 OUTPUT "UNIT"
AT 1,65 OUTPUT UNIT
PERFORM UNITS
CLEAR
ELSE
OUTPUT "ERRORI UNIT NOT FOUND"
OUTPUT "STRIKE M Y til TO CONTINUE*
WAIT
CLEAN
ENOIF
OBTAIN LAST
IMIT*99
CLEAN
WEAK
CASE J:
I INSERT A NEW UNIT INTO EXISTING STREANIO MILE
UNO*0
REC=0
OPC=0
CLEAR
USE STREAMIO
INPUT UNO USING "dd.(W WITH 'NEW UNIT NUMBER-'
OBTAIN LAST
ATTACH 1 TO STREAMIO
I RESET END UNIT F U G TO NEW END OF FILE
UNIT<99
I RACK UP ONE RECORD TO NEW LAST UNIT
OBTAIN PRIM
UNIMMO
CLEAR
I PROMPT USER FOR DESIRED OPERATION
PUTFORH OPNENU
T A U T OPHENU
GETFORH OPMENU
I SET UP THE UNIT
CLEAR
UNlT=tWO
OPC*0PC0DE
AT 1,60 OUTPUT "UNIT"
AT 1,65 OUTPUT UNIT
PERFORM UNITS
CLEAR
CASE 4:
I DELETE A UNIT FROM STREAMIO
UNO-0
CLEAR
USE STREANIO
INPUT UNO USINC "dd.dd" UITH "ENTER >1*8ER OF UNIT TO REMOVE •
OBTAIN FOR U N I T * * * )
IF(KRRN0o36) THEN
REC'CURREC(STREANIO)
NARK RANGE REC.REC
COMPRESS STREANIO
CLEAR
BREAK
ELSE
OUTPUT "THAT UNIT DOES HOT EXIST!"
OUTPUT "NIT RETURN TO CONTINUE"
WIT
BREAK
ENDIF
BREAK
CASE 5:
I SEND THE ENTIRE OPERATIONS MATRIX TO THE PRINTER
CLEAR
OUTPUT "HIT RETURN WHEN THE PRINTER IS READT"
UAIT
PERFORM OPRINT
BREAK
CASE 6 :
SINO=0
i SETUP NEU STREAM MATRIX
CLEAR
USE STREAMS
ATTACH I TO STREAMS
I EMPTY THE DATABASE OF THE OLD VALUES
MARK ALL
COMPRESS STREAMS
CLEAR
AT 8,1 INPUT STNO USING " < W WITH •NUNKR » STREAMS • •
CLEAR
I APPEND 1 BLANK RECORD TO THE DATABASE AND SET END Of DATA DELIMITER
CSTAIN LAST
ATTACH 1 TO STREAMS
OBTAIN LAST
FLOW" 1.0
CASE 7:
I ENTER DATA INTO EXISTING STREAMS TABLE
CLEAR
USE STREAMS
M0«E="Y"
REC=0
to
•J
UHUE MORE»»Y" DO
INPUT (EC USIN6 ' d d d " U I I H "ENTER DESIRED STREAM NUMBER
OSTAIN (EC
I F « « E ( ( H O < > 5 6 ) AND <FL0Uo-1)> THEN
MOUSE RANGE REC.Rfl WITH STRFORN
CLEAR
ELSE
OUTPUT 'THAT STREAM DOES NOT EXIJTI"
OUTPUT "STRIKE ANT KEY TO CONTINUE*
WAIT
ENOIF
CLEAR
INPUT MORE USING "u" UITH "MORE STREAMS (T/Nt? •
ENDWHILE
CLEAR
•REAK
CASE 8:
I ADD A STREAM TO THE EM) OF THE STREAMS TABLE
CLEAR
USE STREAMS
CASE 9:
I AIL DONE
I M I T E NEU STREAMIO AND STREAMS .DAT FILES
I CLOSE UP SHOP
CHOICE'11
CLEM
OUTPUT "NEW STREANIO A W STREAMS FILES ARE AtOUT TO IE CHEATED'
OUTPUT 'THIS U R L ERASE THE OLD FILES.*
INPUT OK USING "u" WITH "IS THIS UUAT YOU WANT? •
FINISH ALL
to
I UARN USER OF ZERO OPCODES IMPEDED IT STREAMIO
RECCNT'CURREC(STREAMO) -1 N3
•P-
OBTAIN 0 F > M STREAMIO O
REC'1
WHILE «ECCNT>() DO
OtTAiN REC FROM STREAHIO
IF OPCODES THEN
OUTPUT "UARNINGI ZERO OPCODE ENCOUNTERED FOR UNIT ".UNIT," IN RECORD ",REC
ENOIF
REC'REC«1
RECOU«REC«T-1
EWWHILE
CH3SH,C2H5SH,SUlF,UATER,02,UNICN,fLOV,TEHP,PRESS,ENTH,PHASE FRONV
STREAMS TO "STREAMS.DAT" ALL
FINISH ALL
WEAK
CASE 10:
I HEAD EXITING DATA FILES FOX STREAHIO AND STREAMS RACK INTO THE
I TAILES
«•" •
FRAME*" -
CLEAR
OUTPUT niARNINGI THIS OPERATION UIIL OVERWRITE EXISTING DATA*
OUTPUT "IN THE STREAMS AND STREAM 10 DATA TAILE*
INPUT OK USING "u" WITH »IS THIS WHAT YOU WANT? •
IF OK»>"T" THEN
•REM
EHOIF
USE STREAHIO
NARK ALL
COHPRESS STREAHIO
FINISH ALL
USE STREAKS
MARK ALL
COHPRESS STREAMS
FIHtSH ALL
M
242
I I
a i
6 .- B •
SB S3 * §
I OFORN.IPF
I SUUOUTINE TO DEFINE THE FORMS FOR OATA ENTRY OF THE DESIRED
I UNIT OPERATION IN STREAHIO.ITI
I RUN TNIS PROGRAM TO CREATE TNE CONTEXT FILE (OFORN.ICF) FOR USE WITH
I THE DATA ENTRY PROGRAM IERKIN.IFP
I LAST UPDATE: 04/16/86
I ABSORIER/STRIPPER/DISTILLATION
FORM UFORN1 AT 2,20 PUT •ABS0R1ER/STRIPFER DISTILLATION UNIT'
AT 4,1 PUT "NUMBER OF STAGES*'
AT 4,50 PUT PARAM1 using •dd*
AT 4,50 GET PARANt using «dd»
AT 5,1 PUT •PRESSURE ( « * ) • •
AT 5,50 PUT PARAM2 using "ddddd.dd"
AT 5,50 GET PARAM2 using •ddddd.dd'
AT 6,1 PUT 'VOLUME OF IIOUIO ON A TRAY ( « ) - -
AT 6,50 PUT PARAN3 using •dd.dd'
AT 6,50 GET PARAH3 using "dd.dd"
AT 7,( PUT "LIQUID MOLAR DENSITY O M O L / W ) " "
AT 7,50 PUT PHRAM4 using "dd.dd"
AT 7,50 GET PARAM4 using "dd.dd"
AT 8,1 PUT "SECOKD ORDER RATE CONSTANT'"
AT 8,50 PUT PARAMS using "dddd.dd*
AT 8,50 GET PASAM5 using "dddd.dd"
AT 9,1 PU; "Freol STREAM NUMBER-"
AT 9,21 PUT PARAH6 using "dd"
AT 9,21 GET PARAM6 using "dd"
AT 9,40 PUT "FEE01 STAGE NUMBER'"
AT 9,59 PUT PARAH7 using "dd"
AT 9,59 GET PARAM7 using "dd"
AT 10,1 PUT "FEED2 STREAM NUMBER"'
AT '0,21 PUT PARAMB using "dd"
AT 10,21 GET PARAN8 using "dd"
AT 10,40 PUT "FEED2 STAGE NUMBER"'
AT 10,59 PUT PARAM9 using "dd"
AT 10,59 GET PARAN9 using "dd"
£k
AT 11,1 PUT "FEED3 STREAM M I N E R ' *
AT 11,21 PUT PAIUM10 w i n g * d d "
AT 11,21 GET PARJW10 w i n g * d d " 4>
AT 11,40 PUT "FEEDJ STAGE MMaER**
AT 11,59 PUT PARAH11 Uling " d d "
AT 1 1 , 5 7 GET PARAH11 Utlng "dd"
AT 1 2 , 1 PUT "FEED* STREAM MRMER**
AT 12,21 PUT PARAN12 utlng *dd*
AT 12,21 GET PARAX12 wing *dd*
AT 12.*0 PUT -FEED* STAGE M M E R * *
AT 12,59 PUT PARAH13 using "dd*
AT 12,59 GET PARAN13 utlng «dd*
AT 13,1 PUT 'FEEDS STREAM NUMBER**
AT 11,21 PUT PARAM14 utlng "dd"
AT 13,21 GET PARAN14 utlng "dd"
AT 13,40 PUT "FEEDS STAGE MM8ER**
AT 13,59 PUT PARAH15 using "dd"
AT 13,59 GET PARAN1S utlng "dd"
AT 15,1 PUT "EXIT VAPOR STREAK R M E R » *
AT 15,29 PUT PMAN16 Utlng add*
AT 15,29 GET PARAM16 Utlng "dd"
AT 15,43 PUT "EXIT LIQUID STIIEAN NUMER**
AT 15,70 PUT PARAM17 using "dd"
AT 15,70 GET PARAN17 Uling "dd"
AT 16,1 PUT "SEBOILER HEAT INPUT (KJ/S)**
AT 16,29 PUT PARAN1S uting "ddddd.dd"
AT 16,29 GET PAHAN1S using •ddddd.dd*
AT 16,43 PUT *CON0ENSER TEMPERATURE « ) * "
AT 16,70 PUT PARAM23 utlng "dddd.dd"
AT 16,70 GET PARAH23 Uling "dddd.dd"
AT 17,1 PUT "FRACTION OF CONDENSER LIQUID TO SIDE DRAW"*
AT 17,50 PUT PARAH24 Uting "d.ddd"
AT 17,50 GET PARAN24 Uling "d.ddd"
AT 18,1 PUT "CONDENSER EXIT LIQUID STREAM NUMBER*"
AT 18,50 PUT PARAM25 utlng *dd"
AT 18,50 GET PARAH25 utlng *dd"
AT 19,1 PUT "FIRST HEATER/INTERCOOLER ST»GE="
AT 19,33 PUT PARAH19 w i n g "dd"
AT 19,33 GET PARAM19 w i n g *dd»
AT 19,40 PUT "HEAT LOAD (KJ/S)**
AT 19,60 PUT PAKAN20 utlng "ddddd.dd"
AT 19,60 GET PARAH20 Utlng *ddddd.od"
AT 20,1 PUT 'SECOND HEATER/INTERCOOIER STAGE"
AT 20,33 PUT PARAX21 utlng "dd"
AT 20,33 GET PARAN21 utlng "dd-
AT 20,40 PUT 'HEAT LOAD K J / S ) * *
AT 20,60 PUT PARAN22 utlng -ddddd.dd"
AT 20,60 GET PAUM22 utlng «ddddd.dd*
AT 21,1 PUT "PROFILE FLAG."
AT 21,13 PUT PARAH26 Utlng "d»
AT 21,13 GET PARAH26 utlng "d"
AT 22,1 PUT "C-0 GENERATE REM INITIAL GUESSES)"
AT 23,1 PUT "C"1 USE PROFILE PRO* PREVIOUS CALCULATION)"
I FlOU SPllTTCR
FORM UF0RN2 AT 2,20 PUT "FlOU SPLITTER*
AT 4,1 PUT 'INLET STREAN NUH8ER**
AT 4,40 PUT PARAN1 using "dd"
AT 4,40 GET PARAH1 using "dd"
AT 5,1 PUT "OUTLET STREAN 1 NUMBER*"
AT 3,40 PUT PARAM2 utlng "dd"
AT 3,40 GET PARAN2 using "dd"
AT 6,1 PUT "OUTLET STREAN 2 NUMBER""
AT 6,40 PUT PARAN3 using "dd"
AT 6,40 GET PARAN3 using "dd"
AT 7,1 PUT "FLOV TO STREAN 1«*
AT 7,40 PUT PARAN4 using "dddd.dddd"
AT 7,40 GET PARAN4 using "dddd.dddd"
I ADIABATIC FLASH
FOAM UFOttU AT 2,20 MIT •ADIAIATIC FLASH"
AT 4,1 PUT "INLET STREAM HUHSER'-
AT 4,49 HIT PARANI lain) "dj" a*
AT 4,40 GET PARAMI wing "dd"
AT S.I PUT 'FLASH PRESSURE""
AT 5.40 N T PARAH2 wing "ddddd.dd"
AT 5.40 GET PARAH2 utlng "ddddd.dd"
AT 6,1 PUT "OUTLET LIQUID STREAM M M E A » «
AT 6,40 PUT PARAM3 Wing "dd"
AT 6,40 GET FARAN3 wing "dd"
AT 7,1 PUT "OUTLET VAPOR STREW) MJMKR""
AT 7.40 PUT PARAM4 wing "dd"
AT 7,40 GET PAAAN4 wing "dd"
I HEAT EXCHANGE*
FORM UFOAH4 AT 2,20 PUT 'HEAT EXCHANGER*
AT 4,1 PUT "INLET STREAM 1 (HOT) NUMER*'
AT 4,40 PUT PARAN1 wing "dd"
AT 4,40 GET PARAN1 wing "dd»
AT 5,1 PUT "INLET STREAM 2 <COL0) M M E R - "
AT 5,40 PUT PARAMZ wing "dd"
AT 5.40 GET PARAH2 wing *dd»
AT 6,1 PUT "OUTLET STREAM 1 M M K R » "
AT 6,40 PUT PARAM5 wing "dd"
AT 6.40 GET PARAMS wing "dd"
AT 7,1 PUT "OUTLET STREAM 2 NUMIEA""
AT 7,40 PUT PARAN4 wing «dd"
AT 7,40 GET PARAM4 wing "dd"
AT 8,1 PUT "UA (KJ/S-K) ••
AT 8 , 4 0 PUT PARAHS w i n g "ddddd.dd"
AT 8 , 4 0 GET PARAMS u t l n g "ddddd.dd"
I REBOILER
FORM UFORM5 AT 2,20 PUT "REI011ER"
AT 4.1 rUT "INLET STREAM MUMKR"*
AT 4.40 W T PARAM1 using » 4 f
AT 4,40 GET PARAH1 using «dd"
AT 5,1 PUT "OUTLET LIQUID STREAM KUHIER""
AT 5,40 PUT PARAN2 using " 4 f
AT 5,40 CET PARAM2 w i n g •<&•
AT 6,1 PUT "CUTLET VAPOR STREAM W i E t - *
AT 6,40 PUT PARAKJ w i n g "4J"
AT 6,40 GET FARAH3 using •dd"
AT 7.1 PUT "PRESSURE"*
AT 7,40 PUT PARAM4 using •ddddd.dd"
AT 7,40 GET PARAH4 using "ddddd.dd"
AT 8,1 PUT "TEMPERATURE""
AT 8,40 PUT PARAH5 using "dddd.dd"
AT 8,40 CET PARAHS using "dddd.dd"
EHOFORH
I CONOENSER
FORK UFCRM6 AT 2,20 PUT "CONOENSER"
AT 4,1 PUT 'INLET STREAM I
AT 4,40 PUT PAMH1 using "dd"
AT 4,40 GET PARAM1 using "dd"
AT 5,1 PUT "OUTLET STREAM WUHURa"
AT 5,40 PUT PARAH2 using "dd"
AT 5,40 GET PARAH2 using "dd"
AT 6,1 PUT -PRESSURE""
AT 6,40 PUT PARAX3 using "ddddd.dd"
AT 6,40 GET PARAH3 using "ddddd.dd"
ENOFORM
I MIXER
FORN UF0RH7 AT 2,20 PUT "MIXER"
AT 4,1 PUT "INLET STREAM 1 NUMBER""
AT 4,40 PUT PARAM1 using "dd"
~4
AT 4 , 4 0 GET PARAM1 w i n g "dtp
AT 5 , 1 PUT "INLET STREAM 2 MMBER*-
AT 5 , 4 0 PUT FARAK2 W i n g M c f
AT 5 . 4 0 GET PARAH2 w i n g "dd"
AT 6 , 1 PUT "OUTLET STREAM M M E t ' "
AT 6 , 4 0 PUT PAXAM3 w i n g "dd"
AT 6 , 4 0 GET PMUW3 w i n g «dd"
AT 7 , 1 PUT "PRESSURE*"
AT 7 , 4 0 PUT PARAH4 w i n g "ddddd.dd"
AT 7 , 4 0 GET PAUN4 w i n g •ddddd.dd*
EN0FORN
1 SPLITTER
FOJH UFORH8 AT 2,20 PUT •SPUTTER"
AT 4,1 PUT ••NLET STREAK NUMBER**
AT 4,40 PUT PARAM1 w i n g "dd"
AT 4,40 GET PARAH1 w i n g "dd"
AT 5,1 PUT •OUTLET STREAM 1 NUMBER**
AT 5,40 PUT PARAM2 w i n g "dtf"
AI 5,40 GET PARAH2 w i n g «AI*
A1 6,1 PUT •OUTLET STNEM 2 NUMBER"*
AT 6,40 PUT PARAM] w i n g "dd*
AT 6,40 GET PARAM] w i n g *dd»
AT 7,1 PUT "FNACT 10)1 OF INLET TO OUTLET STREAM 1>
AT 7,50 PUT PANAH4 w i n g "d.ddd"
AT 7,50 GET PARAM4 w i n g "d.ddd"
ENOFOIN
I PUMP
FORM UFORK* AT 2,20 PUT "PUMP"
AT 4,1 PUT "IMLET STREAM NUMBER-'
AT 4,40 PUT PARAM1 wing "dd"
AT 4,40 GET PARAM1 wing "dd"
AT 5,1 PUT "OUTLET STREAM NUMBER'*
AT 5,«0 PUT PARAMJ using "dd"
AT 5.(0 CET nam! using "<«"
AT 6 , 1 HIT "PRESSURE I N OUTLET."
m
AT 6,(0 run PARAW using <kua.<w
AT 6 , ( 0 CET M M K 3 using "ddddd.dd"
AT 7 , 1 PUT 'LIQUID MOLAR DENSIW ( O K X E / T O -
AT 7 , ( 0 PUT PARAK4 t a i n * "dd.dd"
AT 7 , ( 0 CET PARANA m i l * "dd.dd"
EN0F0M
I REACTOR
fORH UFORM10 AT 2,20 PUT "REACTOR"
AT 4,1 PUT "INLET SIREAM 1 NUMBER—
AT 4,(0 PUT PARAM1 using "dd"
AT 4,(0 GET PARAH1 w i n g " * P
AT S.I PUT -INLET STREAM 2 NUMBER""
AT 5,40 PUT PARAH2 using »dd"
AT 5,40 GET PAHAH2 using "dd"
AT 6,1 PUT "OUTLET STREAK NUMBER""
AT 6,40 PUT PARAH3 using "dd-
AT 6,(0 CET PARAH3 using "dd"
AT 7,1 PUT -PRESSURE-"
AT 7,40 PUT PAKAN4 using "ddddd.dd"
AT 7,40 CET PAHAK4 using "ddddd.dd"
AT 8,1 PUT "HEAT REMOVED (KJ/S) ••
AT 8,40 PUT PARAMS using "ddddd.dd"
AT 8,40 CET PARAW using "ddddd.dd"
AT 9,1 PUT "FRACTION CONVERSION""
AT 9,40 PUT PAIAN6 using "d.ddddd"
AT 9,40 GET PARAN6 using "d.ddddd"
1
AT 10,1 PUT "SECOND ORDER RATE CONSTANT"
AT 10,(0 PUT PARAM7 using "ddddd.dd"
AT 10,(0 GET PARAM7 using "ddddd.dd"
ENDFOBM
! SULFUR SATUBATON
*-
FORM UF0RM11 AT 2,20 PUT 'SULFUR SATURATOR'
AT 4,1 PUI 'INLET STREAM NUMER''
AT 4,40 PUT PMtAMI w i n g "dd" O
AT M O GET PARM1 w i n g "dd"
AT 5,1 PUT •OUTLET STREAM NUMtER''
a
AT 5,40 PUI PARAN2 wing •dd
AT 5,40 GET PMAM2 Wing •dd'
AT 7,1 PUI 'TEMPERATURE*'
AT 7.40 PUT PARAM3 wing -ddddd.dd"
AT 7,40 GET PARAH3 wing "ddddd.dd"
AT 8,1 PUT •PRESSURE'*
AT 8,40 PUT PAMH4 w i n g "ddddd.dd"
AT 8,40 GET PARAH4 w i n g "ddddd.dd"
I SULFUR SETTLE!
FORM UF0RH12 AT 2,20 PUT •SULFUR SETTLER-
AT 4,1 PUT 'INLET STREAM MUMRER'"
AT 4,50 PUT PARAM1 w i n g "dd"
AT 4,50 GET FARAN1 w i n g "del"
AT 5,1 PUT "OUTLET SULFUR STREAM MJMER**
AT 5,50 PUT PARAN2 wing •*!"
AT 5,50 GET PARAN2 wing -dcP
AT 6,1 PUT •OUTLET SOLVENT STREAM MM8ER*'
AT 6,50 PUT PARAN3 wing "d*»
AT 6,50 GET PARAH3 wing "dd"
AT 7,1 PUT "WTX SULFUR IN SULFUR STREAM*'
AT 7,50 PUT PARAN4 wing •ddd.dd'
AT 7,50 GET PMAM4 w i n g "ddd.dd"
AT 8,1 PUT 'PRESSURE*'
AT 8,50 PUT PMAM5 wing "ddddd.dd"
AT 8,50 GET PA3AN5 wing "ddddd.dd"
I SULFUR WASHER
FOAM UFORM13 AT 2,20 PUT - S A U K IMSKER*
AT 4,1 PUT -INLET SULFUR STAEAM NUHKR*>
AT 4,50 PUI PA1AM1 using «dd-
AT 4,50 GET PAIAHl using "ikf
AT 5,1 PUT "INLET UASH STREAM NUMSER'*
AT 5,50 PUT PARAH2 Using "dd"
AT 5,50 SET M R A H 2 m i n t »dd"
AT 6,1 PUT "OUTLET WASH STREAM NUFW«>*
AT 6,50 PUT PARAH3 using - * T
AT 6,50 GET PAAAHI using •dd-
AT 7,1 PUT •OUTLET SULFUR STREAM RUMER'*
AT 7,50 PUT PARAM using "<kf
AT 7,50 GET PARAM UAlng "dd"
AT 8,1 PUT "UTX SULFUR IN SULFUR STREAM*"
AT 8,50 PUT PARAM5 using "ddd.dd-
AT 8,50 GET PARUIS using "ddd.dd"
AT 9,1 PUT "PRESSURE-"
AT 9,50 PUT PARAM using "ddddd.dd"
AT 9,50 GET PARAM6 Using "ddddd.dd"
I MEIIER/OECAHTER
FORM UFORN14 AT 2,20 PUT "MELTER/DECANIER"
AT 4,1 PUT "INLET STREAM NUMKR'"
AT 4,50 PUT PARAN1 using "dd"
AT 4.50 GET PARAM1 using "dd"
AT 5,1 PUT "OUTLET NON-SULFUR STREAM NUMBER."
AT 5,50 PUT PARAN2 using "dd"
AT 5,50 GET PARAM using "dd"
AT 6,1 PUT "UUTLET SULFUR STREAM MMIER">
AT 6,50 PUT PARAM3 using "44"
AT 6,50 GET PARAM3 using W
AT 7,1 PUI "TEMPERATURE'"
AT 7,50 PUT PARAM4 using "ddddd.dd"
AT 7,50 GET PARAM4 using "ddddd.dd"
AT 8,1 PUT "PRESSURE*"
AT 8,50 PUT PARAH5 using "ddddd.dd"
AT 8,50 CET PARAHS w i n g "ddddd.dd- to
I FURNACE
FORM UFCCM5 AT 2,20 PUT -FURNACE*
AT 4,1 PUT •••LET SULFUR STREAK DUNK**'
AT 4,50 PUT PARAH1 using "do*
AT 4,50 GET PARAM1 w i n g *dd*
AT 5,1 PUT "INLET RES30UAL STREAM NUMBER**
AT 5,50 PUT PARAM2 using "dd"
AT 5,50 GET PARAH2 using "dd"
AT 6,1 PUT "INLET AIR STREAM NUMBER**
AT 6,50 PUT PAR/M3 using *dd*
AT 6,50 GET PARAM3 using "dd"
1
AT 7,1 PUT "FLOW OF S02 OUT OF FURNACE*
AT 7,50 PUT PARAM using "dddd.ddddd*
AT 7,50 GET PARAN4 using "dddd.ddddd"
AT 8,1 PUT -OUTLET STREAM NUMBER**
AT 8,50 PUT PARAM5 using "dd*
AT 8,50 GET PARANS using "dd"
AT 9,1 PUT "OUTLET TEMPERATURE**
AT 9,50 PUT PARAM6 using "ddddd.dd"
AT 9,50 GET PARAM using "ddddd.dd-
AT 10,1 PUT "OUTLET PRESSURE**
AT 10,50 PUT PARAM7 using "ddddd.dd"
AT 10,50 CET PARAM7 using "ddddd.dd"
I COMPRESSOR
FORM UF0RN16 AT 2 , 2 0 PUT 'COMPRESSOR*
AT * , 1 PUT "INLET ST'SAP NUMBER**
AT 4 , 5 0 PUT PARAK1 using "dd»
AT 1,50 GET PARAM1 using "dd"
AT 5 , 1 PUT "OUTLET STREAM NUMBER*"
AT S.SO PUT PARAM2 using " d f
AT 5,50 GET PARAN2 w i n g "dd"
AT 6,1 PUT •OUTLET PRESSURE""
AT 6,50 MIT PARAM] Using "ddddd.dd"
AT 6.SU GET PARAH3 using "ddddd.dd"
I SUIFUK CENTRIFUGE
FORK UF0RM17 AT 2,20 PUT •SULFUR CENTRIFUGE"
AT 4,1 PUT 'INLET STREAM NUMBER""
AT 4,50 PUT PARAM1 using "del"
AT 4.50 GET PARAM1 using "dd"
AT 5,1 PUT -INLET WASH STREAM MJMKR"'
AT S.SO PUT PARAH2 >alng "dd"
AT 3,50 GET PARAN2 using •dd"
AT 6,1 PUT ^CUTLET SULFUR SLURRY STREAM NUMBER**
AT 6,50 PUT PARAM3 Using "dd"
AT 6,50 GET PARAMJ using "dd"
AT 7,1 PUT "OUTLET 110U1D STREAM NUMBER'"
AT 7.50 PUT PARAH4 using «dd"
AT 7,50 GET PARAM using "dd"
AT 8,1 PUT "PRESSURE'"
AT 8,50 PUT PARANS usir* "oMdd.dd"
AT 8,50 SET PARAMS using "ddddd.dd"
AT 9,1 PUT "VTX SULFUR TO SLURRY IN FIRST SEPARATION""
AT 9,50 PUT PARAN6 using "ddd.dd"
AT 9,50 GET PARAM6 using "ddd.dd"
AT 10,1 PUT "UTX SULFUR TO SLURRY IN EXIT»"
AT 10,50 PUT PARAN7 using "ddd.dd"
AT 10,50 GET PARAM7 using "ddd.dd"
I PARTIAL CONDENSER
FOfiH UF0RM18 AT 2,20 PUT "PARTIAL CONDENSER"
AT 4,1 PUT "INLET STREAM NUMBER""
in
AT 4 , 5 0 PUT PARAM1 w i n g "dd"
AT 4 , 5 0 GET PAUMI using "dd"
AT 5 , 1 PUT 'PRESSURE III CONOEHSER"'
AT S.SO PUT PAKAM2 using "ddddd.dd"
AT 5 , 5 0 GET PARAM2 using "ddddd.dd"
AT 6 , 1 PUT "TEMPERATURE""
AT 6,50 PUT PARAH3 using "ddddd.dd"
AT 6.S0 GET PARAMJ using "ddddd.dd"
AT 7.1 PUT "OUTLET LIOUID STREAM NUMBER""
AT 7.50 PUT PAIIAM using "dtf=
AT 7,50 GET PARAH4 using "dd"
AT 8,1 PUT "OUTIET VAPOR STREAM HUtKR""
AT 8,50 PUT PARAH5 using "dd"
AT 8,50 GET PARAM5 using "dd"
I HEATER
FORM UF0RN19 AT 2 , 2 0 PUT 'HEATER*
AT 4 , 1 PUT "1HLET STREAM HUMER-*
AT 4 , 5 0 PUT PARAN1 using 'dd»
AT 4 , 5 0 GET PARAM1 Using "dd"
AT 5 , 1 PUT "OUTLET STREW NUMBER*'
AT S.SO PUT PARAM2 using "dd"
AT S.SO GET PARAH2 using «dd*
AT 6,1 PUT "HEAT ADOEO (IJ/S) ••
AT 6,50 PUT PARAHJ using "ddddd.dd"
AT 6,50 GET PARAH3 using •ddddd.dd"
ENDFORH
I STORAGE
FORM UFORH20 AT 2,20 PUT "STORAGE UNIT"
AT 4,1 PUT "INLET STREAM NUMBER"'
AT 4,50 PUT PARAM1 using "dd"
AT 4,50 GET PARAM1 using "dd"
AT 5.1 PUT "OUTIET STREAM DUMBER""
AT 5,50 PUT PARAH2 w i n g *dd>
AT 5,50 GET PARAW w i n g •<**•
AT 6,1 PUT -OUTIST FLOW OF COMPONENT •
AT 6,25 PUT PARAH4 w i n g "dd*
AT 6,25 GET PARAM4 W i n g *dd*
AT 6,40 PUT • (KHOIE/S) ••
AT 6 , 5 2 PUT PARAW w i n g "ddddd.dddd"
AT 6 , 5 2 GET PARAN3 w i n g •ddddd.dddd*
AT 7 , 1 PUT "OUTLET TEMPERATURE*"
AT 7 , 5 2 PUT PARAN5 w i n g "ddddd.dd"
AT 7 , 5 2 GET PARAM5 w i n g "ddddd.dd"
AT 9 , 1 PUT ' T H I S UNIT SETS THE FICV OF THE DESIRED COHPOSENT"
AT 1 0 , 1 PUT "AND SCALES THE OUTPUT FLOUS OF THE OTHER COMPONENTS*
AT 1 1 , 1 PUT "AT THE SANE COMPOSITION AS THE INLET*
I CRVSTALIIZER
FORM UF0RN21 AT 2 , 2 0 PUT "CRTSTALLUER*
AT 4 , 1 PUT "INLET STREAM WJNtER-*
AT 4 , 5 0 PUT PARAN1 w i n g "dd"
AT 4 , 5 0 GET PARAN1 w i n g «dd»
AT 5 , 1 PUT "OWLET STREAM N U M E * * "
AT 5 , 5 0 PUT PARAN2 w i n g " * T
AT 5 , 5 0 GET PARAH2 w i n g "dd*
I SULFUR SPLITTER
FORM UFORN22 A T 2,20 P U T 'SULFUR SPLITTER*
AT 4,1 PUT >INLET STREAM NUMBER**
AT 4,50 PUT PARAH1 w i n g "dd"
AT 4,50 GET PARAM1 w i n g "dd*
AT 5,1 PUT "OUTLET SULFUR STREAM NUMBER""
AT 5,50 PUT PARAM2 w i n g "dd"
AT 5,50 GET PARAM2 using "dd*
Is)
tn
m
AT 6.1 PUT "OUTLET LIMIID STREAM NUMER'"
AT 6,50 PUT PARAM3 uting "dd"
AT 6,50 GET PARAM3 uting "dd"
AT 7,1 PUT "FRACTION OF LIOUID TO SULFUR STREAM*"
AT 7,50 PUT PARAH* uting "d.dddd"
AT 7,50 GET FAKAH5 Uting "d.dddd"
EWFORM
I MAKEUP
FORM UFORM23 AT 2,20 PUT "MAKEUP UNIT*
AT *,1 PUT •INLET STREAM NUMBER-"
AT «,50 PUT PARAM1 uting "dd"
AT 4,50 GET PARAM1 uting »dd"
AT 5,1 PUT •OUTLET STREAM IMHSER""
AT 5,50 PUT PARAN2 m i n g "dd"
AT 5,50 GET PARAM2 using "dd"
AT 6,1 PUT "OUTLET FLOU OF COMPONENT •
AT 6,25 PUT PARAN4 uting "dd"
AT 6,25 GET PARAH4 uting «dd>
AT 6.40 PUT • (KttXE/S) ••
AT 6,55 PUT PARAN3 uting "ddddd.ddddd"
AT 6,55 GET PARAN3 uting -ddddd.ddddd"
AT 9,1 PUT "THIS UNIT SETS THE OUTLET FLOW OF THE DESIRED COMPONENT"
AT 10,1 PUT "WHILE PASSING THE FLOW OF THE OTHER COMPONENTS THROUGH"
AT 11,1 PUT "FROM THE INLET TO THE OUTLET"
ENOFORM
I TSET
FORM UFORM24 AT 2,20 PUT "TSET ROUTINE"
AT 4,1 PUT "INLET STREAM NUMBER""
AT 4,50 PUT PARAN1 uting »dd"
AT 4,50 GET PARAH1 uting "dd"
AT 5,1 PUT "OUTLET STREAM NUMER>"
AT 5,50 PUT PARAH2 uting "dd"
AT 5,50 GET PARAM2 uting "dd"
AT 6,1 PUT "SET TENPEftATUKE Of OUTLET-"
AT 6,50 PUT PARAH3 using "(ttddd.dd"
AT 6,50 GET PARAM3 w i n g "*kttd.<M-
EROFOm
I HTDROGUMON SPLITTER
rom [i'ttaas AT Z,» PUT •HTDKOCAMM SPLITTER*
AT 4 . 1 PUT •INLET STREAM M M K R < «
AT 4 , 5 0 PUT PARAH1 u t f n g *dd>
AT 4 , 5 0 GET PARAH1 m i f g "dd"
AT 5 , 1 PUT •OUTLET HTDIOCAMON STREAM K M E I > '
AT 5 , 5 0 PUT PARAHZ using • * » •
AT 5 , 5 0 GET PAUH2 u i n g "dd"
AT 6 , 1 PUT "OUTLET HTOItOCAtMM FAEE STREAM HUWER>
AT 6 , 5 0 PUT PARAM3 u t i n g "dd"
AT 6 , 5 0 GET PARAM3 using >d(t"
ENDFORM
SAVE TO "OFORH"
to
m
-J
I UNITS.1PF
1
I UNIT PRINTOUT SUHOUT1IIE rOA USE WITN IERKIN
I USED FOR NORNAl DATA ENTAT TO STREAMO.ITI
I SENDS THE FORN TO THE SCAEER
I LAST UPDATE: M / 1 3 / 8 6
TEST OPC
USE 1 :
PUTFORN UFOANt
T A U T UFOAN1
CETFOAN UFORNt
BREAK
CASE 2:
PUTFOAN UFOAN2
TAUT UF0RN2
SETFORN UFORH2
BREAK
CASE 3:
PUTFORN UFORNJ
TAUT UFQRH3
GETFORN UFORHJ
BREAK
PUTFORN UFORM
TALLY UFORM
CETFORN UFORM
BREAK
CASE 5:
PUTFORN UF0RH5
TALLT UFORNS
GETFORN UFORH5
BREAK
MTFOtN UFOtM
TALLY UFMN6
GETFMK UFMN6
MEAK
CASE 7 :
PUIFMN warn?
TALLY UfOmT
GETFCm UFOM7
UEU
CASE 8 :
PUTFMN U F M M
TALLY UFOMM
CETFOIM UFMN*
iHEAK
CASE 9 :
PUTFMN U F M M
TALLY UFOM9
GETFMN UFMH9
MEAK
CASE 1 0 :
PUTFMN UFMNIO
TALLY UFMNIO
GETFMN UFMNIO
««EA*
CASE 1 1 :
PUTFMN UFMN11
TALLY UFMN11
GETFMN UFMN11
IREAIC
CASE 1 2 :
PUTFMN UFMN12
TALLY UFMN12
GETFMN UFMN12
IREAC
PUTFMN UF0SH13
TALLY UFMH13
CETFWN UF0RN13
BREAK
USE H:
PUTFOR* l i ' O W H
TALLY UFORMK
GETFOtll U F O M K
BREAK
USE I S :
PUTFORN UFORN15
TALLY UF0RH15
GETFORN UF0AH15
BREAK
USE 16:
FUTFCRN UF0RN16
ULLY UFGRM16
GETFORN UF0RM6
BREAK
USE 17:
FUTFORN UFMI117
ULLY UF0RM17
CETFMN UF0RN17
BREAK
USE 18:
PUTFORN UFORN18
ULLY UF08M18
GETFORN UF0RH1B
BREAK
U S E 19:
PUTFORN UF0UI19
TALLY UF0RN19
GETFORN UF0RN19
BREAK
USE 20:
PUTFORN UFORH20
TALLY UFORN20
GETFORN UFORH20
BREAK
CASE 21:
PUTFOKH UFORH21
TAUT UFOXM2I
CETFORN UFORX2I
WEAK
CASE 2c:
•UTFOM UFORH22
TAUT UFOMU2
GEtFOM UFORH22
MIEAIC
CASE 2 3 :
PUTFOM UFCCH2I
T A U T UFORM23
GEIFORM UFORM23
MEAK
CASE 2«:
PUTFORH UFORK24
TAUT UFORH2*
GETFORH UF0RH24
MEAK
CASE 2 5 :
PUTFORM UFORH25
TAUT UF0RH25
CETFORH UFORH2S
BREAK
OTHERWISE:
OUTPUT -ERRORI IIUGAL UNIT IGNORED*
OUTPUT 'STRIKE ANT KET TO CONTINUE.*
WAIT
ENOTES!
1 OPAINT.IPF
E.PHAIM
E.PHID'M
USE S I K M I O
OITAIN MAST
UCOUHT'O
UHILE IMIT<>99
IF OPCODE.! THEN
EJECT
EHDIF
PIINT • •
PA2NT •UHIT'*,UHIT
TEST OPCODE
CASE 1:
PAINT UFOml
UCOUHT*-!
EJECT
BAEAK
CASE 2:
PRINT UF0SH2
CISC J :
N U T UFOMO
MEftI
O S 4:
mm UFOMH
UltX
CASE S :
N I D I UFOtHS
MEAK
CASE * :
M I K I UFMH6
mux
CASE 7 :
m i r ufoaxT
HEAK
CASE 8 :
PRINT UFMMS
UEAK
CASE 9:
PtlKT UFOW9
i«E«
CASE 1 0 :
PHIKT UFMN10
MFJUC
CASE 1 1 :
P81BT UF08M11
BREAK
to
W
USE 12: M
MINI UFOHI12 *•
HEM
USE 13:
H i l t UF0*M3
HEM
USE H :
MINI UFOtMH
HEW
USE 15:
MINT UFOW1S
HEM
USE 16:
MINT UF0KH16
HEM
USE 17:
MINT UFOUI17
UEM
USE 18:
MINT UF0KH18
HEM
USE 19:
MINT UFMM19
HEM
USE 20:
PRINT UFOBH20
BREAK
CASE 2 1 :
M H I UFOM21
•REAR
CASE 2 2 :
PRINT UF0RN22
1REAI
CASE 23:
PRINT UF0RH23
HEAX
CASE 2 4 :
M I N T UFOMttt
•IEAX
CASE 2 5 :
M I N I UFMH25
RREAK
ENDTEST
PRINT • »
PRINT • •
PRINT » •
UCOUNI4JCOUNT»1
IF UC0UNT*4 THEN
EJECT
UCOUNT'O
ENDIF
08TAIH NEXT
ENDUHILE
to
cr.
266
I I
KMM DMA USE H U E STRUCTURES FC* STREAHIO.ITi AND STREANS.1TI
Field : PARANt MM
Read Access : A
Write Access : A
Picture : "ddddd.ddddd"
Field . PAAANs MM
Reed Access : A
U r i l * Access : A
Picture : •ddddd.ddckM"
Fleld : PA«AK8 MM
Read Access : A ,
Urite Access : A
Picture : -ddddd.ddddd"
Field : PARAH7 MM
Reed Acceu : A
Urite Accesi : A ,
Picture : "ddddd.ddddd-
Field : PARAMO MM
Deed Acceu : A
Urite Access : A
Picture : •ddddd.ddddd*
Field : PARAM1 MM
Heed Access : A
Urite Access : A
Picture : "ddddd.ddddd"
Field : PARAN12 MM
Resd Access : A
Urite Acce * : A
Picture : "ddddd.ddddd"
Field : PARAH13 MM
Reed Access : A
Urite Access : A
Picture : •atttdd.ddddd*
M
en
to
F i e l d : PARAH1S MM O
Reed Acceit : A
Write Acceti : A
Picture : -ddddd.ddddd-
F i e l d : PAMH16 HUM
Heed Acceti : A
Write Accctt : A
Picture : •ddddd.ddddd*
Field : PAAAH17 MM
Reed Acceit : A
Write Acceti : A
P i c t u r e : "ddddd.ddddd"
F i e l d : PAIAM18 MM
Reed Accesi : A
Write Acceit : A
P i c t u r e : *ddddd.ddddd»
F i e l d : PARAM9 MM
Reed Acceit : A
Write Accett : A
P i c t u r e : 'ddddd.ddddd*
F i e l d : PARAH20 MM
Read Accen : A
Write Acceit : A
P i c t u r e : "ddddd.ddddd"
Field : PARAMt MM
Read Access : A
Write Acceu : A
Picture : •ddttd.dddds*
Field : PMAH22 MM
Read Access : A . . .
Write Acceii : A
Picture : •ddddd.dddd*'
Field : PARAM24 MM
Read Access : A
Write Access : A
Picture : Mdddd.ddddd"
Field : PARAH2S MM
Read Access : A
Write Access : A
Picture : •dddrid.dJddd"
Fleld : PARAH26 MM
lead Access : A
Write Access : A
Picture : -ddddd.ddddd*
to
•J
Field : MIAH27 HUH
•r*d AcctM -• A
Writ* Aeeeu : A
Picture : -ddddd.dddckr
f i e l d : MUN2S HUH
lead ACCHB : A
Write A c c n t : A
Picture : "ddddd.ddddd-
Tabic m : SHEWS
Fit* naae : SIAENtS.IU
tcad Access : A
write Access : A..
Creation Data : M/10/K
Modification Data : 04/02/86
Mater or Record! : 5*
field : i M M LOGIC
tead Acceaa : A
Writ* Acceta : A
Picture : (default)
Field : M2 MM
Read Accesa : A
Writ* Accesa : A
Picture : "d.ddddd"
Field : N2 MM
Read Accesa : A ,
Write Access : A
Picture : "d.ddddd*
Field : CO MM
Read Accesa : A
Write Access : A
Picture : "d.ddddd"
Field : C02 MM
Read Access : A
Write Access : A
Picture : "d.ddddd"
ro
•J
Field : C1 MM
Reed Access : A
Write Access : A
Picture : -d.ddddd-
Fleld . C2 MM
Reed Access : A
Write Accete : A
Picture : "d.ddddcT
Field : CI MM
Reed Access : A
Write Access : A ,
Picture : -d.ddddd*
Field : C* HUM
Reed Access : A ,
Write Access : A ,
Picture : "d.dckttt"
Field : C5 MM
Read Access : A
Write A C C O M : A
Picture : "d.dnddd"
Field : H2S MM
Read Access : A
Write Access : A
Picture : "d.ddddd"
Field : S02 *M
lead Access : A
Write Access : A
Picture : "d.ddddcf
Field - M O MM
Reed Access : A
Write Access : A
Picture : "d.ddddd"
Field : SM.V MM
Reed Access : A
Write Access : A
Picture : -d.ddddd"
F i e l d : DSULF MM
Reed Access : A
W r i t e Access : A
Picture : "d.ddddd"
F i e l d : CH3SH MUM
Reed Access : A
Write Access : A
Picture : "d.ddddO-
Field : C2H5SH MM
Reed Access : A
Write Access : A
Picture : "d.dddca"
to
-J
H e l d : SUir MIN
Reed Aceese : A
write Access : A
Picture : "d.ddAM"
'•eld : WATER KM
Reed Access : A
Urite Access ; A •
Picture : «d.ddddd"
field : 02 HUM
teed Accett : A
Write Accei* : A
Picture : -d.ddddd"
Field : IWKN MM
Read Access : A
Write Access : A
1
Picture : -d.ddddd
Field : FLOW MM
Reed Access : A
Write Access : A
Picture : "ddddd.ddddd"
M«ld : MTU Ml
• u d Accm : A
Uritt Acctti : A
Hctuft : -dddddd.dd-
field : PHASE
Read Acc«ti : A.,
Writ* Acctti : A.,
ricturt : "d-d"
This report was done with support from the
Department of Energy. Any conclusions or opinion*
expressed in this report represent solely those of the
authors) and not necessarily those of The Resents of
the University of California, the Lawrence Berkeley
Laboratory or the Department of Energy.
Reference to a company or product name does
not imply approval or recommendation of the
product by the University of California or the U.S.
Department of Energy to the exclusion of others that
may be suitable.