PROII Data Transfer System User Guide
PROII Data Transfer System User Guide
PROII Data Transfer System User Guide
352,, .
'DWD7UDQVIHU6\VWHP
8VHU*XLGH
May 2014
All rights reserved. No part of this documentation shall be reproduced, stored in a retrieval system, or
transmitted by any means, electronic, mechanical, photocopying, recording, or otherwise, without the
prior written permission of Invensys Systems, Inc. No copyright or patent liability is assumed with
respect to the use of the information contained herein. Although every precaution has been taken in the
preparation of this documentation, the publisher and the author assume no responsibility for errors or
omissions. Neither is any liability assumed for damages resulting from the use of the information
contained herein.
The information in this documentation is subject to change without notice and does not represent a
commitment on the part of Invensys Systems, Inc. The software described in this documentation is
furnished under a license or nondisclosure agreement. This software may be used or copied only in
accordance with the terms of these agreements.
For comments or suggestions about the product documentation, send an e-mail message to
[email protected].
All terms mentioned in this documentation that are known to be trademarks or service marks have been
appropriately capitalized. Invensys Systems, Inc. cannot attest to the accuracy of this
information. Use of a term in this documentation should not be regarded as affecting the validity of any
trademark or service mark. Invensys, Invensys logo, PRO/II, and SimSci are trademarks of Invensys
plc, its subsidiaries and affiliates.
Contents
Contents I
Overview
About This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i-i
About PRO/II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i-ii
About SIMSCI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i-ii
Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i-iii
Chapter 1
PDTS Introduction
What is PDTS?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-1
Program Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-1
PRO/II Results Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-2
Generating the PDTS Application . . . . . . . . . . . . . . . . . . . . . . . . .1-3
Data Retrieval using Class, Attribute and Item. . . . . . . . . . . .1-3
Specifying Units of Measure (UOM) of the Retrieved Data .1-5
Returning the UOM of the Retrieved Data . . . . . . . . . . . . . . .1-5
Handling Simulations with Multiple Cases. . . . . . . . . . . . . . .1-6
Chapter 2
Build Procedures for PDTS
Build Procedure for PRO/II PDTS . . . . . . . . . . . . . . . . . . . . . . . .2-1
Using PDTS with PRO/II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-2
Generating PRO/II Database Files. . . . . . . . . . . . . . . . . . . . . . . . .2-2
Building a PDTS Executable File Using Intel Visual Fortran . . . .2-2
Chapter 3
PDTS Subroutines and Functions
Opening Database Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-2
Obtaining a List of Case Study IDs . . . . . . . . . . . . . . . . . . . . . . . .3-3
Setting Up an Individual Case Study . . . . . . . . . . . . . . . . . . . . . . .3-4
Chapter 4
PDTS Example Problems
General Instructions for Running a PDTS Problem . . . . . . . . . . . 4-1
Example Problem 4-1: Compressor Train . . . . . . . . . . . . . . . . . . . 4-2
Task Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Creating the PDTS Application Program . . . . . . . . . . . . . . . . 4-2
Example Problem 4-2: Single Column . . . . . . . . . . . . . . . . . . . . . 4-6
Task Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
Creating the PDTS Application Program . . . . . . . . . . . . . . . . 4-6
Example Problem 4-3: Trayed Column. . . . . . . . . . . . . . . . . . . . . 4-9
Task Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
Creating the PDTS Application Program . . . . . . . . . . . . . . . . 4-9
Chapter 5
Attribute Lists
Component Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
Stream Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
Unit Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
Valve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
Compressor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6
Expander . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6
Pump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
Pipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
HX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
HXRIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12
LNGHX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15
Shortcut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16
Column/Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
II
LLEX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-20
HCurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-21
Phase Envelope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-22
Calculator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-23
Equilibrium Reactor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-23
Conversion Reactor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-24
CSTR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-25
Plug Flow Reactor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-26
Gibbs Reactor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-27
User-Added Unit Operations. . . . . . . . . . . . . . . . . . . . . . . . .5-28
Stream Concentration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-28
Chapter 6
PDTS Example Listings
Example 6-1 Fortran Listing. . . . . . . . . . . . . . . . . . . . . . . . . . .6-1
Example 6-2 Fortran Listing. . . . . . . . . . . . . . . . . . . . . . . . . . .6-4
Example 6-3 Fortran Listing. . . . . . . . . . . . . . . . . . . . . . . . . . .6-6
Chapter 7
User-Addressable Utility Functions
Subroutine FIGETU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-1
Chapter 8
Guide for Pre-v5.5 PDTS-UAS Users
PDTS Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-1
UAS Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-1
Guide for PDTS and UAS v4.0 Users . . . . . . . . . . . . . . . . . . . . . .8-2
Index 1
About SIMSCI
SIMSCI, an operating unit of Invensys plc., is a leader in
the development and deployment of industrial process simulation
software and systems for a variety of industries, including oil and
gas exploration, petroleum refining, petrochemical and chemical
manufacturing, electrical power generation, mining, pulp and paper,
and engineering and construction. SIMSCI products
enable clients to minimize capital requirements, optimize facility
performance, and maximize returns on investments in producing
assets. SIMSCI supports more than 750 client companies
in more than 70 countries. For more information, visit the SIMSCI
web site at www.simsci.com.
This chapter introduces the PDTS utility for PRO/II. In this chapter
you will:
Determine what PRO/II files you need when using PDTS.
Learn the Class, Attribute, and Item concept underlying the
PDTS utility.
Find out how to handle units of measure (UOM).
Learn how to handle simulations with multiple case studies.
What is PDTS?
The PRO/II Data Transfer System (PDTS) is a post-processing util-
ity that provides electronic access to a wide range of flowsheet data
from any completed PRO/II simulation. The data retrieved may
then be used in any other application. This manual describes how to
use this tool effectively.
Program Limits
Although a PRO/II simulation has no explicit limits on the size of
its parameters, PDTS is constrained due to the nature of the
retrieval process which uses the FORTRAN language. The standard
limits for this release are listed in Table 1-1. If the PRO/II simula-
tion exceeds any of these limits, a warning will be sent to the stan-
dard output and execution will terminate. If your requirements
exceed these limits, contact your SIMSCI representative to request
an enlarged version of PDTS.
To specify the PRO/II data, the user will refer to the data as an Attri-
bute belonging to a particular Class and for a specified Item. The
data will then be returned to a data buffer. Class and Attribute lists
can be found in Chapter 5. The Item is the ID of the stream or unit.
Note: In the above subroutine call, the Class, Attribute and Item
are supplied as character strings (i.e., enclosed in single quotes).
Class and Attribute strings are case sensitive. It is essential that
these strings be entered exactly as given in Chapter 5.
The fourth argument in the call above is the return Variable for the
Attribute. In the example above, data are returned in WCALC. Since
Attributes are either scalar or vectors, it is the users responsibility
to provide a return Variable sufficiently sized to hold the returned
value.
Note: For the subroutines PADATR, PADATI, and PADATC, the first
four arguments are identical: Class, Attribute, Item and the return
Variable.
The last four arguments in the subroutine above are integer argu-
ments KC, KU, IU, and IERR. In the order shown above, these argu-
ments are used to:
Determine the number of items returned.
Specify the Unit of Measure Group.
Return the Unit of Measure Class.
Test whether an error occurred.
All subroutine and function calls are described in detail in
Chapter 3, PDTS Subroutines and Functions.
Example:
KU = 0
CALL PADATR(Compressor,WorkActualCalc,C-1,WCALC,KC,*
KU,IU,IERR)
Note: These routines are not required if the BASECASE is the only
case of interest.
Purpose:
To open PRO/II database files for access and to create a user-acces-
sible output file.
Note: This routine must be called before any other PDTS routine
in this system.
Arguments:
Example:
CHARACTER*8 NAME
.
.
1001 FORMAT(Enter File Name )
1002 FORMAT(A)
1003 FORMAT(Data Retrieved Reported for File = ,A10)
WRITE(*, 1001)
READ(*, 1002) NAME
.
CALL PAOPEN (NAME, , NFOUT, IRCODE)
WRITE (NFOUT, 1003) NAME
In the above example, you are prompted to supply, through the stan-
dard input, the file name for database retrieval. Subsequent output is
written to Fortran unit NFOUT. System support and error files are
assumed in their default location. On the PC the default is the direc-
Purpose:
To return an array of CHARACTER*12 strings with the case IDs
which are available in the current PRO/II database files opened by a
previous call to PAOPEN.
Arguments:
Example:
PARAMETER (MXN = 25)
.
CHARACTER*12 NAME, CASEN (MXN)
.
.
1001 FORMAT (Enter File Name )
1002 FORMAT (A)
Purpose:
To set up an individual simulation case.
Arguments:
Example:
PARAMETER (MXN = 25)
.
CHARACTER*12 NAME, CASEN (MXN), CASEX
.
.
1001 FORMAT (Enter File Name: )
1002 FORMAT (A)
1003 FORMAT ( Number Case IDs Found = ,I5, /)
1004 FORMAT (I5, 1X,A14)
1005 FORMAT ( Enter Case ID : )
WRITE (*, 1001)
READ (*, 1002) NAME
.
CALL PAOPEN (NAME, , NFOUT, IRCODE)
Purpose:
To retrieve basic flowsheet parameters and initialize the system.
This subroutine must be called before any call to retrieve other
flowsheet data items. If a case other than BASECASE is to be set up,
then this routine should be called after a call to PACASE. If the flow-
sheet case is not a converged solution, IRCODE will be equal to 1,
and an error message will be displayed to the standard output.
Arguments:
Example:
1001 FORMAT (Number of Components = , I5, /,
+ Number of Streams = , I5, / ,
+ Number of Unit Ops = , I5)
1002 FORMAT( Solution Not Reached !! )
.
CALL PAOPEN ( NAME, , NFOUT, IRCODE)
.
CALL PACASE ( CASEX, IRCODE)
C
C Get Miscellaneous Flowsheet Data
Purpose:
To retrieve single precision floating point data from the PRO/II
flowsheet described by Class, Attribute and Item to store the
retrieved data in variable RBUF. The retrieved data item may be
either a single number or an array of values.
Arguments:
Example:
DIMENSION XNBP (MAXNOC)
CHARACTER*20 CTEMP, PAUOMS
.
.
Integer Data
SUBROUTINE PADATI (CLASS, ATTRIB, ITEM, IBUF, KC, IRCODE)
Purpose:
To retrieve integer data from the PRO/II flowsheet described by
Class, Attribute and Item and to store the retrieved data in variable
IBUF. The retrieved data item may be either a single number or an
array of values.
Arguments:
Example:
1001 FORMAT (Number of Trays in Column T-1 = , I5)
CALL PADATI (Colu,NumberOfTrays,T-
1,NTRAY,KC,IER)
WRITE (NFOUT, 1001) NTRAY
In the above example, the number of trays for column T-1 is
retrieved into variable NTRAY. By referring to Chapter 5, the user
can determine that the Class for column data is Colu and that the
Attribute to get the number of trays is NumberOfTrays. This is a sin-
gle integer value. In this case, the Item requested was the unit with
unit ID T-1.
Character Data
SUBROUTINE PADATC (CLASS, ATTRIB, ITEM, CBUF, KS, KC,
IRCODE)
Purpose:
To retrieve character type data from the PRO/II flowsheet described
by Class, Attribute and Item and store the retrieved data in variable
CBUF. The retrieved data item may be either a single character
string or an array of strings.
Arguments:
Example:
CHARACTER*12 UNID (MAXUOP)
.
.
CALL PADATC (UNIT, IDS, ALL, UNID, KS, KC,
IERR)
In this example, the unit IDs for all unit operations in the flowsheet
are retrieved into the array of character strings UNID. By reference
to Chapter 5, the user has determined that the Class for generic unit
data is UNIT and that the Attribute to get the unit IDs is IDS. This is
an array of character strings with one member of the array for each
unit operation. Therefore, the Item requested was ALL. Variable KC
will have the number of items retrieved, and KS will be the size of
each individual item in bytes. In this case, KS will equal 12 because
unit and stream IDs are 12 characters in length.
Purpose:
To retrieve a character string description for the units of measure
defined by the flags IU and KU. If the value of IU passed to the func-
tion is zero indicating a dimensionless quantity, PAUOMS will return
a blank string and the IRCODE will be equal to 1. The size of the
string retrieved by PAUOMS will not exceed 30 characters.
Arguments:
Example:
CHARACTER*30 PAUOMS, CVEL
1001 FORMAT (Maximum Velocity in Pipe = , F10.4,
A30)
.
KU = 0
.
Purpose:
To write a line of character data to the standard output file provided
by PRO/II PDTS.
This subroutine is useful to ensure PDTS application writes to file
units compatible with PRO/II. Normally, the WRITE statement can
be used directly as in previous versions. However, if difficulties are
encountered using WRITE statements, PAWRITE almost always
overcomes the problem.
Arguments:
Example:
CHARACTER*8 NAME
CHARACTER*133 CHARDATA
.
.
Purpose:
This subroutine closes all database files and the default output file
opened by PAOPEN. It is recommended that this routine be called at
the end of your PDTS application.
There are no arguments.
5. Next, obtain arrays of unit type and unit description for each
individual unit. In these retrievals, the individual unit ID string
is the Item passed to PADATC. As each unit type and descrip-
tion string is retrieved, it is echoed to the output file.
C GET UNIT TYPE & NAME
C
DO 1004 IX = 1, NUNIT
CALL
PADATC(UNIT,TYPE,UID(IX),UTYPE(IX,KS,KC,IER)
C
CALL
PADATC(UNIT,NAME,UID(IX),UNAME(IX,KS,KC,IER)
C
WRITE (NFOUT,111)
IX,UID(IX),UTYPE(IX),UNAME(IX)\
6. The next subroutine call is to PADATC which will return the col-
umn unit name. By referring to Chapter 5, you can see that the
Class and Attribute for this retrieval are UNIT and NAME
respectively. Because these data are required for one unit only,
the Item is UID.
C GET UNIT NAME
C
C CALL
PADATC(UNIT,NAME,UID,UNAME,KS,KC,IER)
7. The next step is to obtain the total molar flowrate of the feed
stream 1. In these retrievals, the individual stream ID string
(defined above as stream 1) is the Item passed to PADATC.
C GET FEED STREAM RATE
C
C CALL PADATR(STREAM,TotalMolarate, &
SID,FLOW(KX), KC, KUOM, IFLOW, IER)
TRAY NUMBER: 11 12 13 14 15
PRESSURE: PSIG 435.00 435.56 436.11 436.67 437.22
TEMPERATURE: F 114.07 136.24 151.44 163.22 172.68
NET RATE:
VAPOR LB-MOL/HR 737.95 913.54 1011.16 1078.69 1135.58
LIQUID LB-MOL/HR 1236.03 1333.65 1401.18 1458.07 1506.80
VAPOR DENSITY: LB/FT3 3.4647 3.8354 4.0850 4.2876 4.4607
LIQUID DENSITY: LB/GAL 3.6939 3.5893 3.5251 3.4755 3.4354
VAPOR PHASE COMPOSITION
N2 0.0000 0.0000 0.0000 0.0000 0.0000
C1 0.1204 0.0377 0.0119 0.0038 0.0012
C2 0.5387 0.4896 0.3984 0.3044 0.2227
C3 0.3028 0.4220 0.5281 0.6196 0.6924
IC4 0.0172 0.0226 0.0274 0.0323 0.0378
NC4 0.0148 0.0195 0.0235 0.0274 0.0317
IC5 0.0026 0.0035 0.0042 0.0049 0.0055
NC5 0.0016 0.0022 0.0027 0.0031 0.0035
NC6 0.0015 0.0022 0.0028 0.0033 0.0038
NC7 0.0005 0.0008 0.0010 0.0012 0.0014
LIQUID PHASE COMPOSITION
N2 0.0000 0.0000 0.0000 0.0000 0.0000
C1 0.0279 0.0091 0.0029 0.0010 0.0003
C2 0.3653 0.3053 0.2374 0.1763 0.1267
C3 0.4495 0.5279 0.5984 0.6559 0.6977
TRAY NUMBER: 16 17 18 19 20
PRESSURE: PSIG 437.78 438.33 438.89 439.44 440.00
TEMPERATURE: F 180.58 187.85 196.02 208.51 234.90
NET RATE:
VAPOR LB-MOL/HR 1184.31 1220.84 1237.29 1212.62 1093.70
LIQUID LB-MOL/HR 1543.34 1559.78 1535.11 1416.19 322.49
VAPOR DENSITY: LB/FT3 4.6057 4.7222 4.8072 4.8398 4.7735
LIQUID DENSITY: LB/GAL 3.4050 3.3862 3.3854 3.4237 3.5374
VAPOR PHASE COMPOSITION
N2 0.0000 0.0000 0.0000 0.0000 0.0000
C1 0.0004 0.0001 0.0000 0.0000 0.0000
C2 0.1576 0.1084 0.0723 0.0464 0.0276
C3 0.7441 0.7736 0.7790 0.7548 0.6856
IC4 0.0447 0.0540 0.0669 0.0841 0.1041
NC4 0.0372 0.0452 0.0575 0.0764 0.1026
IC5 0.0063 0.0074 0.0098 0.0150 0.0262
NC5 0.0040 0.0047 0.0061 0.0095 0.0170
NC6 0.0043 0.0049 0.0062 0.0103 0.0260
NC7 0.0016 0.0018 0.0022 0.0035 0.0110
LIQUID PHASE COMPOSITION
N2 0.0000 0.0000 0.0000 0.0000 0.0000
C1 0.0001 0.0000 0.0000 0.0000 0.0000
C2 0.0885 0.0601 0.0394 0.0243 0.0132
C3 0.7221 0.7270 0.7070 0.6496 0.5274
IC4 0.0670 0.0771 0.0908 0.1068 0.1161
NC4 0.0625 0.0722 0.0873 0.1085 0.1284
IC5 0.0157 0.0175 0.0217 0.0309 0.0469
NC5 0.0105 0.0116 0.0143 0.0205 0.0324
NC6 0.0211 0.0220 0.0255 0.0389 0.0826
NC7 0.0125 0.0127 0.0139 0.0205 0.0530
Component Data
Class: COMPS
Use Item: ALL for all component attributes (count = number of components)
Stream Data
Class: STREAM
Use Item: ALL for attribute IDS only (count = number of streams)
Stream Item Description Variable Array/ Units Notes
Type Scalar
BulkMolecularWeight Molecular weight of bulk stream Real Scalar
BulkUopK Watson K (UOP) of bulk stream Real Scalar
CetanIndex Cetane index Real Scalar
CloudPt Cloud point Real Scalar Temperature
D1160Curve D1160 curve Real Array Temperature 1
D86Curve D86 curve Real Array Temperature 1
FlashPt Flash point Real Scalar Temperature
GrosHeatValue Gross heating value Real Scalar Energy/Vap.Vol.
Notes:
1) Distillation curves of 13 points at percent distilled points: 0, 5, 10, 20, 30, 40, 50, 60,70, 80, 90, 95, 100
2) Compositions in mole fraction; Count = number of components
Unit Data
Class: UNIT
Use Item: ALL for attribute IDS only (count = number of unit operations)
Unit Item Description Variable Array/ Units Notes
Type Scalar
FeedData Stream IDs for unit feeds Character Array 2
IDS IDs of units Character Array 12 Characters
NAME Name of unit Character Scalar 40 Characters
NumberFeeds Number of feed streams to unit Integer Scalar
Notes:
1) Most unit operations are single-sided. Exchanger unit operations may be multi-sided.
2) The feed and product data variables are arrays of 12 character stream IDs.
For exchanger units of more than one side, the stream IDs will be in this order:
HX Hot Side/Cold Side
HXRIG Shell Side/Tube Side
LNGHX Hot Cells/Cold Cells
The number of feeds and products for each respective side can be obtained using the appropriate
exchanger class.
Flash
Class: Flash
Valve
Class: Valve
Item Description Variable Array/ Units Notes
Type Scalar
KValues K-values Real Array 1
PresCalc Calculated valve pressure Real Scalar Pressure
TempCalc Calculated valve temperature Real Scalar Temperature
Notes:
1) Count = number of components
Expander
Class: Expander
Pump
Class: Pump
Pipe
Class: Pipe
HXRIG Notes
Note 1) Position Flag 1 - Horizontal orientation2 -Vertical orientation
Note 2) Flow Type Flag 0 - Countercurrent 1 - Cocurrent
Note 3) Tube Pitch Flag 0 - Not defined 1 - 30 Degrees 2 -90 Degrees
3 - 60 Degrees 4 - 45 Degrees
LNGHX
Class: LngHx
Phase Envelope
Class: Phase
Equilibrium Reactor
Class: EquReactor
Reactor Notes
Notes:
1) Reactor Type
0 - General 1 - Shift 2 - Methanator
2) Reactor Mode Flag
1 - Outlet temp. specified2 -Adiabatic 3 - Isothermal at mixed feed temperature
3) Reactor Phase
1 - Vapor 2 - Liquid
4) Count = number of reactions
5) Count = number of components
6) Change in moles (product - feed)- count = number of components
7) Fraction converted for reactants consumed; If any component is generated, fraction converted is
reported as zero;
Count = number of components
8) Duty has units 106 Energy/Time
Gibbs Reactor
Class: Gibbs
Item Description Variable Array/ Units Notes
Type Scalar
ChangeMoles Molar change in composition Real Array Mole Rate 6
FeedMoles Molar composition reactor feed Real Array Mole Rate 6
FractionConv Fraction conversion Real Array 8
GibbsMinFreeEnergy Gibbs free energy Real Scalar 3
Stream Concentration
Class: Concentration
CHARACTER*8 FNAME
CHARACTER*12 UID(MAXUOP), UTYPE(MAXUOP), CUTYPE, XID(3)
CHARACTER*40 UNAME(MAXUOP), XNAME(3)
CHARACTER*10 DNTEMP, DNPRES, DNWORK, DNDUTY, PAUOMS
DIMENSION PIN(3), TIN(3), POUT(3), TOUT(3), PRAT(3),
+ WORK(3), EFF(3), DUTY(3)
*********************************************************
100 FORMAT(/)
101 FORMAT( *** PDTS EXAMPLE PROBLEM # 1 ***,/,
+ ENTER FILE NAME: )
102 FORMAT(A)
103 FORMAT(/, DATA RETRIEVAL FROM FILE: ,A15,/)
107 FORMAT( NUMBER OF COMPONENTS = ,I5,/
+ NUMBER OF STREAMS = ,I5,/
+ NUMBER OF UNITS = ,I5,/)
110 FORMAT(/,UNITS,/)
111 FORMAT(I3, :,A12,1X,A20,1X,A40)
112 FORMAT(/, COMPRESSOR TRAIN SUMMARY TABLE ,//,
+ UNIT ID ,15X,3A12,/,
+ 40X,3A12,/)
114 FORMAT( INLET PRESSURE ,A10,3F12.4)
115 FORMAT( INLET TEMPERATURE DEG ,A10,3F12.4)
116 FORMAT( OUTLET PRESSURE ,A10,3F12.4)
Subroutine FIGETU
The calling sequence is:
CALL FIGETU ( 1, LOUT)
This is a PRO/II utility that guarantees that the Fortran unit number
passed to your Fortran OPEN statement will not conflict with files
opened by the PDTS system. The FIGETU subroutine call returns the
next available Fortran unit number for input or output as integer
variable LOUT. An example code extract is shown below:
CHARACTER*8 FNAME
CHARACTER*12 FEXTRA
1001 FORMAT( ENTER FILE NAME: )
1002 FORMAT(A)
.
C
C GET NAME OF PRO/II DATA BASE
WRITE (*, 1001)
READ (*, 1002) FNAME
C
C USE PAOPEN TO OPEN DATABASE FILES AND FILE FNAME.PDS
CALL PAOPEN(FNAME , NFOUT, IERR)
C
C GET ANOTHER FILE UNIT FOR OUTPUT
CALL FIGETU(1, LOUT)
C
C OPEN FILE FNAME.PXX AS NEW FORMATTED SEQUENTIAL FILE
FEXTRA = FNAME // PXX
OPEN (UNIT=LOUT, FILE=FEXTRA, STATUS=NEW,
+ FORM=FORMATTED, ACCESS=SEQUENTIAL)
PDTS Applications
Applications which have been developed in the past using older
versions of the PDTS functions will continue to work with this ver-
sion of PRO/II with minor modifications.
Users must recompile the Fortran source code and re-link their
PDTS application with this version of the PRO/II libraries in order
to make them compatible with PRO/II databases generated with
PRO/II v5.5.
Note: PRO/II database files are not compatible across versions or hardware plat-
forms.
UAS Applications
PRO/II UAS v5.5 allows up to 25 feed and 25 product streams. The
URXINF subroutine is used to identify these streams.
Prior versions were limited to 10 feed and 10 product streams, and
the IDATA array was used for stream identification:
IDATA(11)-(20)Stream IDs for feeds in same order as FEED
statement
IDATA(21)-(30)Stream IDs for products in same order as
PRODUCT statement
Although this method is still valid in version 5.5 for the first 10 feed
and product streams, it is no longer recommended.
To ensure compatibility with future versions, users are encouraged
to revise their UAS code to account for this change.
B I
Building executables
Item
for PDTS , 2-2 See Data retrieval
IU - UOM class flag , 1-5
C
L
Case ID , 1-3
Case sensitivity Limits of standard PDTS
of strings , 1-4 column feeds, draws, etc. , 1-2
Case study ID list subroutine components, streams, unit ops. , 1-2
PACAS() , 3-3 phase envelope curves, points, etc , 1-2
P S
PACAS() SIMSCI Internal Units , 1-5
See Case study ID
PACASE()
See Case study setup U
PACLOS
See Database close
PAUMOS() UOM Class flag - IU , 1-5
See UOM string UOM group specifier - KU , 1-5
PDTS UOM groups (KU) , 1-5
described , i-ii UOM string retrieval subroutine
PDTS applications PAUOMS() , 3-9
compatibility with earlier versions , 8-1
I-2 Index
Invensys Systems, Inc.
26561 Rancho Parkway South
Lake Forest, CA 92630
United States of America
http://iom.invensys.com