Sunteți pe pagina 1din 91

SimSci

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.

2014 by Invensys Systems, Inc. All rights reserved.

Invensys Systems, Inc.


26561 Rancho Parkway South
Lake Forest, CA 92630 U.S.A.
(949) 727-3200
http://www.simsci.com/

For comments or suggestions about the product documentation, send an e-mail message to
ProductDocumentationComments@invensys.com.

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

PRO/II Data Transfer System User Guide I


Retrieving Miscellaneous Flowsheet Data . . . . . . . . . . . . . . . . . . 3-5
Retrieving Flowsheet Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
Floating Point Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
Integer Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
Character Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
Retrieving Unit of Measure String . . . . . . . . . . . . . . . . . . . . . . . . 3-9
Writing Character Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10
Closing Database Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11

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

PRO/II Data Transfer System User Guide III


IV
Overview
About This Manual
This manual provides instructions on using the PRO/II Data Trans-
fer System (PDTS) utilities for PRO/II. An outline of the manual is
provided below:

Chapter PDTS Describes PDTS utility features, explains


1 Introduction the Class, Attribute, and Item concepts
underlying the PDTS utility, and describes
how to handle simulations with multiple
case studies.
Chapter Build Describes compiling and linking PDTS
2 Procedure for programs.
PRO/II PDTS
Chapter PDTS Explains the function of each PDTS
3 Subroutines subroutine, describes the argument list for
and Functions each subroutine, and shows how to use
each subroutine through brief example
problems.
Chapter PDTS Example Provides three example PDTS problems
4 Problems used to learn the general procedures to
successfully building a PDTS program.
Chapter Attribute Lists Provides Class and Attribute lists for
5 PDTS.
Chapter PDTS Example Provides the Fortran listings of the example
6 Listings problems of Chapter 4.
Chapter User- Describes a utility that guarantees that the
7 Addressable Fortran unit number passed to your Fortran
Utility OPEN statement will not conflict with files
Functions opened by the PDTS system.
Chapter Guide for Pre- Outlines rules for users of PDTS/UAS
8 v5.1 PDTS-UAS subroutines written for PRO/II versions
Users prior to v5.1.

PRO/II Data Transfer System User Guide i-i


About PRO/II
PRO/II is a comprehensive computer simulation system for process
engineers in the chemical, petroleum, natural gas, solids processing,
and polymer industries. It combines the data resources of a large
chemical component library and extensive thermodynamic property
prediction methods with the most advanced and flexible unit
operations techniques. It provides the process engineer with the
computational facilities to perform all mass and energy balance
calculations needed to model most steady-state processes.
The PRO/II process simulation program is designed with both the
beginner and the expert in mind. It is based on a foundation of
comprehensive, reliable, and accurate simulation capabilities. It is
easy to use, and the input language is an extension of the universal
language of chemical engineering. Expert systems, extensive input
processing and error checking allow even an inexperienced user to
be instantly productive. These features have made PRO/II an
industry standard.
The PRO/II Data Transfer System (PDTS) is a post-processing util-
ity that enables you to electronically access a wide range of flow-
sheet data from any completed PRO/II simulation. The data
retrieved may then be used in any other application.

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.

i-ii Overview June 2011


Technical Support
SIMSCI and its agents around the world provide technical support
and service for PRO/II. If you have any questions regarding pro-
gram use or the interpretation of program output, contact your local
SIMSCI representative for advice or consultation.
When calling a Technical Support Center, be prepared to describe
your problem or the type of assistance you feel you require. Also, to
expedite your request, please observe the following before calling:
Have the installation CD and printed documentation available.
Determine the type of computer you are using.
Determine the amount of free disk space available on the disk
where PRO/II is installed.
Note the exact actions you were taking when the problem
occurred, as well as the steps you took leading up to that point.
Note the exact error messages that appear on your screen, as
well as any other symptoms.

PRO/II Data Transfer System User Guide i-iii


i-iv Overview June 2011
Chapter 1
PDTS Introduction

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.

PRO/II Data Transfer System User Guide 1-1


Table 1-1: Limits of Standard PDTS
Category Limit (max)
Components 300
Streams 984
Unit operations 500
Trays in a column or LLEX 500
Feed streams to a column 20
Product draws from a column 10
Separate curves in any HCURVE unit 50
Points in any individual HCURVE 100
Separate curves in any Phase Envelope 20
Points in any Phase Envelope curve* 120
* This limit cannot be extended by using an enlarged version of PDTS.

PRO/II Results Files


In normal use, the results of a PRO/II simulation are either sent to
an output file or viewed through the PRO/II user interface. You may
wish to capture these results in a form that can be used to interface
with other programs such as spreadsheets, costing and sizing pro-
grams, customized reports, and so on.
PRO/II generates three temporary database files that contain all
PRO/II input and calculation results. On most operating systems,
these files have the extensions .PRO1, .PRO2, and .PRO3; on the PC,
the file extensions are .PR1, .PR2, and .PR3. When PRO/II is exe-
cuted from a keyword file in batch mode, these database files are
normally deleted after the output report is generated.
By default, PRO/II saves the temporary .PR1, .PR2, and .PR3 data-
base files in the form of a zipped permanent .PRZ file unless you
specify otherwise. PDTS cannot read a .PRZ file. Therefore you
must either use PKUNZIP.EXE to unzip the .PRZ file or use the Save
as .PR1 option in PRO/II.
For PRO/II runs, it is not necessary to generate an output report for
complete PDTS data access. If the flowsheet has solved, you may
alternatively select Output/Perform Output Calculations and save
the flowsheet. This will perform all the necessary additional calcu-
lations needed for PDTS applications.

1-2 PDTS Introduction


To retain the database files:
Change the TITLE statement in the PRO/II keyword input file
by adding the keyword NEWFILE= as illustrated below:
TITLE ..... , NEWFILE=xxxx, CASEID=yyyy
where:
xxxx = Primary file name
yyyy = Case ID name

Note: The Case ID name is optional if the PRO/II simulation has


only a base case. (The default Case ID name is BASECASE.) If the
simulation entails multiple cases, the Case ID is required.
The changes to the keyword file described above are identical to
those used in case study and restart operations.

Note: Refer to the PRO/II Keyword Manual, Chapters 14.1 and


14.2, for further information on restart and case study options.

Generating the PDTS Application


The PDTS application is a new independent program written by the
user in FORTRAN. Input to this new program are the PRO/II data-
base files discussed above. The application will call the PDTS sub-
routines to access the specific simulation results desired and can
then write out information in whatever format is required. Access to
specific simulation results is based on a Class, Attribute and Item
scheme.

Data Retrieval using Class, Attribute and Item


The Class, Attribute and Item data retrieval scheme is a greatly
improved method of accessing the PRO/II simulation results. In the
past, the user had to be familiar with dozens of separate subroutines
to retrieve data. That concept has been dramatically simplified. The
user need call one of only three subroutines to retrieve the data
required depending on the data type. The subroutine PADATR
retrieves floating point data, PADATI retrieves integer data, and
PADATC retrieves character data.

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.

PRO/II Data Transfer System User Guide 1-3


The attribute ALL is used in retrieving component data and lists of
available unit and stream IDs.
The concept can be illustrated in the following example in which
one obtains the actual calculated work required for compressor unit,
C-1. In this case, the Class of data requested is Compressor. The
Attribute is WorkActualCalc, and the Item is the unit ID C-1. The
Class and Attribute names are obtained from Chapter 5, where the
work is described as a floating point scalar value. To retrieve the
floating point result and store it as variable WCALC, the user would
call subroutine PADATR in the following manner:
CALL PADATR(Compressor,WorkActualCalc,C-1,*
WCALC,KC,KU,IU,IERR)

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.

1-4 PDTS Introduction


Specifying Units of Measure (UOM) of the Retrieved Data
In past versions of PDTS, you could not control the UOM of the
returned data items. The current version of PDTS offers limited
UOM control. You can return data in the input units specified for
the simulation in the keyword input on the DIMENSION statement or
one of seven different UOM groups given in Table 1-2.
Table 1-2: Unit of Measure Groups for KU
Value for Description
KU
0 Default input units as specified on the DIMENSION
statement
1 SIMSCI Internal Units (SI)
2 Standard English Units (Table 4.1, PRO/II Keyword
Manual)
3 Standard Metric Units (Table 4.1, PRO/II Keyword
Manual)
4 Standard SI Units (Table 4.1, PRO/II Keyword Manual)
5 Input units (the default)
6 Primary output units as specified on the OUTDIME
statement
7 Alternative output units as specified on the OUTDIME
statement with keyword ADD

Example:
KU = 0
CALL PADATR(Compressor,WorkActualCalc,C-1,WCALC,KC,*
KU,IU,IERR)

The UOM group is illustrated in the compressor example above, as


the variable KU in the call to routine PADATR. In this example, by
setting the value of KU equal to zero, you specify that variable
WCALC will contain the actual work in user input units correspond-
ing to the DIMENSION statement in the original PRO/II keyword
input file.

Returning the UOM of the Retrieved Data


In the example given above, variable IU will contain a UOM class
flag for the retrieved data. This class flag can then be passed to the
character function PAUOMS and used to print a string with the cor-
rect UOM as shown below.

PRO/II Data Transfer System User Guide 1-5


Example:
CHARACTER*30 CBUF, PAUOMS
.
.
.
KU = 0
CALL PADATR(Flash,DutyCalc,F-1,QCALC,KC,
KU,IU,IERR)
CBUF = PAUOMS(IU, KU, IERR)
.
.
WRITE (NF,1001) QCALC, CBUF
1001 FORMAT(The Duty of Flash F-1 = , F10.4, A30)

In the example, variable CBUF contains a character stream with the


default input duty units. Thus, if the PRO/II flowsheet uses
BTU/H for duty units, and the results yield a duty of 5.0 for unit F-1,
the output of this PDTS application would read:
The Duty of Flash F-1 = 5.0000 MMBTU/HR

Handling Simulations with Multiple Cases


If the Case Study option has been used in the PRO/II simula-
tion, data will be stored in the database files under separate
Case IDs. It is possible to set up individual cases and retrieve
selected data for each case using the following subroutines that
are described in detail in Chapter 3:
Subroutine PACASL will retrieve an array of 8-character strings
corresponding to the CASE IDs.
Subroutine PACASE will set up an individual case.

Note: These routines are not required if the BASECASE is the only
case of interest.

1-6 PDTS Introduction


Chapter 2
Build Procedures for PDTS

A PDTS program is a Fortran program that calls PDTS functions to


retrieve results from data files created by solving a PRO/II simula-
tion. The PDTS program must be compiled and linked using the fol-
lowing compiler:
Intel Visual Fortran version 10.x for Windows (Standard or
Professional Edition)
The build procedures outlined in this chapter assume that you are
familiar with the specific compiler being used.

Build Procedure for PRO/II PDTS


You compile and link your PDTS programs using Intel Visual For-
tran version 10.x for Windows (Standard or Professional Edition).
PDTS programs built with this compiler can run under Windows
NT, Windows 2000, or Windows XP at the command prompt.
(Note: Intel Visual Fortran 10.x is compatible only with Microsoft
.Net 2003 architecture. This means all program compilations must
be performed within the 2003.NET architecture. This architecture is
not supported on Windows 98/ME. Applications created by Intel
Fortran 10.x should execute successfully on systems using .NET
2005 or .NET 2007.)
The sample build procedure outlined below uses the sample key-
word input file EXAM1.INP, compiles and links the sample PDTS
program EXAM1.FOR, and then runs the PDTS executable file to
generate a custom output report.

PRO/II Data Transfer System User Guide 2-1


Note: These instructions assume that you have installed PRO/II
PDTS in the default directory structure, C:\SIMSCI\PROII83.
Modify the paths indicated in the example if you have installed
the program in a directory structure other than the default.

Using PDTS with PRO/II


To use the PDTS utility with PRO/II:
Run a flowsheet problem successfully to generate the necessary
database files.
Compile, link, and run your PDTS program.

Generating PRO/II Database Files


To locate and run the EXAM1.INP input file:
Run PRO/II.
Import the EXAM1.INP file, located in the
C:\SIMSCI\PROII80\USER\PDTS\EXAMPLES directory.

Save the simulation as a .PR1 file. (By default, PRO/II saves


simulations as .PRZ files.)
PRO/II runs the problem EXAM1 and generates database files
EXAM1.PR1, EXAM1.PR2, and EXAM1.PR3 (by default, located in
C:\SIMSCI\PROII80\USER\PDTS\EXAMPLES).

Compile and link EXAM1.FOR to create the PDTS program.

Building a PDTS Executable File Using Intel Visual Fortran


To build a PDTS executable file using Intel Visual Fortran:
Start Microsoft Visual Studio .NET.
Select File/Open Solution from the menu bar.
Select the file \SIMSCI\PROII83\USER\PDTS\EXAM-
PLES\IF8\EXAM1.sln and click OK.

Note: All sample files are located in \SIM-


SCI\PROII83\USER\PDTS\EXAMPLES. The Microsoft
Visual Studio .NET solution files (which are used to build
the Intel Fortran applications) are located in
\SIMSCI\PROII83\USER\PDTS\EXAMPLES\IF8.

2-2 Build Procedures for PDTS


Locate the PRO/II error and support files, PROII.ERR
and PROII.SP1. By default, they should be in
C:\SIMSCI\PROII83\SYSTEM. However, they may be in a
different directory if you modified the PRO/II directory struc-
ture during installation.

Note: If PROII.ERR and PROII.SP1 are in a directory other


than the one specified above, you must edit the directory path
in EXAM1_IF8.FOR as shown below.

Note: EXAM1_IF8.FOR is a modified version of


EXAM1.FOR to allow PDTS applications compiled with Intel
Fortran 8.0 the ability to write output to the standard output
files provided by PRO/II 8.0 PDTS.

To edit the EXAM1_IF8.FOR file:


Select View/Solution Explorer from the menu bar.
Expand the EXAM1 node in the solution explorer tree.
Expand the Source Files node in the solution explorer tree.
Double-click on EXAM1_IF8.FOR to open the file for editing.
Search for the string PAOPEN in the file EXAM1_IF8.FOR.
Replace SIMSCI\PROII80\SYSTEM\ in the argument list of
the function call PAOPEN with the correct directory path to the
files PROII.ERR and PROII.SP1, for example, D:\SIM-
SCI\PROII80\SYSTEM\.
Save your changes to EXAM1_IF8.FOR.
Now, you can build the new executable file:
Select the Build EXAM1 option from the Build menu.
The PDTS program EXAM1.EXE will be built in the directory
\SIMSCI\PROII80\USER\PDTS\EXAMPLES. This program can
be run under Windows NT, Windows 2000, or Windows XP at the
command prompt.
You can now run the program either from the command line or from
within Microsoft Visual Studio .NET.
To run from within Visual Studio .NET:

PRO/II Data Transfer System User Guide 2-3


Select Start Without Debugging from the Debug menu.
Select Execute EXAM1.EXE from the File menu.
You will be prompted for the name of the database files.
Type EXAM1. The EXAM1.EXE file extracts data from a train of
compressors and generates an output report (in EXAM1.PDS).

Note: If the EXAM1.PR* database files are located in the direc-


tory directly above the directory containing the make file, type
..\EXAM1 instead.

Compare the results in EXAM1.PDS with the test results in the


file EXAM1.CKP (these will be in the same directory as your
EXAM1.PR* files). If your PDTS example ran successfully, there
should be no difference between the files.

2-4 Build Procedures for PDTS


Chapter 3
PDTS Subroutines and Functions

This chapter describes the ten user-callable subroutines of the


PRO/II Data Transfer System shown in Table 3-1. This chapter:
Describes what each PDTS subroutine can do.
Explains the argument list for each subroutine.
Illustrates each subroutine through a brief sample problem.
Table 3-1: Standard PDTS Subroutines
Routine Purpose
PAOPEN Opens the database files (required)
PACASL Lists available case IDs
PACASE Sets up an individual case (required for Case Study)
PAMISC Retrieves miscellaneous flowsheet parameters (required)
PADATR Retrieves single precision floating point data
PADATI Retrieves integer data
PADATC Retrieves character type data
PAUOMS Retrieves unit of measure string
PAWRITE Writes a line of character data to the standard output file
provided by PRO/II PDTS.
PACLOS Closes database files (required)
FIGETU Returns unique Fortran file unit number

PRO/II Data Transfer System User Guide 3-1


Opening Database Files
SUBROUTINE PAOPEN(NAME, SPATH, NFOUT, IRCODE)

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:

NAME Character string corresponding to the primary file


name (name) on the TITLE statement specified by
the keyword NEWFILE=name. The PRO/II database
files name.PR1, etc. must be in the current directory
when the application is executed.
SPATH Character string consisting of path to error and
support files. If these files were installed in default
location on the (same disk drive as the PDTS
application was run from), then user may enter a
blank string - ' ' ('<space>') for this argument
NFOUT The Fortran output file unit number for the default
PDTS output file. The default file name will be
name.PDS.
IRCODE Return code (non-zero indicates error
condition).

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-

3-2 PDTS Subroutines and Functions


tory: \SIMSCI\PROII_W\SYSTEM\. On UNIX systems the default is
the directory: /usr/local/lib/simsci/ssilib/.
If you have installed the PRO/II error and support files on the C:
drive but are executing the PDTS application on the D: drive, then
the full path to the PRO/II error and support files must be entered as
the SPATH argument. In the above example, the subroutine call will
be changed to read:
CALL PAOPEN( NAME, C:\PSIMSCI\PROII_W\SYSTEM\, &
NFOUT, IRCODE )
Note: Normally PAOPEN is used to open the PRO/II database files
and a single file for output. However, you may wish to open addi-
tional files for input or output. This can be accomplished using the
FIGETU subroutine (see Chapter 7).

Obtaining a List of Case Study IDs


SUBROUTINE PACASL (MXN, KNX, CASEN, IRCODE)

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.

Note: This routine is required only when the user wishes to


retrieve data from cases other than BASECASE.

Arguments:

MXN Number of elements in the CASEN array in the


calling routine.
KNX Number of case IDs actually found in file.
CASEN Array of CHARACTER*12 strings containing the
available case IDs.
IRCODE Return code (non-zero indicates error
condition).

Example:
PARAMETER (MXN = 25)
.
CHARACTER*12 NAME, CASEN (MXN)
.
.
1001 FORMAT (Enter File Name )
1002 FORMAT (A)

PRO/II Data Transfer System User Guide 3-3


1003 FORMAT (Number Case IDs Found = ,I5, /)
1004 FORMAT (I5, 1X,A14)
WRITE (*, 1001)
READ (*, 1002) NAME
.
CALL PAOPEN (NAME, , NFOUT, IRCODE)
C
C Retrieve Available Case IDs and Display on Screen
C
CALL PACSL (MXN, KXN, CASEN, IRCODE)
WRITE (*, 1003) KXN
NXN = MIN (MXN, KXN)
DO 2001 IX = 1, NXN
WRITE (*, 1004) IX, CASEN (IX)
2001 CONTINUE

Setting Up an Individual Case Study


SUBROUTINE PACASE( CASEX, IRCODE)

Purpose:
To set up an individual simulation case.

Note: Subroutine PAOPEN must be called prior to opening the


PRO/II database.
If the desired case ID is not known, you should call subroutine
PACASL to obtain a list of case IDs. If the required case is
BASECASE, a call to this routine is not required.

Arguments:

CASEX Character*12 case ID.


IRCODE Return code (non-zero indicates error condition).

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)

3-4 PDTS Subroutines and Functions


CALL PACASL (MXN, KXN, CASEN, IRCODE)
WRITE (*, 1003) KXN
NXN = MIN (MXN, KXN)
DO 2001 IX = 1, NXN
WRITE (*, 1004) IX, CASEN (IX)
2001 CONTINUE
C
C Set Up Desired Case
C
WRITE (*, 1005)
READ (*, 1002) CASEX
CALL PACASE (CASEX, IRCODE)

Retrieving Miscellaneous Flowsheet Data


SUBROUTINE PAMISC(NCOMP, NSTRM, NUNIT, 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:

NCOMP Number of components.


NSTRM Number of streams.
NUNIT Number of unit operations.
IRCODE Return code (non-zero indicates error condition).

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

CALL PAMISC (NCOMP, NSTRM, NUNIT, IRCODE)


C
C Check Return Code
C

PRO/II Data Transfer System User Guide 3-5


IF ( IRCODE .EQ. 0 ) THEN
WRITE (NFOUT, 1001) NCOMP, NSTRM, NUNIT
ELSE
WRITE (*, 1002)
STOP
ENDIF

Retrieving Flowsheet Data


Floating Point Data
SUBROUTINE PADATR (CLASS, ATTRIB, ITEM, RBUF,
KC, KU, IU,IRCODE)

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:

CLASS Class character string identifying the class of data


requested.
ATTRIB Attribute character string identifying individual data
attribute requested within the class selected.
ITEM Item character string identifying the particular data
item for which data are requested.
RBUF REAL*4 variable sufficiently sized to hold the
retrieved data. Either scalar variable or array
depending on the Attribute requested.
KC Integer count of data items retrieved in RBUF.
KU Integer UOM group flag (0 - 7). Controls conversion
of the data in RBUF. Refer to Table 1-2.
IU Integer UOM class flag. Zero value indicates that
RBUF is dimensionless. This flag may be used to
retrieve a UOM string from function PAUOMS.
IRCODE Return code (non-zero indicates error condition).

Example:
DIMENSION XNBP (MAXNOC)
CHARACTER*20 CTEMP, PAUOMS
.
.

3-6 PDTS Subroutines and Functions


1001 FORMAT (Normal Boiling Point - DEG, A5)
1002 FORMAT (5E15.6)
.
.
KU = 7
CALL PADATR (COMP, NormBoilPt, ALL, XNBP,
KC, KU,
IU, IER)
CTEMP = PAUOMS ( IU, KU, IRCODE)
WRITE (NFOUT, 1001) CTEMP(1:5)
WRITE (NFOUT, 1002) (XNBP(I), I = 1, KC)
In the above example, the normal boiling points for all components
are retrieved into the array XNBP. By referring to Chapter 5, the user
will find that component data require a Class of COMP and that the
Attribute for normal boiling point is NormBoilPt. The Attribute is
also reported to be an array of values, one for each component in
the flowsheet case. Therefore, the Item is ALL. The user must insure
that XNBP is dimensioned large enough to hold all the data.
The example also illustrates the use of character function PAUOMS
to get a string to be used in printout. By setting the Unit of Measure
group flag to 7 prior to calling PADATR, the user has specified that
the array XNBP will contain the retrieved data in Alternate Output
units as specified on the OUTDIME statement when the PRO/II run
was executed.

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:

CLASS Class character string identifying the class of data


requested.
ATTRIB Attribute character string identifying individual data
attribute requested within the class selected.
ITEM Item character string identifying the particular data
item for which data are requested.

PRO/II Data Transfer System User Guide 3-7


IBUF INTEGER*4 variable sufficiently sized to hold the
retrieved data. Either scalar variable or array
depending on the Attribute requested.
KC Integer count of data items retrieved in IBUF.
IRCODE Return code (non-zero indicates error
condition).

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:

CLASS Class character string identifying the class of data


requested.
ATTRIB Attribute character string identifying individual data
attribute requested within the class selected.
ITEM Item character string identifying the particular data
item for which data are requested.
CBUF Character type variable sufficiently sized to hold the
retrieved data. Either single string or array
depending on the Attribute requested.
KS Size in bytes of each string retrieved.
KC Integer count of the number of data items retrieved
in CBUF.

3-8 PDTS Subroutines and Functions


IRCODE Return code (non-zero indicates error condition).

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.

Retrieving Unit of Measure String


The calling sequence is:
CHARACTER*(*) FUNCTION PAUOMS ( IU, KU, IRCODE)

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:

IU Unit of measure class flag. This flag should be set by


a previous call to subroutine PADATR. If IU equals
zero, the quantity is dimensionless.
KU Unit of measure group flag.
IRCODE Return code (non-zero indicates error condition).

Example:
CHARACTER*30 PAUOMS, CVEL
1001 FORMAT (Maximum Velocity in Pipe = , F10.4,
A30)
.
KU = 0
.

PRO/II Data Transfer System User Guide 3-9


CALL PADATR (Pipe, CalcMaxVelocity, P-1,
VMAX, KC,
KU, IU, IERR)
CVEL = PAUOMS (IU, KU, IERR)
WRITE (NFOUT, 1001) VMAX, CVEL
In this example, the user retrieves the maximum velocity in pipe
unit P-1 by a call to PADATR. Upon return from PADATR, the value
of IU will be an integer flag corresponding to velocity units.
Because the user has set KU = 0 before the call to PADATR, the value
of VMAX is in Input units. Thus, function PAUOMS will retrieve a
character string constant with the value of VMAX.
If the velocity units on the DIME statement in the original PRO/II
keyword input file is FT/S and the velocity is 5.0, then the output to
the default output file will read:
MAXIMUM VELOCITY IN PIPE = 5.0000 FT/SEC

Writing Character Output


SUBROUTINE PAWRITE(NFOUT, CHARDATA)

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:

NFOUT The Fortran output file unit number.For PDTS


applications, this is provided by the subroutine
PAOPEN. For User-Added Unit Operation
subroutines, this is provided by IDATA(6) in the
argument list.

Example:
CHARACTER*8 NAME
CHARACTER*133 CHARDATA
.
.

3-10 PDTS Subroutines and Functions


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 (CHARDATA, 103) NAME
PAWRITE (NFOUT, CHARDATA)

In the above example, the PAOPEN subroutine has provided a


Fortran unit number for the output file into the variable NFOUT. If
you are compiling this PDTS application with Intel Fortran 8.0, you
must use PAWRITE to write character output to that file.

Note: Do not use PAWRITE to read/write files that you have


opened yourself (using the Fortran OPEN statement); instead, you
must use the normal Fortran WRITE statement.

Closing Database Files


SUBROUTINE PACLOS( )

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.

PRO/II Data Transfer System User Guide 3-11


3-12 PDTS Subroutines and Functions
Chapter 4
PDTS Example Problems

This chapter contains three PDTS example problems. In the first,


the PDTS application is used to create a custom output report for
the compressor train in a plant. The second example illustrates the
use of PDTS in retrieving column condenser and reboiler duties. In
the third example, PDTS is used to generate a tray-by-tray report of
column flowrates, densities, temperatures, pressures, and
compositions.
This chapter provides:
General procedures needed to build a PDTS program,
Step-by-step instructions for writing three complete PDTS
programs.

General Instructions for Running a PDTS Problem


You must first successfully run your simulation program by follow-
ing these steps:
1. Create your simulation input file directly by keyword input or
by using the PRO/II GUI.
2. Run your problem to obtain the three database files, i.e., run the
flowsheet with the TITLE statement keyword NEWFILE=xxxx,
where xxxx is the primary name of the PRO/II database files to
be retained.
3. For PRO/II GUI, solve the flowsheet, and then either generate
an output report or select Output/Perform Output Calculations.
Save the file with the extension .PR1.

PRO/II Data Transfer System User Guide 4-1


For each PDTS example problem, you must then complete the fol-
lowing steps:
1. Create a PDTS Fortran main routine that will retrieve the data
required by Class, Attribute and Item, and that will print the
data to the output file in the tabular format desired.
2. Compile the PDTS Fortran routine and link with the supplied
PRO/II libraries.
3. Execute the PDTS application program.

Example Problem 4-1: Compressor Train


Task Description
The user is simulating a compressor train consisting of three stages
of compression. It is desired to create a table consolidating the out-
put results of all three stages.

Creating the PDTS Application Program


The key lines in the Fortran PDTS program are detailed in the steps
below:
1. Prompt the user of the PDTS application for the file name. This
is the same file name that was entered as keyword NEWFILE=
xxxx.
101 FORMAT( *** PDTS EXAMPLE PROBLEM # 1 ***,/,
+ ENTER FILE NAME: )
102 FORMAT(A)
.
.
.
C ENTER FILE NAME
C
WRITE (*,101)
READ (*,102) FNAME

2. Call subroutine PAOPEN with this name to open the database


files. It is assumed that these files are located in the current
working directory. In the call to PAOPEN, supply a blank string
as argument SFPATH (i.e., it is assumed that the PRO/II support
and error files have been installed in the default directory loca-
tion). If this is not the case, supply the appropriate path string to
this routine.
C INITIALIZE RETRIEVAL SYSTEM & OPEN SELECTED FILE
C
CALL PAOPEN(FNAME, ,NFOUT,IRCODE)

4-2 PDTS Example Problems


IF (IRCODE .NE. 0) THEN
WRITE(*,205)
STOP
ENDIF
PAOPEN will return a Fortran unit number as variable NFOUT. The
default output has a file extension of .PDS. Check the returned error
code (IRCODE) to see if there was a problem opening the files.

Note: Because there was only a single PRO/II simulation case


run, there is no need to set up a case (i.e., routines PACASE and
PACASEL are not necessary).

3. The next subroutine call is to PAMISC. This initializes data


retrieval and returns the key flowsheet parameters. Check the
returned error code from this routine. A value of 1 indicates
that the PRO/II simulation solution was not reached.
C GET MISCELLANEOUS FLOWSHEET DATA
C
CALL PAMISC(NCOMP,NSTRM,NUNIT,IRCODE)
IF (IRCODE .NE. 0) THEN
WRITE (*,203)
STOP
ENDIF

4. The next subroutine call is to PADATC which will return an


array of 12 character strings containing the unit IDs. By refer-
ring to Chapter 5, you can see that the Class and Attribute for
this retrieval are UNIT and IDS respectively. Because these
data are required for all units, the Item is All.
C GET UNIT IDS
C
CALL PADATC(UNIT,IDS,ALL,UID,KS,KC,IER)

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)\

PRO/II Data Transfer System User Guide 4-3


1004 CONTINUE

6. Then, an iterative loop is set up to cycle through all units to


select the compressor unit operations for data retrieval. To
check the unit type, keep in mind that the first four characters
of the type string will match those of the unit operation key-
word for that unit type. Note that the user-selected default input
units are specified on the DIMENSION statement in the PRO/II
input file before calling subroutine PADATR. A series of floating
point data retrievals are set up inside the loop. In each case, the
Class is Compressor and the call to subroutine PADATR is made
with the appropriate Attribute string as given in Chapter 5 for
Compressor data.
C SELECT COMPRESSOR UNIT OPS
C RETRIEVE DATA FOR EACH STAGE
C
KX = 1
DO 1010 IX = 1, NUNIT
CUTYPE = UTYPE(IX)
IF (CUTYPE(1:4) .EQ. COMP) THEN
C
XID(KX) = UID(IX)
XNAME(KX) = UNAME(IX)
C
CALL PADATR(Compressor,PresInletCalc,&
UID(IX), PIN(KX),KC,KUOM,IPRES,IER)
C
CALL PADATR(Compressor,TempInletCalc, &
UID(IX), TIN(KX),KC,KUOM,ITEMP,IER)
C
CALL PADATR(Compressor,PresCalc, &
UID(IX), POUT(KX), KC, KUOM, IUOM, IER)
C
CALL PADATR(Compressor,TempCalc, &
UID(IX), TOUT(KX), KC, KUOM, IUOM, IER)
C
CALL PADATR(Compressor,PRatio,UID(IX), &
PRAT(KX), KC, KUOM, IUOM, IER)
C
CALL PADATR(Compressor,WorkActualCalc, &
UID(IX), WORK(KX), KC, KUOM, IWORK, IER)
C
CALL PADATR(Compressor,EffAdiaCalc, &
UID(IX), EFF(KX) KC, KUOM, IUOM, IER)
C
CALL PADATR(Compressor,AcDutyCalc, &
UID(IX), DUTY(KX), KC, KUOM, IDUTY, IER)
C
KX = KX + 1
C

4-4 PDTS Example Problems


END IF
1010 CONTINUE

7. Subroutine PADATR returns a unit of measure class flag (KUOM)


which is used after the loop to get the required unit of measure
strings from function PAUOMS.
C GET UNIT OF MEASURE STRINGS
C
DNTEMP = PAUOMS(ITEMP, KUOM, IERR)
DNPRES = PAUOMS(IPRES, KUOM, IERR)
DNWORK = PAUOMS(IWORK, KUOM, IERR)
DNDUTY = PAUOMS(IDUTY, KUOM, IERR)

8. Finally, a formatted table is printed.


C WRITE OUT TABLE
C
WRITE(NFOUT,112) (XID(I), I = 1, 3), (XNAME(I),
I =1,3)
WRITE(NFOUT,114) DNPRES, (PIN(I), I = 1, 3)
WRITE(NFOUT,115) DNTEMP, (TIN(I), I = 1, 3)
WRITE(NFOUT,116) DNPRES, (POUT(I), I = 1, 3)
WRITE(NFOUT,117) DNTEMP, (TOUT(I), I = 1, 3)
WRITE(NFOUT,118) (PRAT(I), I = 1, 3)
WRITE(NFOUT,119) DNWORK, (WORK(I), I = 1, 3)
WRITE(NFOUT,120) (EFF(I), I = 1, 3)
WRITE(NFOUT,121) DNDUTY, (DUTY(I), I = 1, 3)
C
END
The complete code listing of Example 4-1 is given in Chapter 6.
The resulting output file is shown below:
DATA RETRIEVAL FROM FILE: G4
NUMBER OF COMPONENTS = 13
NUMBER OF STREAMS = 11
NUMBER OF UNITS = 6
UNITS
1 :F1 FLASH FEED FLASH
2 :C1 COMPRESSOR STAGE 1
3 :F2 FLASH STAGE 1 SEP
4 :C2 COMPRESSOR STAGE 2
5 :F3 FLASH STAGE 2 SEP
6 :C3 COMPRESSOR STAGE 3
COMPRESSOR TRAIN SUMMARY TABLE
UNIT ID C1 C2 C3
STAGE 1 STAGE 2 STAGE
3
INLET PRESSURE KPA 450.0000 1100.0000
2600.0000
INLET TEMPERATURE DEG C 45.0005 55.2281
56.8686

PRO/II Data Transfer System User Guide 4-5


OUTLET PRESSURE KPA 1100.0000 2600.0000
6200.0000
OUTLET TEMPERATURE DEG C 102.6523 114.0621
121.7587
PRESSURE RATIO (OUT/IN) 2.4444 2.3636
2.3846
ACTUAL WORK KW 28051.49 28281.59
28049.77
ADIABATIC EFFICIENCY 78.0000 75.0000
72.0000
AFTERCOOLER DUTY M*KJ/HR -82.6188 -120.8522 -
167.6049

Example Problem 4-2: Single Column


Task Description
You are simulating a single column. The objective is to do a case
study and generate a table of the effects of increasing feed flowrate
on condenser and reboiler duty for each case study.

Creating the PDTS Application Program


The key lines in the Fortran PDTS program are detailed in the steps
below:
1. Prompt the user of the PDTS application for the file name. This
is the same file name that was entered as keyword NEWFILE=
xxxx.
101 FORMAT( *** PDTS EXAMPLE PROBLEM # 2 ***,/,
+ ENTER FILE NAME: )
102 FORMAT(A)
.
.
.
C ENTER FILE NAME
C
WRITE (*,101)
READ (*,102) FNAME

2. Call subroutine PAOPEN with this name to open the database


files. It is assumed that these files are located in the current
working directory. In the call to PAOPEN, supply a blank string
as argument SFPATH (i.e., it is assumed that the user has
installed the PRO/II support and error files in the default direc-
tory location). If this is not true, you must supply the appropri-
ate path string to this routine.

4-6 PDTS Example Problems


C INITIALIZE RETRIEVAL SYSTEM & OPEN SELECTED
FILE
C
CALL PAOPEN(FNAME, ,NFOUT,IRCODE)
IF (IRCODE .NE. 0) THEN
WRITE(*,205)
STOP
ENDIF
PAOPEN will return a Fortran unit number as variable NFOUT.
The default output has a file extension of .PDS. You should
check the returned error code (IRCODE) to see if there was a
problem opening the files.
3. Next, call PACASL to get an array containing the case study
IDs.
C GET ARRAY OF CASE IDS
C
CALL PACASL(MXN,KXN,CASE,IRCODE)
NXN = MIN(MXN,KXN)
Then, set the default input units as the units of measure for the
PDTS routine, and set up the target unit to be unit D101 and the
target stream to be stream 1.
C SET UNIT OF MEASURE AS DEFAULT INPUT UNITS
C
UOM = 0
C
C TARGET CASE ID IS D101
C FEED STREAM IS 1
C
UID = D101
SID = 1

4. Set up each case study by calling PACASE in an iterative loop.


C SET UP EACH CASE
C
DO 3001 KX = 1, NXN
WRITE(*,105) CASE(KX)
CALL PACASE(CASE(KX),IRCODE)

5. The next subroutine call is to PAMISC. This will initialize the


data retrieval process and return the key flowsheet parameters.
You should check the returned error code from this routine. A
value of 1 indicates that the PRO/II simulation solution was not
reached.
C GET MISCELLANEOUS FLOWSHEET DATA
C
CALL PAMISC(NCOMP,NSTRM,NUNIT,IRCODE)
IF (IRCODE .NE. 0) THEN

PRO/II Data Transfer System User Guide 4-7


WRITE (*,203)
STOP
ENDIF

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)

8. Then, two separate calls are made to PADATR to retrieve the


column condenser and reboiler duties. To check the unit type,
keep in mind that the first four characters of the type string will
match those of the unit operation keyword for that unit type. In
each case, the Class is Colu and the calls to subroutine PADATR
are made with the appropriate Attribute strings as given in
Chapter 5 for Column data.
C GET COLUMN CONDENSER & REBOILER DUTIES
C
CALL PADATR(Colu,CondenserDuty, UID, &
QCON(KX), KC, KUOM, IDUTY, IER)
C
CALL PADATR(Colu,ReboilerDuty,UID, &
QREB(KX), KC, KUOM, IUOM, IER)
C
3001 CONTINUE

9. Subroutine PADATR returns a unit of measure class flag (KUOM)


which is used after the loop to get the required unit of measure
strings from function PAUOMS.
C GET UNIT OF MEASURE STRINGS
C
DNFLOW = PAUOMS(IFLOW, KUOM, IERR)
DNDUTY = PAUOMS(IDUTY, KUOM, IERR)

10. Finally, a formatted table of stream flowrates and column con-


denser and reboiler duties is printed.

4-8 PDTS Example Problems


C WRITE OUT TABLE
C
WRITE(NFOUT,112) UID, UNAME
WRITE(NFOUT,114) (CASE(I), I = 1, NXN)
WRITE(NFOUT,115) DNFLOW, (FLOW(I), I = 1,
NXN)
WRITE(NFOUT,116) DNDUTY, (QCON(I), I = 1,
NXN)
WRITE(NFOUT,117) DNDUTY, (QREB(I), I = 1,
NXN)
C
END
The complete listing of Example 4-2 is given in Chapter 6.
The resulting output file is shown below:
DATA RETRIEVAL FROM FILE: G2TEST
COLUMN CASE STUDY SUMMARY TABLE

UNIT ID D101 DEETHANIZER

CASE ID BASE CASE1 CASE2


CASE3
FEED FLOW RATE LB-MOL/HR 900.0 950.0 1000.0
1050.0
CONDENSER DUTY MM BTU/HR -1.4724 -1.5542 -1.6360 -
1.7179
REBOILER DUTY MM BTU/HR 5.4934 5.7982 6.1031
6.4085

Example Problem 4-3: Trayed Column


Task Description
You have used the PRO/II program to rate a trayed column. Your
objective is to obtain tray-by-tray results for the column.

Creating the PDTS Application Program


The key lines in the Fortran PDTS program are detailed in the steps
below:
1. Prompt the user of the PDTS application for the file name. This
is the same file name that was entered as keyword NEWFILE=
xxxx.
101 FORMAT( *** PDTS EXAMPLE PROBLEM # 3 ***,/,
+ ENTER FILE NAME: )
102 FORMAT(A)
.
.

PRO/II Data Transfer System User Guide 4-9


.
C ENTER FILE NAME
C
WRITE (*,101)
READ (*,102) FNAME

2. Call subroutine PAOPEN with this name to open the database


files. It is assumed that these files are located in the current
working directory. In the call to PAOPEN, supply a blank string
as argument SFPATH (i.e., it is assumed that the user has
installed the PRO/II support and error files in the default direc-
tory location). If this is not true, you must supply the appropri-
ate path string to this routine.
C INITIALIZE RETRIEVAL SYSTEM & OPEN SELECTED
FILE
C
CALL PAOPEN(FNAME, ,NFOUT,IRCODE)
IF (IRCODE .NE. 0) THEN
WRITE(*,205)
STOP
ENDIF
PAOPEN will return a Fortran unit number as variable NFOUT.
The default output has a file extension of .PDS. Check the
returned error code (IRCODE) to see if there was a problem
opening the files.
3. The next subroutine call is to PAMISC. This initializes the data
retrieval process and returns the key flowsheet parameters.
Check the returned error code from this routine. A value of 1
indicates that the PRO/II simulation solution was not reached.
C GET MISCELLANEOUS FLOWSHEET DATA
C
CALL PAMISC(NCOMP,NSTRM,NUNIT,IRCODE)
IF (IRCODE .NE. 0) THEN
WRITE (*,203)
STOP
ENDIF
Then, set the default input units as the units of measure for the
PDTS routine, and set up the target unit to be unit D101.
C SET UNIT OF MEASURE AS DEFAULT INPUT UNITS
C
C KUOM = 0
C
C TARGET CASE ID IS D101
C FEED STREAM IS 1
C
UID = D101

4-10 PDTS Example Problems


4. The next two subroutine calls are to PADATC, which returns the
component IDs and column unit name. By referring to Chapter
5, you can see that the Class and Attribute for the first call are
COMPS and IDS. Because these data are required for all com-
ponents, the Item is ALL. For the second call, the Class and
Attribute are UNIT and NAME respectively. Because these data
are required for one unit only, the Item is UID.
C GET COMPONENT IDS
C
CALL PADATC(COMPS,IDS,ALL,COMPID, KS, &
KC, IER)
C
C GET UNIT NAME
C
CALL PADATC(UNIT,NAME,UID,UNAME,KS,KC,IER)

5. The next step is to obtain the total number of trays in column


D101 by calling routine PADATI. In this call, the Class and
Attribute are Colu and NumberOfTrays. Because these data are
required for this unit only, the Item is the UID.
C GET NUMBER OF TRAYS
C
CALL PADATI(Colu,NumberOfTrays, UID, &
NTRAY, KC, IER)

6. Then, two separate calls are made to PADATR to retrieve the


column tray temperature and pressure. To check the unit type,
keep in mind that the first four characters of the type string will
match those of the unit operations keyword for that unit type. In
each case the Class is Colu and the calls to subroutine PADATR
are made with the appropriate Attribute strings as given in
Chapter 5 for Column data.
C GET COLUMN TRAY BY TRAY TEMPERATURE & PRESSURE
C
CALL PADATR(Colu,TrayPressures, UID, &
PRES, KC, KUOM, IPRES,IER)
C
CALL PADATR(Colu,TrayTemperatures, UID, &
TEMP, KC, KUOM, ITEMP, IER)
Similar calls are made to PADATR for tray liquid and vapor net
rates, densities and compositions.
C GET COLUMN TRAY BY TRAY NET LIQUID &
C NET VAPOR RATES
CALL PADATR(Colu, TrayNetVapRates, UID, &
XVNET, KC, KUOM, IFLOW, IER)
C
CALL PADATR(Colu,TrayNetLiqRates, UID, &

PRO/II Data Transfer System User Guide 4-11


XLNET, KC, KUOM, IUOM, IER)
C
C GET COLUMN TRAY BY TRAY LIQUID & VAPOR DENSITIES
C
CALL PADATR(Colu,TrayVapDensityAct,UID, &
DENVAP, KC, KUOM, IVDEN, IER)
C
CALL PADATR(Colu,TrayLiqDensityAct, UID, &
DENLIQ, KC, KUOM, ILDEN, IER)
C
C GET COLUMN TRAY BY TRAY LIQUID &
C VAPOR COMPOSITIONS
CALL PADATR(Colu,TrayVaporMoleFracs, UID,&
YCOMP, KC, KUOM, IUOM, IER)
C
CALL PADATR(Colu,TrayLiquidMoleFracs, &
UID,XCOMP, KC, KUOM, IUOM, IER)

7. Subroutine PADATR returns a unit of measure class flag (KUOM)


which is used to get the required unit of measure strings from
function PAUOMS.
C GET UNIT OF MEASURE STRINGS
C
DNPRES = PAUOMS(IPRES, KUOM, IERR)
DNTEMP = PAUOMS(ITEMP, KUOM, IERR)
DNFLOW = PAUOMS(IFLOW, KUOM, IERR)
DNLDEN = PAUOMS(ILDEN, KUOM, IERR)
DNVDEN = PAUOMS(IVDEN, KUOM, IERR)

8. Finally, a formatted table of column pressures, temperatures,


vapor and liquid net flows, densities, and compositions is
printed for each tray.
C WRITE OUT TABLE
C
WRITE (NFOUT,112) UID, UNAME
DO 3001 KX = 1, NTRAY, 5
WRITE (NFOUT,114) KX, KX+1, KX+2, KX+3, KX+4
WRITE (NFOUT,115) DNPRES, &
(PRES(I), I = KX, KX+4)
WRITE (NFOUT,116) DNTEMP, &
(TEMP(I), I = KX, KX+4)
WRITE (NFOUT,117) DNFLOW, &
(XVNET(I), I = KX, KX+4)
WRITE (NFOUT,118) DNFLOW, &
(XLNET(I), I = KX, KX+4)
WRITE (NFOUT,119) DNVDEN, &
(DENVAP(I), I = KX, KX+4)
WRITE (NFOUT,120) DNLDEN, &
(DENLIQ(I), I = KX, KX+4)
C
WRITE (NFOUT,121)

4-12 PDTS Example Problems


DO 2501 JX = 1, NCOMP
WRITE (NFOUT,122) COMPID(JX),
+ (YCOMP(JX+NCOMP*(I-1)), I = KX, KX+4)
2501 CONTINUE
C
WRITE (NFOUT,123)
DO 2502 JX = 1, NCOMP
WRITE (NFOUT,122) COMPID(JX),
+ (XCOMP(JX+NCOMP*(I-1)), I = KX, KX+4)
2502 CONTINUE
3001 CONTINUE
END
The complete listing of Example 4-3 is given in Chapter 6.
The resulting output file is shown below:
DATA
COLUMN REPORT TABLE - UID: D101 - DEETHANIZER
RETRIEVAL FROM FILE: G2
TRAY NUMBER: 1 2 3 4 5
PRESSURE: PSIG 425.00 430.00 430.56 431.11 431.67
TEMPERATURE: F -36.17 -7.76 1.48 8.68 16.03
NET VAPOR RATE: LB-MOL/HR 577.51 895.93 893.19 873.23 849.74
NET LIQUID RATE:
LB-MOL/HR 318.42 315.68 295.72 272.23 252.93
VAPOR DENSITY: LB/FT3 2.5736 2.7621 2.7713 2.7321 2.6887
LIQUID DENSITY: LB/GAL 3.5009 3.4764 3.5251 3.5979 3.6651
VAPOR PHASE COMPOSITION
N2 0.0005 0.0003 0.0003 0.0003 0.0003
C1 0.6949 0.5418 0.5137 0.5149 0.5220
C2 0.3017 0.4462 0.4604 0.4391 0.4076
C3 0.0030 0.0117 0.0256 0.0456 0.0700
IC4 0.0000 0.0000 0.0000 0.0000 0.0001
NC4 0.0000 0.0000 0.0000 0.0000 0.0000
IC5 0.0000 0.0000 0.0000 0.0000 0.0000
NC5 0.0000 0.0000 0.0000 0.0000 0.0000
NC6 0.0000 0.0000 0.0000 0.0000 0.0000
NC7 0.0000 0.0000 0.0000 0.0000 0.0000
LIQUID PHASE COMPOSITION
N2 0.0001 0.0000 0.0000 0.0000 0.0000
C1 0.2641 0.1822 0.1635 0.1551 0.1491
C2 0.7082 0.7508 0.7075 0.6325 0.5504
C3 0.0276 0.0669 0.1290 0.2122 0.2997
IC4 0.0000 0.0000 0.0000 0.0002 0.0006
NC4 0.0000 0.0000 0.0000 0.0001 0.0002
IC5 0.0000 0.0000 0.0000 0.0000 0.0000
NC5 0.0000 0.0000 0.0000 0.0000 0.0000
NC6 0.0000 0.0000 0.0000 0.0000 0.0000
NC7 0.0000 0.0000 0.0000 0.0000 0.0000
TRAY NUMBER: 6 7 8 9 10
PRESSURE: PSIG 432.22 432.78 433.33 433.89 434.44
TEMPERATURE: F 22.56 27.54 31.27 35.16 71.79

PRO/II Data Transfer System User Guide 4-13


NET RATE: LB-MOL/HR
VAPOR 830.44 817.35 808.30 798.65 511.33
LIQUID RATE: 239.84 230.80 221.14 206.42 1060.44
VAPOR DENSITY: LB/FT3 2.6572 2.6381 2.6232 2.5967 2.8172
LIQUID DENSITY: LB/GAL 3.7128 3.7444 3.7732 3.8300 3.9247

VAPOR PHASE COMPOSITION


N2 0.0003 0.0003 0.0003 0.0003 0.0001
C1 0.5287 0.5335 0.5370 0.5412 0.3733
C2 0.3774 0.3544 0.3393 0.3295 0.4417
C3 0.0933 0.1110 0.1212 0.1233 0.1638
IC4 0.0002 0.0005 0.0014 0.0033 0.0099
NC4 0.0001 0.0002 0.0007 0.0022 0.0083
IC5 0.0000 0.0000 0.0000 0.0002 0.0013
NC5 0.0000 0.0000 0.0000 0.0001 0.0008
NC6 0.0000 0.0000 0.0000 0.0000 0.0006
NC7 0.0000 0.0000 0.0000 0.0000 0.0002
LIQUID PHASE COMPOSITION
N2 0.0000 0.0000 0.0000 0.0000 0.0000
C1 0.1448 0.1419 0.1397 0.1368 0.0838
C2 0.4815 0.4334 0.4020 0.3779 0.3789
C3 0.3711 0.4172 0.4377 0.4284 0.3711
IC4 0.0018 0.0048 0.0118 0.0268 0.0473
NC4 0.0008 0.0026 0.0079 0.0223 0.0494
IC5 0.0000 0.0001 0.0005 0.0035 0.0160
NC5 0.0000 0.0000 0.0003 0.0021 0.0110
NC6 0.0000 0.0000 0.0001 0.0016 0.0262
NC7 0.0000 0.0000 0.0000 0.0004 0.0165

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

4-14 PDTS Example Problems


IC4 0.0470 0.0489 0.0516 0.0551 0.0600
NC4 0.0479 0.0488 0.0506 0.0531 0.0567
IC5 0.0148 0.0145 0.0145 0.0147 0.0149
NC5 0.0101 0.0098 0.0098 0.0099 0.0100
NC6 0.0232 0.0221 0.0216 0.0212 0.0210
NC7 0.0144 0.0136 0.0131 0.0128 0.0126

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

PRO/II Data Transfer System User Guide 4-15


4-16 PDTS Example Problems
Chapter 5
Attribute Lists

Class and Attribute names must be entered exactly as shown. As


strings, they must be enclosed in single quotes. Observe rules of
case sensitivity.

Attribute Class See page...


Calculator Calc 5-23
Column/Side Colu or Side 5-17
Component Data COMPS 5-2
Compressor Compressor 5-6
Conversion Reactor ConReactor 5-24
CSTR Cstr 5-25
Equilibrium Reactor EquReactor 5-23
Expander Expander 5-6
Flash Flash 5-5
Gibbs Reactor Gibbs 5-27
HCURVE HCurve 5-21
HX Hx 5-10
HXRIG HxRig 5-12
LLEX Llex or Colu 5-20
LNGHX LngHx 5-15
Phase Envelope Phase 5-22
Pipe Pipe 5-7
Plug Flow Reactor Plug 5-26
Pump Pump 5-7
Shortcut Short 5-16
Stream Data STREAM 5-2
Unit Data UNIT 5-4
User-Added Unit Operations User 5-28
Valve Valve 5-5

PRO/II Data Transfer System Users Guide 5-1


Attribute Class See page...
Concentration CONC 5-29

Component Data
Class: COMPS

Use Item: ALL for all component attributes (count = number of components)

Item Description Variable Array/ Units Notes


Type Scalar
AcenFactor Acentric factor Real Array
ApiGravity API gravity Real Array
CritCompress Critical compressibility Real Array
CritPres Critical pressure Real Array Pressure
CritTemp Critical temperature Real Array Temperature
CritVol Critical volume Real Array Spec. Volume
IDS IDs of components Character Array 16 Chars
LibraryNumber Component library number Integer Array
MolWeight Molecular weight Real Array
NormBoilPt Normal boiling point Real Array Temperature
SpecGravity Specific gravity Real Array
StdFreEnForm Standard free energy of Real Array Energy
formation
StdHeatForm Standard heat of formation Real Array Energy
StdLiqDens Standard liquid density Real Array Liq. Density

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

5-2 Attribute Lists


Stream Item Description Variable Array/ Units Notes
Type Scalar
IDS IDs of streams Character Array 12 Characters
L1Fraction L1 sub-phase mole fraction of Real Scalar
stream liquid
L2Fraction L2 sub-phase mole fraction of Real Scalar
stream liquid
MotOctaneNumb Motor octane number Real Scalar
NAME Stream name Character Scalar 40 Characters
Heat of Combustion Heat of combustion Real Scalar Energy/Vap.Vol.
PourPt Pour point Real Scalar Temperature
Pressure Stream pressure Real Scalar Pressure
ReidVapPres Reid vapor pressure Real Scalar PSI (always)
ResOctaneNumb Research octane number Real Scalar
SolidFraction Mole fraction of MWSolid in Real Scalar
stream
SulfurWtPerc Sulfur weight percent Real Scalar
TBPCurve TBP curve Real Array Temperature 1
Temperature Stream temperature Real Scalar Temperature
TotalComposition Total composition of bulk stream Real Array 2
TotalMolarEnthalpy Total molar enthalpy Real Scalar Energy/Mole
TotalMolarEntropy Total molar entropy Real Scalar Entropy/Mole
TotalMolarRate Total molar flowrate Real Scalar Mole Rate
TrueVapPres True vapor pressure Real Scalar Pressure
WaterFraction Fraction of aqueous phase Real Scalar
Liquid Phase
LiqApiGravity API gravity of liquid phase Real Scalar
LiqCP CP of liquid phase Real Scalar Molar Heat
Capacity
LiqDensityAct Actual density of liquid phase Real Scalar Density
LiqKineVisc Kinematic viscosity of liquid Real Scalar Kinematic
phase Viscosity
LiqMolarEnthalpy Molar enthalpy of liquid phase Real Scalar Energy/Mole
LiqMolarEntropy Molar entropy of liquid phase Real Scalar
LiqMolarRate Molar rate of liquid phase Real Scalar Mole Rate
LiqMolecularWeight Molecular weight of liquid phase Real Scalar
LiqSpecGravity Specific gravity of liquid phase Real Scalar
LiqSurfTension Surface tension of liquid phase Real Scalar Tension
LiqThermalCond Thermal conductivity of liquid Real Scalar Thermal Cond.
phase
LiquidComposition Composition of liquid phase Real Array 2
LiquidFraction Stream liquid fraction Real Scalar
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

PRO/II Data Transfer System Users Guide 5-3


Stream Item Description Variable Array/ Units Notes
Type Scalar
LiqViscosity Viscosity of liquid phase Real Scalar
LiqVolumeRateStd STD vol. flowrate of liquid phase Real Scalar Std. Liq. Vol.
LiqZDensity Z-density of liquid phase Real Scalar
Vapor Phase
VapCP CP of vapor phase Real Scalar Molar Heat
Capacity
VapCV CV of vapor phase Real Scalar Molar Heat
Capacity
VapDensityAct Actual density of vapor phase Real Scalar Density
VapMolarEnthalpy Molar enthalpy of vapor phase Real Scalar Energy/Mole
VapMolarEntropy Molar entropy of vapor phase Real Scalar Entropy/Mole
VapMolarRate Molar rate of vapor phase Real Scalar Mole Rate
VapMolecularWeight Molecular weight of vapor phase Real Scalar
VaporComposition Composition of vapor phase Real Array 2
VaporFraction Stream vapor fraction Real Scalar
VapThermalCond Thermal conductivity of vapor Real Scalar Thermal Cond.
phase
VapViscosity Viscosity of vapor phase Real Scalar Viscosity
VapVolumeRateStd STD vol. flowrate of vapor phase Real Scalar Vapor Volume
VapZDensity Z-density of vapor phase Real Scalar
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.

5-4 Attribute Lists


Unit Item Description Variable Array/ Units Notes
Type Scalar
NumberProducts Number of product streams from Integer Scalar
unit
NumberSides Number of sides in unit Integer Scalar 1
ProdData Stream IDs for unit products Character Array 2
TYPE Type of unit Character Scalar 16 Characters
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

Item Description Variable Array/ Units Notes


Type Scalar
DutyCalc Calculated flash duty Real Scalar Duty 1
KValues K-values Real Array 2
PresCalc Calculated flash pressure Real Scalar Pressure
TempCalc Calculated flash temperature Real Scalar Temperature
Notes:
1) Duty has units 106 Energy/Time
2) Count = number of components

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

PRO/II Data Transfer System Users Guide 5-5


Compressor
Class: Compressor

Compressor Item Description Variable Array/ Units Notes


Type Scalar
AcDutyCalc Calculated aftercooler duty Real Scalar Duty 1
AcPresDropCalc Calculated aftercooler pressure Real Scalar Pres Diff.
drop
AcTempCalc Calculated aftercooler temperature Real Scalar Temperature
EffAdiaCalc Calculated adiabatic efficiency Real Scalar Percent
EffPolyCalc Calculated polytropic efficiency Real Scalar Percent
IsenCoeffCalc Calculated isentropic coefficient Real Scalar
PolyCoeffCalc Calculated polytropic coefficient Real Scalar
PRatio Pressure ratio (outlet/inlet) Real Scalar
PresCalc Calculated compressor pressure Real Scalar Pressure
PresInletCalc Calculated inlet pressure Real Scalar Pressure
PresIsenCalc Calculated isentropic pressure Real Scalar Pressure
RPMCalc Calculated compressor RPM Real Scalar RPM
TempCalc Calculated compressor temperature Real Scalar Temperature
TempInletCalc Calculated inlet temperature Real Scalar Temperature
TempIsenCalc Calculated isentropic temperature Real Scalar Temperature
WorkActualCalc Calculated actual compressor work Real Scalar Work
WorkPolyCalc Calculated polytropic compressor Real Scalar Work
work
WorkTheoCalc Calculated theoretical compressor Real Scalar Work
work
Notes:
1) Duty has units 106 Energy/Time

Expander
Class: Expander

Expander Item Description Variable Array/ Units Notes


Type Scalar
EffAdiaCalc Calculated expander adiabatic Real Scalar Percent
efficiency
IsenCoeffCalc Calculated expander isentropic Real Scalar RPM
coefficient
PresCalc Calculated expander pressure Real Scalar Pressure
PresInletCalc Calculated expander inlet pressure Real Scalar Pressure
PresIsenCalc Calculated isentropic pressure Real Scalar Pressure
RPMCalc Calculated expander RPM Real Scalar
TempCalc Calculated expander temperature Real Scalar Temperature
TempInletCalc Calculated expander inlet Real Scalar Temperature
temperature

5-6 Attribute Lists


Expander Item Description Variable Array/ Units Notes
Type Scalar
TempIsenCalc Calculated isentropic temperature Real Scalar Temperature
WorkActualCalc Calculated actual expander work Real Scalar Work
WorkTheoCalc Calculated theoretical expander Real Scalar Work
work

Pump
Class: Pump

Pump Item Description Variable Array/ Units Notes


Type Scalar
EffCalc Calculated pump efficiency Real Scalar Percent
PresCalc Calculated pump pressure Real Scalar Pressure
TempCalc Calculated pump temperature Real Scalar Temperature
WorkCalc Calculated pump work Real Scalar Work

Pipe
Class: Pipe

Pipe Item Description Variable Array/ Units Notes


Type Scalar
AbsRoughness Absolute pipe roughness Real Scalar Fine Length
AvgFricFactor Average pipe friction factor Real Scalar
AvgReynoldsNumb Average Reynolds number Real Scalar
AvgVelocityInlet Average velocity of inlet fluid Real Scalar Velocity
AvgVelocityOutlet Average velocity of outlet fluid Real Scalar Velocity
CalcDeltaPres Calculated pipe pressure drop Real Scalar Pres. Diff.
CalcMaxVelocity Calculated pipe maximum velocity Real Scalar Velocity
DeltaPresAccel Pipe pressure drop due to acceleration Real Scalar Pres. Diff
DeltaPresElevn Pipe pressure drop due to elevation Real Scalar Pres. Diff
DeltaPresFric Pipe pressure drop due to friction Real Scalar Pres. Diff
FittingDeltaPres Pressure drop across pipe fittings Real Scalar Pres. Diff.
Notes:
1) Pressure Drop Correlations:
1 -Beggs-Brill-Moody 2 -Olimens 3 -Dukler-Eaton-Flanigan
4 -Gray 5 -Hagedorn-Brown 6 -Mukherjee-Bril
7 -Beggs-Brill-Moody-Palmer
2) Taitel-Dunkler-Barnea Flow Regime
1 - Stratified Smooth 2 -Stratified Wavy 3 -Intermittent
4 -Dispersed Bubble 5 -Annular 6 -Bubble
7 -Churn 8 - Single Phase 9 -Stratified Dispersed
10 -Annular Dispersed 11 -Intermittent Slug Flow
3) Array of values along pipe in direction of flow; Count = number of segments; Maximum = 50 segments
4) Duty has units 106 Energy/Time

PRO/II Data Transfer System Users Guide 5-7


Pipe Item Description Variable Array/ Units Notes
Type Scalar
FittingKFactor K-factor of pipe fittings Real Scalar
FlowRegimeInlet Flow regime at inlet conditions Integer Scalar 2
FlowRegimeOutlet Flow regime at outlet conditions Integer Scalar 2
FricFactorInlet Friction factor at pipe inlet Real Scalar
FricFactorOutlet Friction factor at pipe outlet Real Scalar
HeatDuty Pipe heat duty Real Scalar Duty 4
HeatTransCoeff Heat transfer coefficient Real Scalar Heat Tr. Coeff.
InsideDiameter Pipe inside diameter Real Scalar Fine Length
LineDeltaPres Pressure drop across pipeline segmentReal Scalar Pres. Diff.
LineFlowEffic Flow efficiency of pipeline segment Real Scalar Percent
LineFricFactor Friction factor of pipeline segment Real Scalar
LineLength Length of pipeline segment Real Scalar Length
LiqFracInlet Liquid fraction of inlet fluid Real Scalar
LiqFracOutlet Liquid fraction of outlet fluid Real Scalar
LiqHoldupInlet Liquid holdup of inlet fluid Real Scalar (Vol/Vol)
LiqHoldupOutlet Liquid holdup of outlet fluid Real Scalar (Vol/Vol)
NetChangeInElevn Change in pipe elevation from Real Scalar
horizontal
NumSegments Number of pipeline segments Integer Scalar
OutletPres Outlet pressure of pipe Real Scalar Pressure
OutletTemp Outlet temperature of pipe Scalar Temperature
PresFluidInlet Pressure of inlet fluid Real Scalar Pressure
PresFluidOutlet Pressure of outlet fluid Real Scalar Pressure
PresDropCorrelation Pressure drop correlation method Integer Scalar 1
RelRoughness Relative pipe roughness Real Scalar
SegAccelPresDrop Pres. drop across seg. due to Real Array Pres. Diff. 3
acceleration
SegChangeElevn Change in segment elev. from Real Array Length 3
horizontal
SegDistanceInlet Distance of segment from inlet Real Array 3
SegElevnPresDrop Pres. drop across seg. due to elevationReal Array Pres. Diff. 3
SegFlowRegime Flow regime in segment Integer Array 2, 3
Notes:
1) Pressure Drop Correlations:
1 -Beggs-Brill-Moody 2 -Olimens 3 -Dukler-Eaton-Flanigan
4 -Gray 5 -Hagedorn-Brown 6 -Mukherjee-Bril
7 -Beggs-Brill-Moody-Palmer
2) Taitel-Dunkler-Barnea Flow Regime
1 - Stratified Smooth 2 -Stratified Wavy 3 -Intermittent
4 -Dispersed Bubble 5 -Annular 6 -Bubble
7 -Churn 8 - Single Phase 9 -Stratified Dispersed
10 -Annular Dispersed 11 -Intermittent Slug Flow
3) Array of values along pipe in direction of flow; Count = number of segments; Maximum = 50 segments
4) Duty has units 106 Energy/Time

5-8 Attribute Lists


Pipe Item Description Variable Array/ Units Notes
Type Scalar
SegFluidVelocity Velocity of bulk fluid in segment Real Array Velocity 3
SegFricPresDrop Pres. drop across seg. due to friction Real Array Pres. Diff. 3
SegLiquidFrac Liquid fraction in segment Real Array 3
SegLiquidVelocity Velocity of liquid phase in segment Real Array Velocity 3
SegPressure Pressure at inlet of pipeline segment Real Array Pressure 3
SegTemperature Temperature at inlet of pipeline Real Array Temperature 3
segment
SegTotalPresDrop Total pressure drop across segment Real Array Pres. Diff. 3
SegVaporVelocity Velocity of vapor phase in segment Real Array Velocity 3
SizingDeltaP Pressure drop for sizing calculations Real Scalar Pres. Diff.
SizingMaxVelocity Maximum velocity for sizing Real Scalar
calculations
SlipDensInlet Slip density of inlet fluid Real Scalar Density
SlipDensOutlet Slip density of outlet fluid Real Scalar Density
TempFluidInlet Temperature of inlet fluid Real Scalar Temperature
TempFluidOutlet Temperature of outlet fluid Real Scalar Temperature
Notes:
1) Pressure Drop Correlations:
1 -Beggs-Brill-Moody 2 -Olimens 3 -Dukler-Eaton-Flanigan
4 -Gray 5 -Hagedorn-Brown 6 -Mukherjee-Bril
7 -Beggs-Brill-Moody-Palmer
2) Taitel-Dunkler-Barnea Flow Regime
1 - Stratified Smooth 2 -Stratified Wavy 3 -Intermittent
4 -Dispersed Bubble 5 -Annular 6 -Bubble
7 -Churn 8 - Single Phase 9 -Stratified Dispersed
10 -Annular Dispersed 11 -Intermittent Slug Flow
3) Array of values along pipe in direction of flow; Count = number of segments; Maximum = 50 segments
4) Duty has units 106 Energy/Time

PRO/II Data Transfer System Users Guide 5-9


HX
Class: Hx

HX Item Description Variable Array/ Units Notes


Type Scalar
AreaCalc Heat exchanger area Real Scalar Area
ColdDeltaP Pres. drop across exchanger coldside Real Scalar Pres. Diff.
ColdFeedTempCalc Temperature of feed to coldside Real Scalar Temperature
ColdKValues K-values on coldside Real Scalar 6
ColdProdTempCalc Temperature of product from coldside Real Scalar Temperature
DutyCalc Heat exchanger duty Real Scalar Duty 7
ExchAttachColu Col. ID for attached exchanger Character Scalar 12 Characters
ExchAttachFlag Attached exchanger flag Integer Scalar 4
ExchSideFlag Flag indicating side with utility Integer Scalar 2
ExchTypeFlag Type of heat exchanger Integer Scalar 1
ExchUtilComp Component name for utility Character Scalar 16 Characters
ExchUtilFlag Type of utility Integer Scalar
ExhcAttachTray Col. tray number for attached Integer Scalar 5
exchanger
HotDeltaP Pres. drop across exchanger hotside Real Scalar Pres. Diff.
HotFeedTempCalc Temperature of feed to hotside Real Scalar Temperature
HotKValues K-values on hotside Real Scalar 6
HotProdTempCalc Temperature of product from hotside Real Scalar Temperature
LMTDFactorCalc Calculated LMTD correction factor Real Scalar
(FT)
MTDCalc Mean temperature difference Real Scalar Temp. Diff.
NumberColdFeeds Number of feed streams to coldside Integer Scalar
NumberColdProds Number of product streams from Integer Scalar
coldside
NumberHotFeeds Number of feed streams to hotside Integer Scalar
NumberHotProds Number of product streams from Integer Scalar
hotside
Notes:
1) Exchanger type flag
0 -Simple HX1 - Utility on one side (See Note 3)2 - Attached exchanger
2) Exchanger side flag - Indicates which side is attached
1 -hot side 2 -cold side
3) Exchanger utility flag - Use to determine what type utility is present
1 -Water2 - Air3 - Steam
4 -Heating medium - Use ExchUtilComp to get component ID
5 -Refrigerant - Use ExchUtilComp to get component ID
4) Attached exchanger flag - Indicates type of attachment
1 -Condenser2 - Reboiler3 - Pumparound4 - Side Heater or Cooler
5) Tray number in column where attached - Use ExchAttachColu to get column unit ID
6) Count = number of components
7) Duty has units 106 Energy/Time

5-10 Attribute Lists


HX Item Description Variable Array/ Units Notes
Type Scalar
NumberShellPasses Number of shell passes Real Scalar
NumberTubePasses Number of tube passes Real Scalar
UACalc Heat exchanger U*A Real Scalar U*A
UValueCalc Heat exchanger U-value Real Scalar Ht. Trans.
Coeff.
Notes:
1) Exchanger type flag
0 -Simple HX1 - Utility on one side (See Note 3)2 - Attached exchanger
2) Exchanger side flag - Indicates which side is attached
1 -hot side 2 -cold side
3) Exchanger utility flag - Use to determine what type utility is present
1 -Water2 - Air3 - Steam
4 -Heating medium - Use ExchUtilComp to get component ID
5 -Refrigerant - Use ExchUtilComp to get component ID
4) Attached exchanger flag - Indicates type of attachment
1 -Condenser2 - Reboiler3 - Pumparound4 - Side Heater or Cooler
5) Tray number in column where attached - Use ExchAttachColu to get column unit ID
6) Count = number of components
7) Duty has units 106 Energy/Time

PRO/II Data Transfer System Users Guide 5-11


HXRIG
Class: HxRig

HXRIG Item Description Variable Array/ Units Notes


Type Scalar
AreaCalc Calculated area of exchanger Real Scalar Area
AreaRequired Heat exchanger area required Real Scalar Area
AttachSideFlag Flag indicating exchanger side Integer Scalar 5
attached
AttachTrayFlag Flag indicating column tray Integer Scalar 7
attached
AttachTypeFlag Flag indicating type of attachmentInteger Scalar 6
AttachUnit ID of unit attached to exchanger Character Scalar
BaffleCutFrac Baffle cut ratio Real Scalar
BaffleSpc Baffle spacing Real Scalar Fine Length
BaffleThck Baffle thickness Real Scalar Fine Length
ExchHtDuty Duty of rigorous heat exchanger Real Scalar Duty *
FinEffcyCalc Calculated fin efficiency Real Scalar Percent
FinHgt Height of fin Real Scalar Fine Length
FinMatCode Fin material code Integer Scalar 4
FinRootDia Root diameter of fin Real Scalar Fine Length
FinsPerInch Number of fins per inch Real Scalar
FinThck Thickness of fin Real Scalar Fine Length
FinThermCond Thermal conductivity of fin Real Scalar Thermal
Cond.
FlowTypeFlag Shell-tube flow direction flag Integer Scalar 2
FtFactor LMTD correction factor Real Scalar
InletBaffleSpc Inlet baffle spacing Real Scalar Fine Length
MaxAreaPerShell Maximum area per shell Real Scalar Area
MeanTempDiff Mean temperature difference Real Scalar Temp. Diff.
NumberShellFeeds Number of feeds to shellside Integer Scalar
NumberShellProds Number of products from Integer Scalar
shellside
NumberTubeFeeds Number of feeds to tubeside Integer Scalar
NumberTubeProds Number of products from tubesideInteger Scalar
NumOfParShells Number of shells in parallel Integer Scalar
NumOfSerShells Number of shells in series Integer Scalar
NumOfTubePasses Number of tube passes per shell er Scalar
NumOfTubes Number of tubes Integer Scalar
OutletBaffleSpc Outlet baffle spacing Real Scalar Fine Length
PositionFlag Orientation of exchanger Integer Scalar 1
ShellFilmCoeff Film coefficient of shellside Real Scalar Heat Trans.
Coeff.
Notes: Refer to table HXRIG Notes on page 5-14

5-12 Attribute Lists


HXRIG Item Description Variable Array/ Units Notes
Type Scalar
ShellFilmCoeffSclFct Shellside film coefficient scaling Real Scalar
factor
ShellFoulFct Fouling factor of shellside Real Scalar Foul Factor
ShellFoulLayerThck Thickness of shellside fouling Real Scalar Fine Length
layer
ShellFoulRqrd Shellside required fouling Real Scalar Foul Factor
resistance
ShellID Inside diameter of shell Real Scalar Fine Length
ShellMatCode Shell material code Integer Scalar 4
ShellMatDens Density of shell material Real Scalar Density
ShellNozzleInletID Inside diameter of shell nozzle Real Scalar Fine Length
inlet
ShellNozzleOutletID Inside diameter of shell nozzle Real Scalar Fine Length
outlet
ShellOrigFoul Shellside specified fouling Real Scalar Foul Factor
resistance
ShellPresDropCalc Calculated pressure drop across Real Scalar Pres. Diff.
shell
ShellPrnNum Prandlt number on shellside Real Scalar
ShellReyNum Reynolds number on shellside Real Scalar
ShellTempIn Inlet temperature of shellside fluidReal Scalar Temperature
ShellTempOut Outlet temperature on shellside Real Scalar Temperature
ShellVel Fluid velocity in shellside Real Scalar Velocity
TEMAType TEMA shell type Character Scalar 3 Characters
TubeBundleDiam Diameter of tubeside bundle Real Scalar Fine Length
TubeBundleWt Weight of tubeside bundle Real Scalar Weight
TubeBWG Birmingham Wire Gauge of tube Integer Scalar
TubeDens Density of tubeside fluid Real Scalar Density
TubeFilmCoeff Film coefficient of tubeside Real Scalar Ht. Trans.
Coeff.
TubeFilmCoeffSclFct Tubeside film coefficient scaling Real Scalar
factor
TubeFoulFct Fouling factor for tubeside Real Scalar Foul Factor
TubeFoulLayerThck Thickness of tubeside fouling Real Scalar Fine Length
layer
TubeID Inside diameter of tube Real Scalar Fine Length
TubeLen Length of tube Real Scalar Length
TubeMatCode Tube material code Integer Scalar 4
TubeNozzleInletID Inside diameter of tube nozzle Real Scalar Fine Length
inlet
TubeNozzleOutletID Inside diameter of tube nozzle Real Scalar Fine Length
outlet
Notes: Refer to table HXRIG Notes on page 5-14

PRO/II Data Transfer System Users Guide 5-13


HXRIG Item Description Variable Array/ Units Notes
Type Scalar
TubeOD Outside diameter of tube Real Scalar Fine Length
TubePipeSched Pipe schedule of tubeside Real Scalar
TubePitch Center-center distance between Real Scalar Fine Length
tubes
TubePitchFlag Tube pitch flag Integer Scalar 3
TubePresDropCalc Calculated pressure drop across Real Scalar Pres. Diff.
tube
TubePrnNum Prandtl number in tubeside Real Scalar
TubeReyNum Reynolds number in tubeside Real Scalar
TubeSheetThck Thickness of tubeside sheet Real Scalar Fine Length
TubeTempIn Inlet temperature of tubeside fluidReal Scalar Fine Length
TubeTempOut Outlet temperature of tubeside Real Scalar
fluid
TubeThck Thickness of tube Real Scalar Fine Length
TubeThermCond Thermal conductivity of tube Real Scalar Thermal
Cond.
TubeVel Velocity of fluid in tubeside Real Scalar Velocity
TubeWallRes Resistance of tubeside wall Real Scalar Foul Factor
UAVal U*A value Real Scalar U*A
UnitAreaPerShell Unit area per shell Real Scalar
UValCalc Calculated U-value Real Scalar Ht. Trans.
Coeff.
UValFoul U-value with fouling factor Real Scalar Ht. Trans.
Coeff.
UValNoFoul U-value without fouling Real Scalar Ht. Trans.
Coeff.
Notes: Refer to table HXRIG Notes on page 5-14

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

5-14 Attribute Lists


HXRIG Notes
Note 4) Material Code Flag
1 - Carbon Steel 2- Carbon-moly Steel 3- Chrome-moly Steel
4 - Low Chrome Steel 5- Med Chrome Steel 6- Straight Chrome Steel
7 - 304 SS 8- 310 SS 9- 316 SS
10- 321 SS 20- Al 1060 H14 21- Al 1100 Annealed
22- Al 3003 H14 Annealed 23- Al 3003 H25 Annealed 24- Al 6061 T4 Annealed
25- Al 6061 T6 Annealed 30- Copper 31- Arsenical Copper
32- Cu/Ni 90/10 33- Cu/Ni 80/20 34- Cu/Ni 70/30
35- Cu/Ni 60/40 40- Red Brass 85Cr/15Zn
41- Admiralty Brass 71Cu/28Zn/1Sn
Note 4) Material Code Flag (continued)
42- Com Brass 55Cu/34Zn 43- Muntz Metal 60Cu/40Zn 44- Al Brass 93Cu/5Al
45- Al Brass 78Cu/2Al 50- Nickel Annealed
51- Low Carbon Nickel Annealed
52- Monel 70Ni/30Cu 53- Inconel 600 76Ni/16Cr/8Fe 60- Titanium Grade 2
Note 5) Attach Side Flag 0 - None 1 - Shell 2 - Tube
Note 6) Attached Type Flag - Indicates type of Attachment
1 - Condenser 2 - Reboiler 3 - Pumparound 4 - Side Heater or Cooler
Note 7) Tray number in column where attached - Use AttachUnit to get column unit ID
Note 8) Duty has units 106 Energy/Time

LNGHX
Class: LngHx

Item Description Variable Array/ Units Notes


Type Scalar
CellDutyCalc Calculated cell duty Real Scalar Duty 1, 3
CellInletPresCalc Calculated inlet cell pressures Real Array Pressure 1
CellInletTempCalc Calculated inlet cell temperatures Real Array Temperature 1
CellOutletPresCalc Calculated outlet cell pressures Real Array Pressure 1
CellOutletTempCalc Calculated outlet cell Real Array Temperature 1
temperatures
CellType Cell type Integer Array 1, 2
NumberColdFeeds Number of feeds on coldside Integer Scalar
NumberHotFeeds Number of feeds on hotside Integer Scalar
NumberOfCells Number of cells Integer Scalar
OverallDuty Overall calculated duty Real Scalar Duty *
ZoneLMTD Calculated LMTD for zones Real Scalar Temp. Diff.
ZoneMITA MITA for zones Real Scalar Temp. Diff.
ZoneUA Calculated U*A for zones Real Scalar U*A
Notes:
1) Count = number of cells
2) Array of integer flags for each cell (1 = hot cell, 2 = cold cell)
3) Duty has units 106 Energy/Time

PRO/II Data Transfer System Users Guide 5-15


Shortcut
Class: Short

Item Description Variable Array/ Units Notes


Type Scalar
CondDuty Condenser duty Real Array 4
CondenserType Condenser type flag Integer Scalar 1
FeedQuality Slope (Q) of feed quality line Real Scalar
FeedTrays Number of feed trays Real Array 4
FenskeIndex Calculated Fenske index Real Array 3
HvyKeyComponent Heavy key component ID Character Scalar
LtKeyComponent Light key component ID Character Scalar
MinimumReflux Minimum reflux ratio Real Scalar
MinimumTrays Minimum trays for total reflux Real Scalar
MMMin Ratio of number of trays to Real Array 4
minimum
NumberOfSections Number of column sections Integer Scalar
ReboilDuty Reboiler duty Real Array 4
RefluxRatio Calculated reflux ratio Real Array 4
RRMin Minimum reflux ratio Real Array 4
TotalTrays Total number of trays Real Array 4
UnderwoodCalcFlag Underwood calculation flag Integer Scalar 2
Notes:
1) Flag indicating condenser type (see Fig. 78.2 in the PRO/II Keyword Manual)
0 - None 1 - Partial 2 - Mixed
3 - Bubble point 4 - Temperature fixed 5 - Delta T below bubble point
2 Indicator flag for availability of Underwood/Fenske/Gilliland table data
0 - No 1 - Yes
3 Count = number of sections
4 Underwood/Fenske/Gilliland data table (count = 5 points for each item)

5-16 Attribute Lists


Column/Side
Class: Colu or Side
Item Description Variable Type Units Notes
AlgorithmType Column algorithm type Integer Scalar 1
CondenserDuty Condenser duty Real Scalar Duty *
CondenserType Condenser type Integer Scalar 2
DecantDrawRate Flowrate of decant draw Real Array 8
DecantTrays Decant tray locations Integer Array 8
DrawPhase Phase of stream from draw tray Integer Array 7
DrawTrays Draw tray locations Integer Array 6
FeedTrays Feed tray locations Integer Array 5
HeaterDuties Duties of side heaters/coolers Real Array Duty * 9
HeaterTrays Heater/Cooler tray locations Integer Array 9
HvyKeyComponents Heavy key components Integer Array 4
LtKeyComponents Light key components Integer Array 4
NumberDecantTrays Number of decant trays Integer Scalar
NumberDrawTrays Number of draw trays Integer Scalar
NumberFeedTrays Number of feed trays Integer Scalar
NumberOfHeaters Number of side heaters/coolers Integer Scalar
NumberOfPumpArounds Number of pumparounds Integer Scalar
NumberOfTrays Total number of trays Integer Scalar
PumpAroundPhase Phase of pumparound stream Integer Array 11
PumpAroundRate Flowrate of pumparound streamReal Array 10
PumpAroundTrayFrom Pumparound tray location Integer Array 10
(from)
PumpAroundTrayTo Pumparound tray location (to) Integer Array 10
QLossData Heat loss per tray Real Array Duty * 12
QLossTotal Total heat loss Real Scalar Duty *
ReboilerDuty Reboiler duty Real Scalar Duty *
ReboilerType Reboiler type Integer Scalar 3
TrayLiqDensityAct Actual density of liquid on each Real Array Density 13
tray
TrayLiqEnthalpy Molar enthalpy of liquid on Real Array Molar 13
each tray Enthalpy
TrayLiqEntropy Molar entropy of liquid on each Real Array Molar 13
tray Entropy
TrayLiqMolecWeight MW of liquid on each tray Real Array 13
TrayLiqSpecGravity Specific gravity of liquid on Real Array 13
each tray
TrayLiqSurfTens Surface tension of liquid on Real Array Surface 13
each tray Tension
TrayLiqThermalCond Thermal cond. of liquid on each Real Array Thermal 13
tray Cond.
Notes: See table Column/Side Column Notes on page 5-19

PRO/II Data Transfer System Users Guide 5-17


Item Description Variable Type Units Notes
TrayLiquidMoleFracs Liquid mole fract. of fluid on Real Array 14
each tray
TrayLiqViscosity Viscosity of liquid on each tray Real Array Viscosity 13
TrayLiqVolumeRateAct Actual vol. liq. flowrate on each Real Array Liq. Vol. Rate 13
tray
TrayLiqVolumeRateStd STD vol flowrate of liquid on Real Array Liq. Vol. Rate 13
each tray
TrayLiqWeightRate Flowrate (WT) of liquid on Real Array Weight Rate 13
each tray
TrayNetLiqRates Flowrate of net liquid from Real Array Mole Rate 13
each tray
TrayNetVapRates Flowrate of net vapor from each Real Array Mole Rate 13
tray
TrayPressures Tray pressures Real Array Pressure 13
TrayTemperatures Tray temperatures Real Array Temperature 13
TrayTotalLiqRates Flowrate of total liquid on each Real Array Mole Rate 13
tray
TrayTotalVapRates Flowrate of total vapor on each Real Array Mole Rate 13
tray
TrayVapDensityAct Actual density of vapor on a Real Array Density 13
tray
TrayVapEnthalpy Molar enthalpy of vapor on Real Array Molar 13
each tray Enthalpy
TrayVapEntropy Molar entropy of vapor on each Real Array Molar Entropy13
tray
TrayVapMolecWeight MW of vapor on each tray Real Array 13
TrayVaporMoleFracs Vapor mole fract. of fluid on Real Array 14
each tray
TrayVapThermalCond Thermal cond. of vapor on each Real Array Thermal 13
tray Cond.
TrayVapViscosity Viscosity of vapor on each tray Real Array Viscosity 13
TrayVapVolumeRateAct Actual vol. vapor flowrate on Real Array Vap. Vol. Rate 13
each tray
TrayVapVolumeRateStd STD vol. vapor flowrate r on Real Array Vap. Vol. Rate 13
each tray
TrayVapWeightRate Flowrate (WT) of vapor on Real Array Weight Rate 13
each tray
TrayVleKValues Vapor-liquid tray K-values Real Array 14
Notes: See table Column/Side Column Notes on page 5-19

5-18 Attribute Lists


Column/Side Column Notes
Notes:
1) Algorithm type flag:
1 - I/O 2 - SURE 3 - CHEMDIST
4 - LLEX 5 - REACTIVE DISTILLATION 6 - ELECTROLYTIC DISTILLATION
7 - RATEFRAC
2) Flag indicating condenser type (see Fig. 71.2 in Keyword Manual)
0 - None 1 - Partial 2 - Mixed
3 - Bubble point 4 - Temperature fixed 5 - Delta T below bubble point
3) Flag indicating reboiler type
0 - None 1 - Both feed & heater on bottom tray
2 - Conventional reboiler 3 -Thermosiphon reboiler without baffles
4 - Thermosiphon reboiler with baffles
4) Key components are arrays of 2 key component numbers
5) Array of tray locations for each feed tray (count = number of feed trays)
6) Array of tray locations for each prod. draw including ovhd & btms products, but not including
water draws (count = no. of draw trays)
7) Array of flags for each product draw (1 = liquid, 2 = vapor)
8) Array of tray locations for each water decant draw tray (count = number of decant trays)
9) Array of duties for all heaters/coolers (count = number of heaters)
10) Array of pumparound tray locations (count = Number of Pumparounds)
11) Array of flags for each pumparound indicating phase drawn from tray (1 = liquid, 2 = vapor)
12) Array of duties indicating heat leak (count = number of heat leaks)
13) Array with count = number of trays
14) Array equivalent to a two-dimensional array - (number of components) x (number of trays)
15) Duty has units 106 Energy/Time

PRO/II Data Transfer System Users Guide 5-19


LLEX
Class: Llex or Colu
Item Description Variable Array/ Units Notes
Type Scalar
AlgorithmType Type of calculation algorithm Integer Scalar 1
DrawTrays Draw tray location Integer Array 3
FeedTrays Feed tray location Integer Array 2
HeaterDuties Duties of side heaters/coolers Real Array Duty 5, 8
HeaterTrays Side heater/cooler tray location Integer Array 4
NumberDrawTrays Number of draw trays Integer Scalar
NumberFeedTrays Number of feed trays Integer Scalar
NumberOfHeaters Number of heaters/coolers Integer Scalar
NumberOfTrays Total number of trays Integer Scalar
QLossData Heat loss per tray Real Array Duty 6, 8
QLossTotal Total heat loss Real Array Duty 8
TrayNetLiq1Rates Flowrate of net liquid L1 from a Real Array Mole Rate 7
tray
TrayNetLiq2Rates Flowrate of net liquid L2 from a Real Array Mole Rate 7
tray
TrayPressures Tray pressures Real Array Pressure 7
TrayTemperatures Tray temperatures Real Array Temperature 7
Notes:
1) Algorithm type flag. Only valid value: 4 - LLEX
2) Array of tray locations for for each feed tray (count = number of feed trays)
3) Array of tray locations for each product draw (count = number of draw trays)
4) Array of tray locations for each heater / cooler (count = number of heaters)
5) Array of duties for all heaters/coolers (count = number of heaters)
6) Array of duties indicating heat leak (count = number of heat leaks)
7) Array with count = number of trays
8) Duty has units 106 Energy/Time

5-20 Attribute Lists


HCurve
Class: HCurve
Item Description Variable Array/ Units Notes
Type Scalar
ActDensLiquid Actual density of liquid phase Real Array Density 5
ActDensVapor Actual density of vapor phase Real Array Density 5
BubblePointindices
Indices of Bubble Points Integer Array
CpLiquid CP of liquid Real Array Sp. Heat (Wt.)
CpVapor CP of vapor Real Array Sp. Heat (Wt.)
DewPointindices Indices of Dew Points Integer Array
EnthalpyDecant Enthalpy of decanted phase Real Array Duty 5, 6
EnthalpyLiquid Enthalpy of liquid phase Real Array Duty 5, 6
EnthalpyTotal Total enthalpy Real Array Duty 5, 6
EnthalpyVapor Enthalpy of vapor phase Real Array Duty 5, 6
EntropyLiquid Entropy of liquid phase Real Array Entropy (Wt.) 5
EntropyVapor Entropy of vapor phase Real Array Entropy (Wt.) 5
HcurveType Type of HCURVE Integer Array 1
MoleFracDecant Decant phase fraction (molar Real Array 5
basis)
MoleFracLiquid Liquid fraction (molar basis) Real Array 5
MoleFracVapor Vapor fraction (molar basis) Real Array 5
MoleRateDecant Molar flowrate of decant phase Real Array 5
MoleRateLiquid Molar flowrate of liquid phase Real Array Molar Rate 5
MoleRateVapor Molar flowrate of vapor phase Real Array Molar Rate 5
MolWeightLiquid Molecular weight of liquid phase Real Array 5
MolWeightVapor Molecular weight of vapor phase Real Array 5
NumberOfHCurves Number of HCURVES Integer Scalar
NumberOfPoints Number of points per curve Integer Array
Pressures HCURVE pressures Real Array Pressure 5
SideNumber Side number Integer Array 3
SourceID ID of source Character Array 4
SourceType Source type Character Array 2
SpecGravLiquid Specific gravity of liquid phase Real Array 5
StdVolRateVapor STD vol. flowrate of vapor phase Real Array Vap. Vol. 5
SurfTensLiquid Surface tension of liquid phase Real Array Surface Tension 5
Temperatures HCURVE temperatures Real Array Temperature 5
ThermalCondLiquid Thermal conductivity of liquid phase Real Array Thermal Cond. 5
ThermalCondVapor Thermal conductivity of vapor phase Real Array Thermal Cond. 5
ViscosityLiquid Viscosity of liquid phase Real Array Viscosity 5
ViscosityVapor Viscosity of vapor phase Real Array Viscosity 5
WaterPointindices Indices of Water Points Integer Array
ZFactor Compressibility of vapor phase Real Array
Notes: Refer to the table HCURVE Notes on page 5-22

PRO/II Data Transfer System Users Guide 5-21


HCURVE Notes
1) Flag for HCURVE type (count = number of curves)
1 - Isothermal 2 - Adiabatic 3 - Bubble point temperature
4 - Bubble point pressure5 -Dew point temperature6 -Dew point pressure
2) Flag for feed source to HCURVE (count = number of curves)
"Stream" - Stream feed"Unit" - Feed stream is derived from UNIT
3) Flag for side of unit providing feed if above flag is = 1 (count = number of curves)
Unit Type Flag Value
HX 1 = hot side, 2 = cold side
HXRIG 1 = shell side, 2 = tube side
LNGHX Cell number
COLUMN Heater/cooler number
4) 12 Character unit ID of source unit (count = number of curves)
5) Array equivalent to two-dimensional array (number of points) x (number of curves)
6) Duty has units 106 Energy/Time

Phase Envelope
Class: Phase

Item Description Variable Array/ Units Notes


Type Scalar
CriconBarPressure Cricondenbar pressure Real Array Pressure 1
CriconBarTemperature Cricondenbar temperature Real Array Temperature 1
CriconThermPressure Cricondentherm pressure Real Array Pressure 1
CriconThermPressure Cricondentherm temperature Real Array Temperature 1
CriticalPressure Critical pressure Real Array Pressure 1
CriticalTemperature Critical temperature Real Array Temperature 1
NumberOfPCurves Number of pressure envelope Integer Scalar
curves
NumberOfPoints Number of points per curve Integer Array 1
Pressures Pressures Real Array Pressure 2
Temperatures Temperatures Real Array Temperature 2
Notes:
1) Array count = number of curves
2) Array equivalent to two-dimensional array (number of points) x (number of curves)

5-22 Attribute Lists


Calculator
Class: Calc

Item Description Variable Array/ Units Notes


Type Scalar
ConstVector Value of constants Real Array 1
NumberOfConstants Total number of constants Integer Scalar
NumberOfParameters Total number of parameters Integer Scalar
NumberOfResults Total number of results Integer Scalar
ParamVector Value of parameters Real Array 2
ResultNames Names of results Character Array 3
ResultVector Value of results Real Array 3
Notes:
1) Count = number of constants
2) Count = number of parameters
3) Count = number of results

Equilibrium Reactor
Class: EquReactor

Item Description Variable Array/ Units Notes


Type Scalar
BaseComponentID ID of base component Character Array 4
ChangeMoles Molar change in composition Real Array 8
ConversionBaseCompTotal conversion of base Real Array 4
component
FeedMoles Molar composition reactor feed Real Array Mole Rate 5
FractionConv Fraction conversion Real Array 7
InletPressure Pressure at reactor inlet Real Scalar Pressure
InletTemperature Temperature at reactor inlet Real Scalar Temperature
NumberOfReactions Number of reactions Integer Scalar
OutletPressure Pressure at reactor outlet Real Scalar Pressure
OutletTemperature Temperature at reactor outlet Real Scalar Temperature
ProdMoles Molar composition reactor Real Array Mole Rate 5
effluent
ReacModeFlag Reactor mode of operation Flag Integer Scalar 2
ReactorPhase Reactor phase Integer Scalar 3
ReactorTypeFlag Reactor type Integer Scalar 1
TotalDuty Total reactor duty Real Scalar Duty 8
TotalHeatOfReaction Total heat of reaction Real Scalar Duty 8
Notes: See Table Reactor Notes on page 5-24

PRO/II Data Transfer System Users Guide 5-23


Conversion Reactor
Class: ConReactor

Item Description Variable Array/ Units Notes


Type Scalar
BaseComponentID ID of base component Character Scalar 3
ChangeMoles Molar change in composition Real Array 6
ConversionBaseComp Total conversion of base Real Array 4
component
FeedMoles Molar composition reactor feed Real Array 5
FractionConv Fraction conversion Real Array 7
InletPressure Pressure at reactor inlet Real Scalar Pressure
InletTemperature Temperature at reactor inlet Real Scalar Temperature 4
NumberOfReactions Number of reactions Integer Scalar
OutletPressure Pressure at reactor outlet Real Scalar Pressure
OutletTemperature Temperature at reactor outlet Real Scalar Temperature
ProdMoles Molar composition reactor Real Array 5
effluent
ReacModeFlag Reactor mode of operation Flag Integer Scalar 2
ReactorPhase Reactor phase Integer Scalar
ReactorTypeFlag Reactor type Integer Scalar 1
TotalDuty Total reactor duty Real Scalar Duty 8
TotalHeatOfReaction Total heat of reaction Real Scalar Duty 8
Notes: See table Reactor Notes on page 5-24

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

5-24 Attribute Lists


CSTR
Class: Cstr

Item Description Variable Array/ Units Notes


Type Scalar
BaseComponentID ID of base component Character Scalar 3
ChangeMoles Molar change in composition Real Array 5
ConversionBaseComp Total conversion of base Real Array 3
component
FeedMoles Molar composition reactor feed Real Array 4
FractionConv Fraction conversion composition Real Array 6
InletPressure Pressure at reactor inlet Real Scalar Pressure
InletTemperature Temperature at reactor inlet Real Scalar Temperature
NumberOfReactions Number of reactions Integer Scalar
ProdMoles Molar composition reactor Real Array 4
effluent
ReactorPhase Reactor phase Integer Scalar 2
ReactorPressure Pressure inside reactor Real Scalar Pressure
ReactorSpaceTime Space time in reactor Real Scalar Time
ReactorSpaceVelocity Reactor space velocity Real Scalar 1/Time
ReactorTemperature Temperature inside reactor Real Scalar Temperature
ReactorTypeFlag Reactor type Integer Scalar 1
ReactorVolumeCalc Calculated reactor volume Real Scalar Liq. Volume
TotalDuty Total reactor duty Real Scalar Duty 7
TotalHeatOfReaction Total heat of reaction Real Scalar Duty 7
Notes:
1) Reactor type
1 - Outlet temperature specified 2 - Adiabatic
3 - Isothermal at mixed feed temperature 4 - Boiling pot
2) Reactor phase
1 - Vapor 2 - Liquid
3) Count = number of reactions
4) Count = number of components
5) Change in Moles (Product - Feed); count = number of components
6) Fraction Converted for reactants consumed; If any component is generated, fraction converted is
reported as zero;
Count = number of components
7) Duty has units 106 Energy/Time

PRO/II Data Transfer System Users Guide 5-25


Plug Flow Reactor
Class: Plug

Item Description Variable Type Units Notes


AnnulFluidFlag Flag on jacket fluid Integer Scalar 3
AnnulPresProfile Jacket pressure profile Real Array Pressure 5
AnnulPressIn Jacket pressure at the inlet Real Scalar Pressure
AnnulPressOut Jacket pressure at the outlet Real Scalar Pressure
AnnulTempIn Jacket temperature at inlet Real Scalar Temperature
AnnulTempOut Jacket temperature at outlet Real Scalar Temperature
AnnulTempProfile Jacket temperature profile Real Array Temperature 5
BaseComponentID ID of base component Character Scalar 4
ChangeMoles Molar change in composition Real Array Mole Rate 7
ConversionBaseComp Total conversion of base Real Array 4
component
FeedMoles Molar composition reactor feed Real Array Mole Rate 6
FractionConv Fraction conversion Real Array 8
HeatTransCoeff Heat transfer coeff. of reactor Real Scalar Heat Transfer
tubes Coeff.
InletPressure Pressure at reactor inlet Real Scalar Pressure
InletTemperature Temperature at reactor inlet Real Scalar Temperature
MaxVelocityDist Dist. from inlet where vel. is max Real Scalar Length
NumberOfReactions Number of reactions Integer Scalar
NumberOfTubes Number of reactor tubes Real Scalar
NumberProfPoints Number of profile points Integer Scalar
OutletPressure Pressure at reactor outlet Real Scalar Pressure
OutletTemperature Temperature at reactor outlet Real Scalar Temperatur
ProdMoles Molar composition reactor Real Array Mole Rate 6
effluent
ProfileDistance Profile distance along reactor Real Array 5
length
ReacPresProfile Pressure profile along reactor Real Array 5
length
ReacTempProfile Temp. profile along reactor lengthReal Array 5
ReactorPhase Reactor phase Integer Scalar 2
ReactorTypeFlag Reactor type Integer Scalar 1
ResidenceTime Reactor residence time Real Scalar Time
TotalDuty Total reactor duty of reaction Real Scalar Duty 9
TotalHeatOfReaction Total heat Real Scalar Duty 9
TotalVolume Total reactor volume Real Scalar Liq. Volume
TubeDiameter Diameter of reactor tubes Real Scalar Fine Length
TubeLength Length of reactor tubes Real Scalar Length
VelocityMaximum Maximum velocity inside reactor Real Scalar Velocity
Notes: See Plug Flow Reactor Notes on page 5-27.

5-26 Attribute Lists


Plug Flow Reactor Notes
Notes:
1) Reactor type
1 - Thermal 2 - Adiabatic
3 - Cocurrent Coolant4 - Countercurrent Coolant
2) Reactor phase: 1 - Vapor 2 - Liquid
3) Jacket fluid: 1 - Cold 2 - Hot
4) Count = number of reactions
5) Count = number of profile points
6) Count = number of components
7) Change in Moles (Product - Feed); Count = number of components
8) Fraction converted for reactants consumed; If any component is generated, fraction converted is
reported as zero;
Count = number of components
9) 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

InletPressure Pressure at reactor inlet Real Scalar Pressure


InletTemperature Temperature at reactor inlet Real Scalar Temperature
ProdMoles Molar composition reactor Real Array Mole Rate 6
effluent
ReactorPhase Reactor phase Integer Scalar 2
ReactorPressure Pressure inside reactor Real Scalar Pressure
ReactorTemperature Temperature inside reactor Real Scalar Temperature
ReactorTypeFlag Reactor type Integer Scalar 1
TotalDuty Total reactor duty Real Scalar Duty 7
TotalHeatOfReaction Total heat of reaction Real Scalar Duty 7
Notes: See Gibbs Reactor Notes on page 5-28

PRO/II Data Transfer System Users Guide 5-27


Gibbs Reactor Notes
Notes:
1) Reactor Type Flag
1 - Outlet temperature specified 2 - Adiabatic
3 - Isothermal at mixed feed temperature
2) Reactor Phase
1 - Vapor 2 - Liquid 3 - Mixed
3) G / (R*T)
4) Count = number of components
5) Change in moles (Product - Feed); Count = number of components
6) Fraction converted for reactants consumed; If any component is generated, fraction converted is
reported as zero;
Count = number of components
7) Duty has units 106 Energy/Time

User-Added Unit Operations


Class: User

Item Description Variable Array/ Units Count


Type Scalar
HeatVector Heat vector Real Array 500
IntegerVector IPARM vector Integer Array 250
RealVector RPARM vector Real Array 500
SupplVector Supplemental vector Real Array 10,000

Stream Concentration
Class: Concentration

Item Description Variable Array/ Units


Type Scalar
TotalMolarConcentration Stream Molar Concentration Real Array Liq.Density
TotalMassConcentration Stream Mass Concentration Real Array Liq.Density

5-28 Attribute Lists


Chapter 6
PDTS Example Listings

Example 6-1 Fortran Listing


C FILE: EXAM1.FOR
C PDTS SAMPLE APPLICATION
C SIMULATION SCIENCES
C
PROGRAM EXAM1
C
C *********************************************************
C LOCAL DECLARATIONS
C
PARAMETER (MAXUOP = 500)

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)

PRO/II Data Transfer System Users Guide 6-1


117 FORMAT( OUTLET TEMPERATURE DEG ,A10,3F12.4)
118 FORMAT( PRESSURE RATIO (OUT/IN) ,10X,3F12.4)
119 FORMAT( ACTUAL WORK ,A10,3F12.2)
120 FORMAT( ADIABATIC EFFICIENCY ,10X,3F12.4)
121 FORMAT( AFTERCOOLER DUTY ,A10,3F12.4)
203 FORMAT( SOLUTION NOT REACHED !!!)
205 FORMAT( ERROR IN FILE INITIALIZATION !!!)
C
C ENTER FILE NAME
C
WRITE (*,101)
READ (*,102) FNAME
C
C INITIALIZE RETRIEVAL SYSTEM & OPEN SELECTED FILE
C
CALL PAOPEN(FNAME, ,NFOUT,IRCODE)
IF (IRCODE .NE. 0) THEN
WRITE(*,205)
STOP
ENDIF
C
C WRITE THE FILE NAME
C
WRITE (NFOUT,103) FNAME
WRITE (*,103) FNAME
C
C GET MISCELLANEOUS FLOWSHEET DATA
C
CALL PAMISC(NCOMP,NSTRM,NUNIT,IRCODE)
IF (IRCODE .NE. 0) THEN
WRITE (*,203)
STOP
ENDIF
WRITE (*,107) NCOMP, NSTRM, NUNIT
WRITE (NFOUT,107) NCOMP, NSTRM, NUNIT
C
C SET UNIT OF MEASURE AS DEFAULT INPUT UNITS
C
KUOM = 0
C
C GET UNIT IDS
C
CALL PADATC(UNIT,IDS,ALL,UID,KS,KC,IER)
WRITE (NFOUT,110)
C
C GET UNIT TYPE & NAME
C
DO 1004 IX = 1, NUNIT
CALL PADATC(UNIT,TYPE,UID(IX),UTYPE(IX),KS,KC,IER)
CALL PADATC(UNIT,NAME,UID(IX),UNAME(IX),KS,KC,IER)
WRITE (NFOUT,111) IX, UID(IX),UTYPE(IX),UNAME(IX)
1004 CONTINUE

6-2 PDTS Example Listings


C SELECT COMPRESSOR UNIT OPS
C RETRIEVE DATA FOR EACH STAGE
C
KX = 1
DO 1010 IX = 1, NUNIT
CUTYPE = UTYPE(IX)
IF (CUTYPE(1:4) .EQ. COMP) THEN
C
XID(KX) = UID(IX)
XNAME(KX) = UNAME(IX)
C
CALL PADATR(Compressor,PresInletCalc,UID(IX),PIN(KX),
+ KC,KUOM,IPRES,IER)
CALL PADATR(Compressor,TempInletCalc,UID(IX),TIN(KX),
+ KC,KUOM,ITEMP,IER)
CALL PADATR(Compressor,PresCalc,UID(IX),POUT(KX),
+ KC,KUOM,IUOM,IER)
CALL PADATR(Compressor,TempCalc,UID(IX),TOUT(KX),
+ KC,KUOM,IUOM,IER)
CALL PADATR(Compressor,PRatio,UID(IX),PRAT(KX),
+ KC,KUOM,IUOM,IER)
CALL PADATR(Compressor,WorkActualCalc,UID(IX),WORK(KX),
+ KC,KUOM,IWORK,IER)
CALL PADATR(Compressor,EffAdiaCalc,UID(IX),EFF(KX),
+ KC,KUOM,IUOM,IER)
CALL PADATR(Compressor,AcDutyCalc,UID(IX),DUTY(KX),
+ KC,KUOM,IDUTY,IER)
KX = KX + 1
END IF
1010 CONTINUE
C
C GET UNIT OF MEASURE STRINGS
C
DNTEMP = PAUOMS(ITEMP, KUOM, IERR)
DNPRES = PAUOMS(IPRES, KUOM, IERR)
DNWORK = PAUOMS(IWORK, KUOM, IERR)
DNDUTY = PAUOMS(IDUTY, KUOM, IERR)
C
C WRITE OUT TABLE
C
WRITE(NFOUT,112) (XID(I), I = 1, 3), (XNAME(I), I =1, 3)
WRITE(NFOUT,114) DNPRES, (PIN(I), I = 1, 3)
WRITE(NFOUT,115) DNTEMP, (TIN(I), I = 1, 3)
WRITE(NFOUT,116) DNPRES, (POUT(I), I = 1, 3)
WRITE(NFOUT,117) DNTEMP, (TOUT(I), I = 1, 3)
WRITE(NFOUT,118) (PRAT(I), I = 1, 3)
WRITE(NFOUT,119) DNWORK, (WORK(I), I = 1, 3)
WRITE(NFOUT,120) (EFF(I), I = 1, 3)
WRITE(NFOUT,121) DNDUTY, (DUTY(I), I = 1, 3)
C
END

PRO/II Data Transfer System Users Guide 6-3


Example 6-2 Fortran Listing
C FILE: EXAM2.FOR
C
C PDTS SAMPLE APPLICATION
C SIMULATION SCIENCES
C
PROGRAM EXAM2
C
C *********************************************************
C LOCAL DECLARATIONS
PARAMETER (MAXUOP = 500,MXN = 5)
C
CHARACTER*8 FNAME,CASE(MXN)
CHARACTER*12 SID, UID
CHARACTER*40 UNAME
CHARACTER*10 DNFLOW, DNDUTY, PAUOMS
DIMENSION FLOW(MXN), QCON(MXN), QREB(MXN)
*********************************************************
100 FORMAT(/)
101 FORMAT( *** PDTS EXAMPLE PROBLEM # 2 ***,/,
+ ENTER FILE NAME: )
102 FORMAT(A)
103 FORMAT(/, DATA RETRIEVAL FROM FILE: ,A15,/)
105 FORMAT( SETTING UP CASE: ,A10)
112 FORMAT(/, COLUMN CASE STUDY SUMMARY TABLE ,//,
+ UNIT ID ,A12,1X,A40,/)
114 FORMAT( CASE ID ,13X,5A12,/)
115 FORMAT( FEED FLOW RATE ,A10,5F12.1)
116 FORMAT( CONDENSER DUTY ,A10,5F12.4)
117 FORMAT( REBOILER DUTY ,A10,5F12.4)
203 FORMAT( SOLUTION NOT REACHED !!!)
205 FORMAT( ERROR IN FILE INITIALIZATION !!!)
206 FORMAT( ERROR IN CASE SET-UP !!!)
C
C ENTER FILE NAME
WRITE (*,101)
READ (*,102) FNAME
C
C INITIALIZE RETRIEVAL SYSTEM & OPEN SELECTED FILE
CALL PAOPEN(FNAME, ,NFOUT,IRCODE)
IF (IRCODE .NE. 0) THEN
WRITE(*,205)
STOP
ENDIF
C
C WRITE THE FILE NAME
WRITE (NFOUT,103) FNAME
C
C GET ARRAY OF CASE IDS
CALL PACASL(MXN,KXN,CASE,IRCODE)
NXN = MIN(MXN,KXN)
C

6-4 PDTS Example Listings


C SET UNIT OF MEASURE AS DEFAULT INPUT UNITS
C
KUOM = 0
C
C TARGET CASE ID IS D101 FEED STREAM IS 1
C
UID = D101
SID = 1
C
C SET UP EACH CASE
C
DO 3001 KX = 1, NXN
WRITE(*,105) CASE(KX)
CALL PACASE(CASE(KX),IRCODE)
IF (IRCODE .NE. 0) THEN
WRITE(*,206)
STOP
END IF
C
C GET MISCELLANEOUS FLOWSHEET DATA
CALL PAMISC(NCOMP,NSTRM,NUNIT,IRCODE)
IF (IRCODE .NE. 0) THEN
WRITE (*,203)
STOP
END IF
C
C GET UNIT NAME
CALL PADATC(UNIT,NAME,UID,UNAME,KS,KC,IER)
C
C GET FEED STREAM RATE
CALL PADATR(STREAM,TotalMolarRate,SID,FLOW(KX),
+ KC,KUOM,IFLOW,IER)
C
C GET COLUMN CONDENSER & REBOILER DUTIES
CALL PADATR(Colu,CondenserDuty,UID,QCON(KX),
+ KC,KUOM,IDUTY,IER)
CALL PADATR(Colu,ReboilerDuty,UID,QREB(KX),
+ KC,KUOM,IUOM,IER)
3001 CONTINUE
C
C GET UNIT OF MEASURE STRINGS
DNFLOW = PAUOMS(IFLOW, KUOM, IERR)
DNDUTY = PAUOMS(IDUTY, KUOM, IERR)
C
C WRITE OUT TABLE
WRITE(NFOUT,112) UID, UNAME
WRITE(NFOUT,114) (CASE(I), I = 1, NXN)
WRITE(NFOUT,115) DNFLOW, (FLOW(I), I = 1, NXN)
WRITE(NFOUT,116) DNDUTY, (QCON(I), I = 1, NXN)
WRITE(NFOUT,117) DNDUTY, (QREB(I), I = 1, NXN)
C
END

PRO/II Data Transfer System Users Guide 6-5


Example 6-3 Fortran Listing
C
C FILE: EXAM3.FOR
C
C PDTS SAMPLE APPLICATION
C SIMULATION SCIENCES
C
PROGRAM EXAM3
C
C *********************************************************
C LOCAL DECLARATIONS
C
PARAMETER (MAXNOC = 50, MAXTRA= 100)
C
CHARACTER*8 FNAME
CHARACTER*12 UID
CHARACTER*16 COMPID(MAXNOC)
CHARACTER*40 UNAME
CHARACTER*10 DNPRES, DNTEMP, DNFLOW, DNVDEN, DNLDEN, PAUOMS
DIMENSION XCOMP(MAXNOC*MAXTRA), YCOMP(MAXNOC*MAXTRA),
+ TEMP(MAXTRA), PRES(MAXTRA), XVNET(MAXTRA),
+ XLNET(MAXTRA), DENVAP(MAXTRA), DENLIQ(MAXTRA)
*********************************************************
100 FORMAT(/)
101 FORMAT( *** PDTS EXAMPLE PROBLEM # 3 ***,/,
+ ENTER FILE NAME: )
102 FORMAT(A)
103 FORMAT(/, DATA RETRIEVAL FROM FILE: ,A15,/)
112 FORMAT( COLUMN REPORT TABLE - UID: ,A12, - ,A40)
114 FORMAT(/, TRAY NUMBER: ,10X,5I10)
115 FORMAT( PRESSURE: ,A10,5F10.2)
116 FORMAT( TEMPERATURE: ,A10,5F10.2)
117 FORMAT( NET VAPOR RATE: ,A10,5F10.2)
118 FORMAT( NET LIQUID RATE: ,A10,5F10.2)
119 FORMAT( VAPOR DENSITY: ,A10,5F10.4)
120 FORMAT( LIQUID DENSITY: ,A10,5F10.4)
121 FORMAT(/, VAPOR PHASE COMPOSITION )
122 FORMAT(1X,A16,13X,5F10.4)
123 FORMAT(/, LIQUID PHASE COMPOSITION )
203 FORMAT( SOLUTION NOT REACHED !!!)
205 FORMAT( ERROR IN FILE INITIALIZATION !!!)
206 FORMAT( ERROR IN CASE SET-UP !!!)
C
C ENTER FILE NAME
C
WRITE (*,101)
READ (*,102) FNAME
C
C INITIALIZE RETRIEVAL SYSTEM & OPEN SELECTED FILE
C
CALL PAOPEN(FNAME, ,NFOUT,IRCODE)
IF (IRCODE .NE. 0) THEN

6-6 PDTS Example Listings


WRITE(*,205)
STOP
ENDIF
C
C WRITE THE FILE NAME
WRITE (NFOUT,103) FNAME
C
C GET MISCELLANEOUS FLOWSHEET DATA
CALL PAMISC(NCOMP,NSTRM,NUNIT,IRCODE)
IF (IRCODE .NE. 0) THEN
WRITE (*,203)
STOP
END IF
C
C SET UNIT OF MEASURE AS DEFAULT INPUT UNITS
KUOM = 0
C
C TARGET CASE ID IS D101
UID = D101
C
C GET COMPONENT IDS
CALL PADATC(COMPS,IDS,ALL,COMPID,KS,KC,IER)
C
C GET UNIT NAME
CALL PADATC(UNIT,NAME,UID,UNAME,KS,KC,IER)
C
C GET NUMBER OF TRAYS
CALL PADATI(Colu,NumberOfTrays,UID,NTRAY,KC,IER)
C
C GET COLUMN TRAY BY TRAY TEMPERATURE & PRESSURE
CALL PADATR(Colu,TrayPressures,UID,PRES,
+ KC,KUOM,IPRES,IER)
CALL PADATR(Colu,TrayTemperatures,UID,TEMP,
+ KC,KUOM,ITEMP,IER)
C
C GET COLUMN TRAY BY TRAY NET LIQUID & NET VAPOR RATES
CALL PADATR(Colu,TrayNetVapRates,UID,XVNET,
+ KC,KUOM,IFLOW,IER)
CALL PADATR(Colu,TrayNetLiqRates,UID,XLNET,
+ KC,KUOM,IUOM,IER)
C
C GET COLUMN TRAY BY TRAY LIQUID & VAPOR DENSITIES
CALL PADATR(Colu,TrayVapDensityAct,UID,DENVAP,
+ KC,KUOM,IVDEN,IER)
CALL PADATR(Colu,TrayLiqDensityAct,UID,DENLIQ,
+ KC,KUOM,ILDEN,IER)
C
C GET COLUMN TRAY BY TRAY LIQUID & VAPOR COMPOSITIONS
CALL PADATR(Colu,TrayVaporMoleFracs,UID,YCOMP,
+ KC,KUOM,IUOM,IER)
CALL PADATR(Colu,TrayLiquidMoleFracs,UID,XCOMP,
+ KC,KUOM,IUOM,IER)
C

PRO/II Data Transfer System Users Guide 6-7


C GET UNIT OF MEASURE STRINGS
C
DNPRES = PAUOMS(IPRES, KUOM, IERR)
DNTEMP = PAUOMS(ITEMP, KUOM, IERR)
DNFLOW = PAUOMS(IFLOW, KUOM, IERR)
DNLDEN = PAUOMS(ILDEN, KUOM, IERR)
DNVDEN = PAUOMS(IVDEN, KUOM, IERR)
C
C WRITE OUT TABLE
C
WRITE (NFOUT,112) UID, UNAME
DO 3001 KX = 1, NTRAY, 5
WRITE (NFOUT,114) KX, KX+1, KX+2, KX+3, KX+4
WRITE (NFOUT,115) DNPRES, (PRES(I), I = KX, KX+4)
WRITE (NFOUT,116) DNTEMP, (TEMP(I), I = KX, KX+4)
WRITE (NFOUT,117) DNFLOW, (XVNET(I), I = KX, KX+4)
WRITE (NFOUT,118) DNFLOW, (XLNET(I), I = KX, KX+4)
WRITE (NFOUT,119) DNVDEN, (DENVAP(I), I = KX, KX+4)
WRITE (NFOUT,120) DNLDEN, (DENLIQ(I), I = KX, KX+4)
C
WRITE (NFOUT,121)
DO 2501 JX = 1, NCOMP
WRITE (NFOUT,122) COMPID(JX),
+ (YCOMP(JX+NCOMP*(I-1)), I = KX, KX+4)
2501 CONTINUE
C
WRITE (NFOUT,123)
DO 2502 JX = 1, NCOMP
WRITE (NFOUT,122) COMPID(JX),
+ (XCOMP(JX+NCOMP*(I-1)), I = KX, KX+4)
2502 CONTINUE
3001 CONTINUE
END

6-8 PDTS Example Listings


Chapter 7
User-Addressable Utility Functions

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)

PRO/II Data Transfer System Users Guide 7-1


7-2 User-Addressable Utility Functions
Chapter 8
Guide for Pre-v5.5 PDTS-UAS Users

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.

PRO/II Data Transfer System Users Guide 8-1


Guide for PDTS and UAS v4.0 Users
For applications that were developed using versions 4.0 to 4.17, the
PDTS functions will work with these versions without modifica-
tion. However, you must recompile and re-link your application
with the latest version of the PRO/II libraries in order to be compat-
ible with PRO/II v5.5.

8-2 Guide for Pre-v5.5 PDTS-UAS Users


Index

A Case study option


multiple cases , 1-6
Case study setup subroutine
Attribute PACASE() , 3-4
See Data retrieval
Class
Attribute lists See Data retrieval
complete listing of , 5-1
Calculator , 5-23
Column/Side , 5-17
Component data , 5-2
D
Compressor , 5-6
Conversion Reactor , 5-24 Data retrieval
CSTR , 5-25 class, attribute, item scheme , 1-3
Equilibrium Reactor , 5-23 Data retrieval subroutine
Expander , 5-6 PADATC() - character , 1-3, 3-8
Flash , 5-5 PADATI() - integer , 1-3, 3-7
Gibbs Reactor , 5-27 PADATR() - floating point , 1-3, 1-4, 3-6
HCURVE (heating curve) , 5-21 Database close subroutine
HX (simple) , 5-10 PACLOS() , 3-11
HXRIG (rigorous) , 5-12 Database open subroutine
LLEX (liq.-liq. extraction) , 5-20 PAOPEN , 3-2
LNGHX (liq. nat. gas HX) , 5-15
Phase Envelope , 5-22
Pipe , 5-7 F
Plug Flow Reactor , 5-26
Pump , 5-7
FIGETU()
Shortcut (column) , 5-16 for getting FORTRAN file unit number
Stream Data , 5-2 Example of implementation , 7-1
Unit Data , 5-4
Flowsheet parameter retrieval subroutine
Valve , 5-5
PMISC() , 3-5

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

PRO/II Data Transfer System Users Guide I-1


O PMISC()
See Flowsheet parameter retrieval
PRO/II database files
OUTDIME statement , 1-5 *.prz and *.pr1 , 1-2, 2-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

Global Customer Support


Inside U.S.: 1-866-746-6477
Outside U.S.: 1-508-549-2424 or contact your
local Invensys Representative.
Email: Invensys.iom.support@Schneider-electric.com
Website: http://support.ips.invensys.com

S-ar putea să vă placă și