PRO II Com Server Reference Guide PDF

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 247

PRO/II COM Server

REFERENCE GUIDE
PRO/II COM Server The software described in this guide is furnished under a written agreement
Reference Guide 8.0 and may be used only in accordance with the terms and conditions of the
license agreement under which you obtained it. The technical
documentation is being delivered to you AS IS and Invensys Systems, Inc.
makes no warranty as to its accuracy or use. Any use of the technical
documentation or the information contained therein is at the risk of the user.
Documentation may include technical or other inaccuracies or typographical
errors. Invensys Systems, Inc. reserves the right to make changes without
prior notice.

Copyright Notice Copyright Notice © 2006 Invensys Systems, Inc. All rights reserved. No
part of the material protected by this copyright may be reproduced or utilized
in any form or by any means, electronic or mechanical, including
photocopying, recording, broadcasting, or by any information storage and
retrieval system, without permission in writing from Invensys Systems, Inc.

Trademarks Trademarks PRO/II and Invensys SIMSCI-ESSCOR are trademarks of


Invensys plc, its subsidiaries and affiliates.
AMSIM is a trademark of DBR Schlumberger Canada Limited.
RATEFRAC® is a registered trademark of KOCH - GLITSCH.
BATCHFRAC® is a trademark registered to KOCH - GLITSCH.
Visual Fortran is a trademark of Intel Corporation.
Windows NT, Windows 2000, Windows 2003, Windows XP and MS-DOS
are trademarks of Microsoft Corporation.
Adobe, Acrobat, Exchange, and Reader are trademarks of Adobe Systems,
Inc.
All other products may be trademarks of their respective companies.
U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND
The Software and accompanying written materials are provided with
restricted rights. Use, duplication, or disclosure by the Government is
subject to restrictions as set forth in subparagraph © (1) (ii) of the Rights in
Technical Data And Computer Software clause at DFARS 252.227-7013 or
in subparagraphs © (1) and (2) of the Commercial Computer Software-
Restricted Rights clause at 48 C.F.R. 52.227-19, as applicable.
The Contractor/Manufacturer is: Invensys Systems, Inc. (Invensys SIMSCI-
ESSCOR) 26561 Rancho Parkway South, Suite 100, Lake Forest, CA
92630, USA.
Printed in the United States of America, June 2006
Table of Contents
Introduction--------------------------------------------------------- 7
Overview -----------------------------------------------------------------------------7
Notes on Syntax --------------------------------------------------------------------7
Notes on Examples ----------------------------------------------------------------8
Further Reference------------------------------------------------------------------8

Server Object------------------------------------------------------- 9
Overview -----------------------------------------------------------------------------9
General Server and File Manipulation Methods ----------------------------------------- 10
Error Subsystem Methods --------------------------------------------------------------------- 11

Server Object Properties ------------------------------------------------------- 12


DebugLevel --------------------------------------------------------------------------------------- 12
INIFile ----------------------------------------------------------------------------------------------- 13
MsgCount ------------------------------------------------------------------------------------------ 14
Status ----------------------------------------------------------------------------------------------- 15

Server Object Methods --------------------------------------------------------- 16


ClearMsgs ----------------------------------------------------------------------------------------- 16
DbsGetAttrId -------------------------------------------------------------------------------------- 17
DbsGetClassId ----------------------------------------------------------------------------------- 18
Export ----------------------------------------------------------------------------------------------- 19
GenerateReport ---------------------------------------------------------------------------------- 20
GetClassCount ----------------------------------------------------------------------------------- 21
GetClassNames---------------------------------------------------------------------------------- 22
GetGroupClassCount --------------------------------------------------------------------------- 23
GetGroupClassNames ------------------------------------------------------------------------- 24
GetGroupCount ---------------------------------------------------------------------------------- 25
GetGroupNames --------------------------------------------------------------------------------- 26
GetOption ------------------------------------------------------------------------------------------ 27
GetSecuritySeat---------------------------------------------------------------------------------- 28
Import ----------------------------------------------------------------------------------------------- 29
Initialize--------------------------------------------------------------------------------------------- 30
MsgText -------------------------------------------------------------------------------------------- 32
MsgCode------------------------------------------------------------------------------------------- 33
MsgSeverity --------------------------------------------------------------------------------------- 34

3
NewDatabase------------------------------------------------------------------------------------- 35
OpenDatabase ----------------------------------------------------------------------------------- 36
ReleaseSecuritySeat --------------------------------------------------------------------------- 37
RunCalcs------------------------------------------------------------------------------------------- 38
SetCallbackPtr------------------------------------------------------------------------------------ 39
SetOption ------------------------------------------------------------------------------------------ 40
Unload ---------------------------------------------------------------------------------------------- 41

Database Object------------------------------------------------- 43
Overview --------------------------------------------------------------------------- 43
Database Object Properties --------------------------------------------------- 46
Name------------------------------------------------------------------------------------------------ 46
Status ----------------------------------------------------------------------------------------------- 47

Database Object Methods ----------------------------------------------------- 48


ActivateObject ------------------------------------------------------------------------------------ 48
BuildCompCalc ----------------------------------------------------------------------------------- 49
BuildExecSequence----------------------------------------------------------------------------- 50
BuildRefStreams --------------------------------------------------------------------------------- 51
BuildStreamCalc --------------------------------------------------------------------------------- 52
BuildThermoCalc -------------------------------------------------------------------------------- 53
CalculateStreamProps ------------------------------------------------------------------------- 54
CalculateStreamProps2 ------------------------------------------------------------------------ 55
CalculateUnitProps ------------------------------------------------------------------------------ 57
CheckData----------------------------------------------------------------------------------------- 59
ConvertIdToNum--------------------------------------------------------------------------------- 61
ConvertNumToId--------------------------------------------------------------------------------- 62
ConvertValue ------------------------------------------------------------------------------------- 63
ConvertValue2------------------------------------------------------------------------------------ 65
CopyTrayToStream ----------------------------------------------------------------------------- 66
CreateObject -------------------------------------------------------------------------------------- 68
CrossCheckControlUnitOps------------------------------------------------------------------- 69
CrossCheckSpecsVarys ----------------------------------------------------------------------- 70
CrossCheckUnitOps ---------------------------------------------------------------------------- 71
DbsSaveDb---------------------------------------------------------------------------------------- 72
DeleteObject -------------------------------------------------------------------------------------- 73
FlashStream--------------------------------------------------------------------------------------- 74
GenerateAssayComponents ------------------------------------------------------------------ 75
GetObjectCount ---------------------------------------------------------------------------------- 77
GetObjectNames--------------------------------------------------------------------------------- 78
GetUOMString ------------------------------------------------------------------------------------ 79
GetUOMString2 ---------------------------------------------------------------------------------- 81
MiscChecks --------------------------------------------------------------------------------------- 82
ObjectExists --------------------------------------------------------------------------------------- 83
ObjectExistsInGroup ---------------------------------------------------------------------------- 84
RenameObject------------------------------------------------------------------------------------ 85
RestoreInputData -------------------------------------------------------------------------------- 86

4
TowerBurst ---------------------------------------------------------------------------------------- 87
TowerMerge--------------------------------------------------------------------------------------- 88

Database Data Object ----------------------------------------- 89


Overview --------------------------------------------------------------------------- 89
Database Data Object Properties -------------------------------------------- 91
Name------------------------------------------------------------------------------------------------ 91
Status ----------------------------------------------------------------------------------------------- 92

Database Data Object Methods ---------------------------------------------- 93


Commit --------------------------------------------------------------------------------------------- 93
GetAttribute---------------------------------------------------------------------------------------- 94
GetAttributeCount ------------------------------------------------------------------------------- 96
GetAttributeDataType -------------------------------------------------------------------------- 97
GetAttributeName-------------------------------------------------------------------------------- 98
GetAttributeSystemDataType----------------------------------------------------------------- 99
GetAttributeUOM ------------------------------------------------------------------------------- 100
GetThermoDefaults ---------------------------------------------------------------------------- 101
PopCopy ------------------------------------------------------------------------------------------ 102
PullPrevCopy ------------------------------------------------------------------------------------ 103
PushNewCopy----------------------------------------------------------------------------------- 104
PutAttribute --------------------------------------------------------------------------------------- 105
UnitCount ----------------------------------------------------------------------------------------- 107
UnitSize ------------------------------------------------------------------------------------------- 108

Appendix A-------------------------------------------------------109
Unit of Measure Codes ------------------------------------------------------- 109

Appendix B.………………………………………….…….112
PRO/II Object Reference…………………………………..………..112

5
Introduction

Overview
The objective of this guide is to explain the Application Programming Interface
(API) to the PRO/II COM Server. The PRO/II COM Server allows full read/write
access to PRO/II® simulation databases using Microsoft COM technology. Any
language or application that supports COM can use the methods and properties
described here. This includes Microsoft® Visual Basic®, Microsoft Excel, and
C++ applications written using the Win32 API, the MFC (Microsoft Foundation
Classes) framework, or the ATL (ActiveX Template Library) framework. The
examples in this document are written in Visual Basic (VB).
There are three types of objects available in the PRO/II COM Server:
Server Object: This singleton object is used to initialize and manage interaction
with the PRO/II COM Server.
Database Object: This object is used to interact with a specific simulation
database.

The PRO/II COM Server can open only one database at a time.
Data Object: Each “data object” is used to interact with a specific object in
PRO/II: components, thermodynamic systems, streams, and unit operations.
Data are read from and written to these objects using the GetAttribute and
PutAttribute methods.

Notes on Syntax
In this document, the syntax of the properties and methods is expressed in the
Visual Basic 6.0 language. This language is also used as the macro language for
Microsoft Excel.
Visual Basic allows the developer to implicitly define the data type of a variable
by ending it with a special character. This syntax is used in a number of the
examples in this document.
A variable name ending in a percent symbol, such as
Level%
Indicates that the variable is of Integer type.
A variable name ending in a “dollar” symbol, such as
objName$
This is indicates that the variable is of String type.

7 Introduction
The term “Nothing” is also used when referring to object variables. “Nothing” is a
reserved keyword in Visual Basic that is used to indicate that an object variable is
not assigned. When you assign the value of “Nothing” to an existing object
variable, Visual Basic will decrement the reference count of the COM object
associated with that variable by calling the COM function IUnknown::Release.
When the reference count drops to zero, the COM object will be deleted from
memory.

Notes on Examples
Each example is a complete Visual Basic program. You can copy these code
examples into your own Visual Basic or Excel macros and subroutines. The
examples use simulation databases that can be created with the keyword files
supplied with the PRO/II installation in the “user” and “user\applib” directories.
Before running one of the Visual Basic examples, you should start PRO/II with
PROVISION, import the keyword file, solve, save, and exit. At that point, the
simulation database (*.prz) will be ready.
The examples also assume that PRO/II 8.0 has been installed in the directory
“c:\simsci\proii80”. Modify the directory names in the examples if your installation
is different.

Further Reference
For further reference, see the following documents:
• PRO/II COM Server Programmer’s Guide and Tutorial: Provides an overview of
using Visual Basic to interact with the PRO/II COM Server.

PRO/II COM Server Reference Guide 8


Server Object

Overview
The Server object must be created and initialized before any simulation database
can be created, opened, or solved. To create the “Server Object”, use the
language-specific method which creates a COM object. For example, the Visual
Basic code to create the “Server Object” is:
Dim P2SRV as Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
...
where "SimSciDbs.Database.80" is the “progid” of the specific version of PRO/II
COM Server to be created.
Once the Server object has been created, the properties and methods can be
used as described below and in the PRO/II COM Server Programmer’s Guide
and Tutorial.
The Server object has the following properties:

DebugLevel Amount of debug information to write to the debug file.

INIFile Name and path of the .INI file.

MsgCount Number of errors, warnings, and messages currently in the internal buffer.

Status Server status. Any method that causes an internal error will set this property
to a non-zero value.

The Server object has the two methods which are as follows:
1. General Server and File Manipulation methods
2. Error Subsystem methods
Each method is described briefly here. Detailed information is available in the
following section, Server Object Methods.

9 Server Object
General Server and File Manipulation Methods
DbsGetAttrId Returns the numeric identifier corresponding to the supplied
class identifier and name of a PRO/II attribute.

DbsGetClassId Returns the numeric class identifier corresponding to the


supplied PRO/II object class name.

Export Exports the specified simulation database to a keyword file.

GenerateReport Generates a report for the specified simulation.

GetClassCount Returns the number of object classes available from the PRO/II
COM server.

GetClassNames Returns the individual object class name specified by the index.

GetGroupClassCount Returns the total number of object classes belonging to the


specified group.

GetGroupClassNames Returns the object class name belonging to the specified group
name and corresponding to the specified index.

GetGroupCount Returns the total number of object class groups in PRO/II.

GetGroupNames Returns the group name corresponding to the specified index.

GetOption Returns the value of an option in the PRO/II COM server.

GetSecuritySeat Acquires a software security seat so that subsequent calls to


security-aware methods will not need to perform individual
security operations.

Import Imports the specified keyword file, creating a new simulation


database.

Initialize Initializes the PRO/II COM Server.

NewDatabase Creates a new PRO/II simulation database.

OpenDatabase Opens an existing PRO/II simulation database.

ReleaseSecuritySeat Releases the software security seat previously acquired by a


call to GetSecuritySeat.

RunCalcs Solves the specified simulation.

SetCallbackPtr Internal method reserved for future use.

PRO/II COM Server Reference Guide 10


SetOption Sets the value of an option in the PRO/II COM server.

Unload Shuts down the database access features of the COM server in
preparation for RunCalcs or GenerateReport. (Deprecated
since 7.1)

Error Subsystem Methods

ClearMsgs Removes all messages from the internal buffer.

MsgCode Returns an error, warning, or message code from the internal


buffer.

MsgSeverity Returns an error, warning, or message severity code from the


internal buffer.

MsgText Returns an error, warning, or message string from the internal


buffer.

11 Server Object
Server Object Properties
DebugLevel
Description
Returns or sets the level determining the amount of debug information to write to the
debug output file. The name of the debug output file is specified in the Initialize
method. The recognized levels are:

0 dumps calls to Server Functions.

1 dumps “0-level” information and function details.

2 dumps “1-level” information and memory allocation information.

Syntax
level% = object.DebugLevel

PRO/II COM Server Reference Guide 12


INIFile
Description
Returns the path and name of the PRO/II initialization file. This file contains
information regarding configuration and default selections for the installed version of
PRO/II.
When the PRO/II COM Server is initially started, this value is set to a default value.
Typically, this file is named “proii.ini” and it is located in the “user” directory of the
PRO/II installation structure. It can also be changed by supplying a new value in the
Initialize method.

Syntax
IniFile$ = object.INIFile

13 Server Object
MsgCount
Description
Returns the number of errors, warnings, and messages in the internal message
buffer.
Methods such as FlashStream or Commit may write detailed informational
messages or errors to the internal buffer. Use MsgCount and MsgText to retrieve
these messages.

Syntax
msgcount% = object.MsgCount

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
P2SRV.ClearMsgs
' Perform flash and display the results
sResults$ = P2DB.FlashStream("1")
MsgBox sResults$, vbOKOnly, "Flash Results"

' If there are errors or messages get them here


nMsg% = P2SRV.MsgCount
If nMsg% > 0 Then
For i% = 0 To (nMsg% - 1)
sMessage$ = P2SRV.MsgText(i%)
Next
End If
Set P2DB = Nothing
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 14


Status
Description
Returns the internal server status. A status of zero means no error has been
encountered.
The methods in the Server Object may change the value of this property if an error
has occurred.

When this property is retrieved, the Status is reset to zero automatically.

Syntax
stat% = object.Status

15 Server Object
Server Object Methods
ClearMsgs
Description
Removes all errors, warnings, and messages from the internal buffer. This method is
typically used before a method such as FlashStream or Commit to clear the internal
message buffer.

Syntax
object.ClearMsgs

Return Value
None.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
P2SRV.ClearMsgs
' Perform flash and display the results
sResults$ = P2DB.FlashStream("1")
MsgBox sResults$, vbOKOnly, "Flash Results"

' If there are errors or messages get them here


nMsg% = P2SRV.MsgCount
If nMsg% > 0 Then
For i% = 0 To (nMsg % - 1)
sMessage$ = P2SRV.MsgText(i%)
Next
End If
Set P2DB = Nothing
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 16


DbsGetAttrId
Description
Each attribute in a PRO/II object is identified by a name such as the attribute
“Composition” of the "StreamIn" class. This method returns the numeric identifier
corresponding to the text string.
This method is not typically used in a PRO/II COM application.

Syntax
attrid% = object.DbsGetAttrId(classId, attrName)

Arguments

classId The numeric class identifier. Use the DbsGetClassId method to


get this value from the class name.

attrName The PRO/II object attribute name. Use GetAttributeName to get


a list of recognized attributes for specific PRO/II object classes.

Return Value
The numeric code corresponding with the PRO/II attribute for the specified object
class.
Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
classid% = P2SRV.DbsGetClassId("Stream")
attrid% = P2SRV.DbsGetAttrId(classid%, "Temperature")
Set P2SRV = Nothing

17 Server Object
DbsGetClassId
Description
Each object class in PRO/II is identified by a name such as "StreamIn" or “Valve”.
This method returns the numeric identifier corresponding to the text string. The
numeric identifier can be used in methods requiring a numeric class identifier, such as
DbsGetAttrId.
This method is not typically used in a PRO/II COM application.

Syntax
classid% = object.DbsGetClassId(className)

Arguments

className The PRO/II object class name. Use GetClassNames or


GetGroupClassNames method to get a list of recognized object
class names.

Return Value
The numeric code corresponding with the PRO/II object class.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
classid% = P2SRV.DbsGetClassId("Stream")
attrid% = P2SRV.DbsGetAttrId(classid%, "Temperature")
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 18


Export
Description
Exports the specified simulation database to a keyword file.

Syntax
retCode% = object.Export(dbName, keywordFile)

Arguments

dbName Path and name of the simulation database to export.

keywordFile Name of keyword file to generate.

Return Value
0 – no errors
5 – specified simulation database was not found

Example
Dim P2SRV As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
p2KwdFile$ = "c:\SimSci\proii80\user\Applib\R3R_new.inp"
retCode% = P2SRV.Export(p2Database$, p2KwdFile$)
Set P2SRV = Nothing

19 Server Object
GenerateReport
Description
This generates a report for the specified simulation. The name of the report will be the
name of the simulation database with the extension “.out”.

Syntax
retCode% = object.GenerateReport(dbName)

Arguments

dbName Path and name of simulation database.

Return Value
<0 – security missing or improperly installed
1 – completed with no errors or warnings
2 – completed with warnings
3 – errors were generated
5 – specified simulation database was not found

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
retCode% = P2SRV.GenerateReport(p2Database)
' the name of the report is R3R.OUT
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 20


GetClassCount
Description
Returns the number of object classes available from the PRO/II COM Server.

Syntax
clscount% = object.GetClassCount

Arguments
None.

Return Value
The number of object classes.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
clscount% = P2SRV.GetClassCount
For i% = 0 To clscount% - 1
clsname$ = P2SRV.GetClassNames(i%)
Next
Set P2SRV = Nothing

21 Server Object
GetClassNames
Description
Returns the name of an object class with the specified index. This function is typically
used with the GetClassCount method.

Syntax
clsname$ = object.GetClassNames(index)

Arguments

index The index of the class name to retrieve. Specify 0 to


return the first class name.

Return Value
The class name returned as a string.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
clscount% = P2SRV.GetClassCount
For i% = 0 To clscount% - 1
clsname$ = P2SRV.GetClassNames(i%)
Next
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 22


GetGroupClassCount
Description
The object classes in PRO/II are organized into “groups”. For example, the “Valve”
class and the “Pump” class both belong to the "Unit" group. This method returns the
total number of classes in the specified group. To get the names of the classes, use
the method GetGroupClassNames. To get the list of groups, use the methods
GetGroupCount and GetGroupNames.

Syntax
clscount% = object.GetGroupClassCount(groupName)

Arguments

groupName The group name. Use GetGroupCount and


GetGroupNames to get the list of valid groups.

Return Value
The number of PRO/II object classes in the specified group.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
clscount% = P2SRV.GetGroupClassCount("Unit")
For i% = 0 To clscount% - 1
clsname$ = P2SRV.GetGroupClassNames("Unit", i%)
Next
Set P2SRV = Nothing

23 Server Object
GetGroupClassNames
Description
The object classes in PRO/II are organized into “groups”. For example, the “Valve”
class and the “Pump” class both belong to the "Unit" group. A client application can
use this function in a loop to get the list of all classes in the specified group. The total
number of classes can be obtained using the method GetGroupClassCount. Using a
specific group name, the client application can use the function
GetGroupClassNames to get the list of all classes in a group. (The first element is
specified using a value of zero for the index.)

Syntax
clsname$ = object.GetGroupClassNames(groupName, index)

Arguments

groupName The group name. Use GetGroupCount and GetGroupNames to


get the list of valid groups.

Index The index of the class name to retrieve. Specify 0 to return the
first class name.

Return Value
The name of the object class for the specified group at the specified index.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
clscount% = P2SRV.GetGroupClassCount("Unit")
For i% = 0 To clscount% - 1
clsname$ = P2SRV.GetGroupClassNames("Unit", i%)
Next
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 24


GetGroupCount
Description
The object classes in PRO/II are organized into “groups”. For example, the “Valve”
class and the “Pump” class both belong to the "Unit" group. This method returns the
total number of groups in PRO/II. To get the names of the groups, use the method
GetGroupNames.

Syntax
grpcount% = object.GetGroupCount

Arguments
None.

Return Value
The number of PRO/II object class groups.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
grpcount% = P2SRV.GetGroupCount
For i% = 0 To grpcount% - 1
grpname$ = P2SRV.GetGroupNames(i%)
Next
Set P2SRV = Nothing

25 Server Object
GetGroupNames
Description
The object classes in PRO/II are organized into “groups”. For example, the “Valve”
class and the “Pump” class both belong to the "Unit" group. The total number of
groups can be obtained using the method GetGroupCount. This method can be
used in a loop to get the individual group names. Then, using a specific group name,
the client application can use the function GetGroupClassNames to get the list of all
classes in a group. (Usually used in conjunction with GetGroupCount method) (The
first element is specified using a value of zero for the index.)

Syntax
grpname$ = object.GetGroupNames(index)

Arguments

Index The index of the group name to retrieve. Specify 0 to return the
first group name.

Return Value
The group name for specified index.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
grpcount% = P2SRV.GetGroupCount
For i% = 0 To grpcount% - 1
grpname$ = P2SRV.GetGroupNames(i%)
Next
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 26


GetOption
Description
Returns the value of an option in the PRO/II COM server. The recognized options are
listed in the table:

Option name Description

“showInternalObjects” Modifies the operation of GetObjectCount and


GetObjectNames. By default these methods do not
include objects internal to the PRO/II simulation. For
diagnostic purposes, it is sometimes useful to access
the attributes of these internal objects. If the option
value is set to "1" then these methods will include the
"internal" objects as part of the object count and object
list.

"DoublePrecision" Specifies whether the COM Server will return floating


point values in single precision or double precision. If
the option value is set to "0" then single precision is
used. If the value is set to "1" then double precision is
used. The default is to use single precision, which is
the behavior in version 7.1 and previous.

Syntax
value$ = object.GetOption(optionName)

Arguments

optionName Name of the option to be retrieved. The list of valid options is


shown in the table.

Return Value
Value of the option. The value is returned as a text string.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Value1$ = P2SRV.GetOption("showInternalObjects")
Value2$ = P2SRV.GetOption("DoublePrecision")
Set P2SRV = Nothing

27 Server Object
GetSecuritySeat
Description
This acquires a software security seat so that subsequent calls to security-aware
methods will not need to perform individual security operations.
This method can be used to improve performance. A method like
CalculateStreamProps will acquire a security seat, perform the calculations, and
then release the security seat. If the application needs to make many calls to security-
aware methods, then it is more efficient to make one call to get the security and then
make the multiple calls to the security-aware method.

Syntax
retCode% = object.GetSecuritySeat(level)

Arguments

level Use a value of 2 to request a PRO/II security license.

Return Value
0 – no error
<0 – security missing or improperly installed

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database)
' Get a security license (for better performance)
retCode% = P2SRV.GetSecuritySeat(2)
nStreams% = P2DB.GetObjectCount("Stream")
For i% = 0 To (nStreams% - 1)
objName$ = P2DB.GetObjectNames("Stream", i%)
P2DB.CalculateStreamProps (objName$)
Next
' Release the security license
P2SRV.ReleaseSecuritySeat

Set P2DB = Nothing


Set P2SRV = Nothing

PRO/II COM Server Reference Guide 28


Import
Description
Imports the specified keyword file, creating a new simulation database. To open the
generated database, use the OpenDatabase method.

Syntax
retCode% = object.Import(dbName)

Arguments

dbName The path and name of the keyword file.

Return Value
<0 – security missing or improperly installed
1 – completed with no errors or warnings
2 – completed with warnings
3 – errors were generated
5 – specified keyword file was not found

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
p2KwdFile$ = "c:\SimSci\proii80\user\Applib\R3R.inp"
retCode% = P2SRV.Import(p2KwdFile$)
Set P2SRV = Nothing

29 Server Object
Initialize
Description
Initializes the PRO/II COM Server. This method must be called before any other
methods are invoked. To release (close) the server at the end of the application, set
the object variable to “Nothing.”

Syntax
object.Initialize(config, schema, debug)

Arguments

config Optional. The full path and name of the PRO/II initialization
file. If not specified, then it will use the installation-time
default read from the Windows Registry key
“HKEY_LOCAL_MACHINE/Software/Simulation
Sciences/PRO/II/8.0/Ini_File”, where “8.0” refers to the
specific version of PRO/II being used.

schema Optional. The name of the PRO/II schema file. This file
contains the information on what classes and their attributes
are available in the PRO/II database. If not specified, the
value is read from the “config” file.

debug Optional. The name of the file in which to dump internal


debug information. The amount of information is controlled
by the DebugLevel property.

Return Value
None.

Example
Using all defaults:
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
...

' Shut down the COM Server


Set P2SRV = Nothing

PRO/II COM Server Reference Guide 30


Specifying the individual files
p2ConfigFile$ = "c:\SimSci\proii80\User\proii.ini"
dbsSchemaFile$ = "c:\SimSci\proii80\System\Schema.sdf"
p2DebugFile$ = "c:\SimSci\proii80\User\debug.txt"
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize p2ConfigFile$, _
dbsSchemaFile$, p2DebugFile$
...

' Shut down the COM Server


Set P2SRV = Nothing

31 Server Object
MsgText
Description
Returns the text of an error, warning, or message in the internal message buffer.

Syntax
text$ = object.MsgText(index)

Arguments

index The index of the message to retrieve. Specify a value of


zero to retrieve the first message.

Return Value
The text string of the error, warning, or message.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
P2SRV.ClearMsgs
' Perform flash and display the results
sResults$ = P2DB.FlashStream("1")
MsgBox sResults$, vbOKOnly, "Flash Results"

' If there are errors or messages get them here


nMsg% = P2SRV.MsgCount
If nMsg% > 0 Then
For i% = 0 To (nMsg% - 1)
iCode% = P2SRV.MsgCode(i%)
iSeverity% = P2SRV.MsgSeverity(i%)
sMessage$ = P2SRV.MsgText(i%)
Next
End If

Set P2DB = Nothing


Set P2SRV = Nothing

PRO/II COM Server Reference Guide 32


MsgCode
Description
Returns the internal code for an error, warning, or message in the internal message
buffer.

Syntax
code% = object.MsgCode(index)

Arguments

Index The index of the message code to retrieve. Specify a value of


zero to retrieve the first code.

Return Value
The integer code for the error, warning, or message.

Example
See MsgText.

33 Server Object
MsgSeverity
Description
Returns the severity level for an error, warning, or message in the internal message
buffer.

Syntax
severity% = object.MsgSeverity(index)

Arguments

index The index of the message severity to retrieve. Specify a


value of zero to retrieve the first value.

Return Value
The integer severity code for the error, warning, or message.

Example
See MsgText.

PRO/II COM Server Reference Guide 34


NewDatabase
Description
Creates a new PRO/II simulation database. To close the database, set the object
variable to Nothing.

Syntax
Set P2DB = object.NewDatabase(dbname)

Arguments

dbname The path and name of the database to create. Do not include
the file extension.

Return Value
A Database Object.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2NewDB$ = "c:\SimSci\proii80\User\MyNewDB"
Set P2DB = P2SRV.NewDatabase(p2NewDB$)
Set P2DB = Nothing
Set P2SRV = Nothing

35 Server Object
OpenDatabase
Description
Opens an existing PRO/II simulation database. To close the database, set the object
variable to Nothing.

Syntax
Set P2DB = object.OpenDatabase(dbname)

Arguments

dbname The path and name of the database to open.

Return Value
A Database Object.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
Set P2DB = Nothing
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 36


ReleaseSecuritySeat
Description
Releases the software security seat previously acquired by a call to
GetSecuritySeat.

Syntax
object.ReleaseSecuritySeat

Arguments
None.

Return Value
None.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database)
' Get a security license (for better performance)
retCode% = P2SRV.GetSecuritySeat(2)
nStreams% = P2DB.GetObjectCount("Stream")
For i% = 0 To (nStreams% - 1)
objName$ = P2DB.GetObjectNames("Stream", i%)
P2DB.CalculateStreamProps (objName$)
Next
' Release the security license
P2SRV.ReleaseSecuritySeat

Set P2DB = Nothing


Set P2SRV = Nothing

37 Server Object
RunCalcs
Description
Solves the specified simulation.
An application should call CheckData before running the simulation.

Syntax
retCode% = object.RunCalcs(dbName)

Arguments

dbName Path and name of simulation database.

Return Value
<0 – security missing or improperly installed
1 – simulation solved with no errors or warnings
2 – simulation solved with warnings
3 – simulation solved with errors
4 – simulation not solved
5 – specified keyword file was not found

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\G3.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
retCode% = P2DB.CheckData
Set P2DB = Nothing

nMsg% = P2SRV.MsgCount
If nMsg% > 0 Then
For i% = 0 To (nMsg% - 1)
sMessage$ = P2SRV.MsgText(i%)
Next
End If

retCode% = P2SRV.RunCalcs(p2Database$)
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 38


SetCallbackPtr
Description
Internal method reserved for future use.
Syntax
Not applicable.

Arguments
Not applicable.

Return Value
Not applicable.

Example
Not applicable.

39 Server Object
SetOption
Description
Sets the value of an option in the PRO/II COM server. The recognized options are
listed in the table:

Option name Description


“showInternalObjects” Modifies the operation of GetObjectCount and
GetObjectNames. By default these methods do not include
objects internal to the PRO/II simulation. For diagnostic
purposes, it is sometimes useful to access the attributes of
these internal objects. If the option value is set to "1" then
these methods will include the "internal" objects as part of
the object count and object list.

"DoublePrecision" Specifies whether the COM Server will return floating point
values in single precision or double precision. If the option
value is set to "0" then single precision is used. If the value
is set to "1" then double precision is used. The default is to
use single precision, which is the behavior in version 7.1
and previous.

Syntax
retCode% = object.SetOption(optionName, optionValue)

Arguments

optionName Name of the option.

optionValue The new value of the option, specified as a text string.

Return Value
0 – no error
1 – optionName is not recognized

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
retCode% = P2SRV.SetOption("showInternalObjects", "1")
retCode% = P2SRV.SetOption("DoublePrecision", "1")
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 40


Unload
Description
Shuts down the database access features of the PRO/II COM Server in preparation
for RunCalcs or GenerateReport. This method is automatically performed when
setting the Server object to Nothing at the end of the application.
Note: This method is deprecated starting with version 7.1.

Syntax
object.Unload

Arguments
None.

Return Value
None.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
' PVSRV.Unload is automatically called as part of
' the next statement
Set P2SRV = Nothing

41 Server Object
Database Object

Overview
This object encapsulates a PRO/II simulation database. Use the OpenDatabase
or NewDatabase methods of the Server object to access this object. With this
object, an application can access specific units and streams in the database
using the ActivateObject method.
The Database object has the following properties:

Name Database name

Status File status

Each of these properties is discussed in more detail in the following sections.


The Database Object has the following methods, which can be divided into two
types:
• General File and Object Methods
• Utility and Data Conversion Methods
Each method is summarized in the tables below and described in detail in the
following sections.

General File and Object Methods

ActivateObject Loads a data object from the database into


memory, making it available to the
application.

BuildCompCalc Creates the calculation-time component data


objects in preparation for the FlashStream
method or RunCalcs.

BuildExecSequence Creates the unit operation execution


sequence in preparation for the RunCalcs
method.

BuildRefStreams Creates the reference stream data objects in


preparation for the RunCalcs method.

BuildStreamCalc Creates the calculation-time stream data


objects in preparation for the RunCalcs
method.

43 Database Object
BuildThermoCalc Creates the calculation-time thermodynamic
data objects in preparation for thermo
calculations and the RunCalcs method.

CheckData Performs all checks on a flowsheet in


preparation for the RunCalcs method.

ConvertIdToNum Returns the internal number corresponding


to the specified PRO/II object.

ConvertNumToId Returns the name of the PRO/II object


specified by its internal number.

CreateObject Creates a new object in the database.

CrossCheckControlUnitOps Performs cross checks on all controllers and


optimizers in a flowsheet in preparation for
the RunCalcs method.

CrossCheckSpecsVarys Performs cross checks on all


spec/vary/define objects in a flowsheet in
preparation for the RunCalcs method.

CrossCheckUnitOps Performs cross checks on all unit operations


in a flowsheet in preparation for the
RunCalcs method.

DbsSaveDb Saves this database to its permanent


location.

DeleteObject Deletes an object from the database.

GenerateAssayComponents Generates Assay Components.

GetObjectCount Returns the number of PRO/II objects of a


specified class.

GetObjectNames Returns an object name for a specified class


given its index.

MiscChecks Performs final checks on a flowsheet in


preparation for the RunCalcs method.

ObjectExists Returns ‘true’ if the specified object exists in


a simulation database.

ObjectExistsInGroup Returns ‘true’ if the specified name belongs


to an object in the database in the same

PRO/II COM Server Reference Guide 44


group.

RenameObject Renames an object in the database.

RestoreInputData Resets the flowsheet calculation status by


deleting all previously-calculated results.

TowerBurst Copies column information from merged


column objects into the original
column/sidestripper objects after the
flowsheet has been solved by RunCalcs.

TowerMerge Combines eligible column/sidestripper


combinations into single column object in
preparation for the RunCalcs method.

Utility and Data Conversion Methods

CalculateStreamProps Calculates a full set of properties for the specified


stream.

CalculateStreamProps2 Calculates a full or partial set of properties for the


specified stream.

CalculateUnitProps Calculates a full set of properties for the specified


unit.

ConvertValue Converts a single-precision floating point value from


one unit-of-measure to another.

ConvertValue2 Converts a single- or double-precision floating point


value from one unit-of-measure to another.

CopyTrayToStream Copies flowrate, thermal conditions, and


composition data from a column tray to a stream.

FlashStream Performs a flash calculation on a stream.

GetUOMString Returns the printable version of a unit-of-measure.

GetUOMString2 Returns the printable version of a unit-of-measure.

45 Database Object
Database Object Properties
Name
The Database File Object.

Description
Returns the object name. This is the name that was originally used in NewDatabase
or OpenDatabase.

Syntax
Dbname$ = object.Name

PRO/II COM Server Reference Guide 46


Status
Description
Returns the internal status. A status of zero means no error has been encountered.
The methods in the Database Object may change the value of this property if an error
has occurred.
Note: when this property is retrieved, the Status is reset to zero.

Syntax
Status% = object.Status

47 Database Object
Database Object Methods
ActivateObject
Description
Loads a data object from the database into memory, making it available to the
application. To free the object, set the object variable to Nothing.
For a list of available data classes, refer to the PRO/II Object Reference. The
methods GetClassNames or GetGroupClassNames can also be used to query the
PRO/II COM server for the list of supported class names.
To get the list of objects for a specified class that actually exists in the simulation
database, use the method GetObjectNames.

Syntax
Set P2OBJ = object.ActivateObject(objclass, objname)

Arguments

objclass The PRO/II data class.

objname The name of the object to activate.

Return Value
A Database Data Object. If the named object does not exist in the database, the
return value will be Nothing.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
Dim P2OBJ As Object
Set P2OBJ = P2DB.ActivateObject("Stream", "1")
dTemp = P2OBJ.GetAttribute("Temperature")
Set P2OBJ = Nothing
Set P2DB = Nothing
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 48


BuildCompCalc
Description
Creates the calculation-time component data objects in preparation for the
FlashStream or RunCalcs method.
Note: this method is automatically called as part of the CheckData method. If the
PRO/II COM application is calling CheckData in preparation for RunCalcs then it
does not need to call BuildCompCalc.
If the application is creating a new database for the purpose of setting up a flash
calculation using FlashStream, then refer to the detailed example XXX in the tutorial
section.

Syntax
object.BuildCompCalc

Arguments
None.

Return Value
None.

Example
For a detailed example of the use of BuildCompCalc as part of a generic “flash”
utility, refer to example XXX in the Tutorial section.

49 Database Object
BuildExecSequence
Description
Creates the unit operation execution sequence in preparation for the RunCalcs
method.
Note: this method is automatically called as part of the CheckData method. PRO/II
COM applications should call the CheckData method.

Syntax
object.BuildExecSequence

Arguments
None.

Return Value
None.

Example
See the CheckData method.

PRO/II COM Server Reference Guide 50


BuildRefStreams
Description
Creates the reference stream data objects in preparation for the RunCalcs method.
Note: this method is automatically called as part of the CheckData method. PRO/II
COM applications should call the CheckData method.

Syntax
object.BuildRefStreams

Arguments
None.

Return Value
None.

Example
See the CheckData method.

51 Database Object
BuildStreamCalc
Description
Creates the calculation-time stream data objects in preparation for the RunCalcs
method.
Note: this method is automatically called as part of the CheckData method. PRO/II
COM applications should call the CheckData method.

Syntax
object.BuildStreamCalc

Arguments
None.

Return Value
None.

Example
See the CheckData method.

PRO/II COM Server Reference Guide 52


BuildThermoCalc
Description
Creates the calculation-time thermodynamic data objects in preparation for the
RunCalcs method.
Note: this method is automatically called as part of the CheckData method. PRO/II
COM applications should call the CheckData method.

Syntax
object.BuildThermoCalc

Arguments
None.

Return Value
None.

Example
See the CheckData method.

53 Database Object
CalculateStreamProps
Description
Calculates a full set of properties for the specified stream.
The RunCalcs and FlashStream methods do not automatically calculate all
properties for streams. Use this method following a call to FlashStream (or following
a call to RunCalcs and OpenDatabase) to create, if necessary, and update the
SrBulkProp and SrDecProp objects for the named stream.
Important: if the application is calculating properties for stream "1" then it is important
that all active stream objects named "1" (of class StreamIn, Stream, SrBulkProp, and
SrDecProp) be freed from memory by setting their object variables to Nothing.

Syntax
retCode = object.CalculateStreamProps(objname)

Arguments

objname The name of the stream for which to calculate properties.

Return Value
Boolean value: true = no error, false = error during calculations. Use the Status
property to retrieve the underlying error code.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
Dim retCode As Boolean
retCode = P2DB.CalculateStreamProps("1")
Dim P2OBJ1 As Object
Dim P2OBJ2 As Object

Set P2OBJ1 = P2DB.ActivateObject("Stream", "1")


Set P2OBJ2 = P2DB.ActivateObject("SrBulkProp", "1")
dMolRat = P2OBJ1.GetAttribute("TotalMolarRate")
dActualDensity = P2OBJ2.GetAttribute("BulkDensityAct")
Set P2OBJ1 = Nothing
Set P2OBJ2 = Nothing

Set P2DB = Nothing


Set P2SRV = Nothing

PRO/II COM Server Reference Guide 54


CalculateStreamProps2
Description
Calculates a full or partial set of properties for the specified stream.
The RunCalcs and FlashStream methods do not automatically calculate all
properties for streams. Use this method following a call to FlashStream (or following
a call to RunCalcs and OpenDatabase) to create, if necessary, and update the
SrBulkProp and SrDecProp objects for the named stream.
Important: if the application is calculating properties for stream "1" then it is important
that all active stream objects named "1" (of class StreamIn, Stream, SrBulkProp, and
SrDecProp) be freed from memory by setting their object variables to Nothing.

Syntax
retCode = object.CalculateStreamProps2(objname, propertyoption)

Arguments

objname The name of the stream for which to calculate properties.

propertyoption Specify one of the following:


• "" (blank string) to calculate all properties
• "all" to calculate all properties
• "std" to calculate standard properties such as
densities, enthalpies, and transport properties
• "tbp" to calculate TBP curves
• "rvp" to calculate RVP
• "bpdp" to calculate bubble/dew points
You can also specify multiple properties, separated by
commas in a single string, such as "std,bpdp"

Return Value
Boolean value: true = no error, false = error during calculations. Use the Status
property to retrieve the underlying error code.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
Dim retCode As Boolean
retCode = P2DB.CalculateStreamProps2("1", "")
retCode = P2DB.CalculateStreamProps2("1", "all")

55 Database Object
retCode = P2DB.CalculateStreamProps2("1", "std")
retCode = P2DB.CalculateStreamProps2("1", "std,tbp")
retCode = P2DB.CalculateStreamProps2("1", "std,rvp")
retCode = P2DB.CalculateStreamProps2("1", _
"std,tbp,bpdp")

Set P2DB = Nothing


Set P2SRV = Nothing

PRO/II COM Server Reference Guide 56


CalculateUnitProps
Description
Calculates output-time properties for the specified unit.
The RunCalcs method does not automatically calculate output-time properties for
certain unit operations. Use this method after a call to RunCalcs (and
OpenDatabase) to calculate the additional attributes.
The following unit operation classes perform output-time property calculations:
• Simple Heat Exchanger
• LNG Heat Exchanger
• Rigorous Heat Exchanger
• Heating/Cooling curves
• Shortcut columns
• Rigorous columns

Syntax
retCode = object.CalculateUnitProps(unitId)

Arguments

unitId The name of the unit from which to calculate properties. If


the name is blank then all unit operations will be
processed.

Return Value
Boolean value: true = no error, false = error during calculations. Use the Status
property to retrieve the underlying error code.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R1.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
Dim retCode As Boolean
retCode = P2DB.CalculateUnitProps("HC1")
Dim P2OBJ As Object
Set P2OBJ = P2DB.ActivateObject("HcurveIn", "HC1")
hccalcname$ = P2OBJ.GetAttribute("HCURVE", 0)
Set P2OBJ = Nothing
Set P2OBJ = P2DB.ActivateObject( _
"HcurveCalc", hccalcname$)
totalEnthalpyArray = P2OBJ.GetAttribute( _

57 Database Object
"EnthalpyTotal", -1)
For i% = LBound(totalEnthalpyArray) To _
UBound(totalEnthalpyArray)
enthalpy = totalEnthalpyArray(i%)
Next
Set P2OBJ = Nothing

Set P2DB = Nothing


Set P2SRV = Nothing

PRO/II COM Server Reference Guide 58


CheckData
Description
Performs all checks on a flowsheet in preparation for the RunCalcs method which
solves the flowsheet.
The following specific checks are performed as part of this method:
BuildCompCalc
BuildThermoCalc
BuildStreamCalc
TowerMerge
BuildRefStreams
CrossCheckUnitOps
BuildExecSequence
CrossCheckControlUnitOps
CrossCheckSpecsVarys
MiscChecks

Syntax
retCode% = object.CheckData

Arguments
None.

Return Value
0 if no error. 1 if error. To get the specific error messages that were generated, use
the methods MsgCount and MsgText properties of the Server object.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\G3.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
retCode% = P2DB.CheckData
Set P2DB = Nothing

nMsg% = P2SRV.MsgCount
If nMsg% > 0 Then
For i% = 0 To (nMsg% - 1)

59 Database Object
sMessage$ = P2SRV.MsgText(i%)
Next
End If

retCode% = P2SRV.RunCalcs(p2Database$)
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 60


ConvertIdToNum
Description
This is an internal utility function that returns the internal number corresponding to the
specified PRO/II object.
This method is not currently active.

Syntax
objNum% = object.ConvertIdToNum(dbObjType, objId)

Arguments

dbObjType The Object type. Valid values are "Unit" and “loop”.

objId The name of the object.

Return Value
The internal numeric identifier of the PRO/II object.

Example
Not available.

61 Database Object
ConvertNumToId
Description
Returns the name of the PRO/II object specified by its internal number. This method
is required for some situations where the attribute of a PRO/II object is returned as a
number but that number needs to be converted to an actual object name for use in
ActivateObject.

Syntax
ObjName$ = object.ConvertNumToId(dbObjType, objNumber)

Arguments

dbObjType The Object type. Valid values are "Unit" and “loop”.

objNumber The internal object number. Specify 1 for the first object.

Return Value
The name of the PRO/II object.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
ObjName$ = P2DB.ConvertNumToId("Unit", 1)
Set P2DB = Nothing
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 62


ConvertValue
Description
Converts a single-precision floating point value from one unit-of-measure to another.

Syntax
object.ConvertValue(value, uomclass, fromtype, totype)

Arguments

Value The floating point value to convert.

uomclass The name of the unit-of-measure class. Appendix A lists the


valid codes.

fromtype Character code identifying what to convert the value from. One
of “input”, "output", “English”, “Metric”, or “SI”.

totype Character code identifying what to convert the value to. One of
“input”, "output", “English”, “Metric”, or “SI”.

Return Value
The converted value.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
Dim P2OBJ As Object
Set P2OBJ = P2DB.ActivateObject("Stream", "1")
dTemp = P2OBJ.GetAttribute("Temperature")
dPres = P2OBJ.GetAttribute("Pressure")
dRate = P2OBJ.GetAttribute("TotalMolarRate")
dTemp2 = P2DB.ConvertValue( _
dTemp, "TEMP", "internal", "output")
dPres2 = P2DB.ConvertValue( _
dPres, "PRES", "internal", "output")
dRate2 = P2DB.ConvertValue( _
dRate, "MRAT", "internal", "output")
uomT = P2DB.GetUOMString("TEMP", "output")
uomP = P2DB.GetUOMString("PRES", "output")
uomR = P2DB.GetUOMString("MRAT", "output")

63 Database Object
MsgBox "Temperature = " & dTemp2 & " " & uomT, _
vbOKOnly, "Temperature"
MsgBox "Pressure = " & dPres2 & " " & uomP, _
vbOKOnly, "Pressure"
MsgBox "Flowrate = " & dRate2 & " " & uomR, _
vbOKOnly, "Flowrate"
Set P2OBJ = Nothing
Set P2DB = Nothing
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 64


ConvertValue2
Description
Converts a single-precision or double-precision floating point value from one unit-of-
measure to another.

Syntax
object.ConvertValue2(value, uomclass, fromtype, totype)

Arguments

Value The floating point value to convert.

uomclass The name of the unit-of-measure class. Appendix A lists the


valid codes.

fromtype Character code identifying what to convert the value from. One
of “input”, "output", “English”, “Metric”, or “SI”.

totype Character code identifying what to convert the value to. One of
“input”, "output", “English”, “Metric”, or “SI”.

Return Value
The converted value.

Example
See ConvertValue

65 Database Object
CopyTrayToStream
Description
Copies the flowrate, thermal conditions, and composition data from a column tray to a
stream.

Syntax
retCode = object.CopyTrayToStream(columnname, tray, phase, subphase, net,
streamname)

Arguments

columnname The name of the column.

Tray The tray from which the properties are copied.

phase The phase to copy. (0 = Mixed, 1 = Vapor, 2 = Liquid)

subphase The liquid subphase. (Not currently used.)

Net 1 = Net flowrates, 2 = Total flowrates.

streamname The name of the stream to which the tray information is copied.

Return Value
Boolean value: true = no error, false = error during calculations. Use the Status
property to retrieve the underlying error code.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
' Ensure that merged column results have been
' copied back to original column/sidestrippers.
P2DB.TowerBurst
Dim P2OBJ As Object
Set P2OBJ = P2DB.ActivateObject("Column", "COL1")
nTrays = P2OBJ.GetAttribute("NumberOfTrays")
Set P2OBJ = Nothing
' Create temporary stream
tmpStream$ = "$TMPSTR"
Set P2OBJ = P2DB.CreateObject("Stream", tmpStream$)
Set P2OBJ = Nothing

PRO/II COM Server Reference Guide 66


P2SRV.GetSecuritySeat(2)
Dim P2OBJ1 As Object
Dim P2OBJ2 As Object
Dim retCode As Boolean
For i% = 1 To nTrays
retCode = P2DB.CopyTrayToStream( _
"COL1", i%, 0, 0, 1, tmpStream$)
retCode = P2DB.CalculateStreamProps(tmpStream$)
Set P2OBJ1 = P2DB.ActivateObject( _
"Stream", tmpStream$)
Set P2OBJ2 = P2DB.ActivateObject( _
"SrBulkProp", tmpStream$)
dTemp = P2OBJ1.GetAttribute("Temperature")
dTotRate = P2OBJ1.GetAttribute("TotalMolarRate")
dLDens = P2OBJ2.GetAttribute("LiqDensityAct")
dVDens = P2OBJ2.GetAttribute("VapDensityAct")
Set P2OBJ1 = Nothing
Set P2OBJ2 = Nothing
Next
P2SRV.ReleaseSecuritySeat
' Delete temporary stream
P2DB.DeleteObject "Stream", tmpStream$
Set P2DB = Nothing
Set P2SRV = Nothing

67 Database Object
CreateObject
Description
Creates a new object of the specified class in the database and activates it into
memory. To free the object (remove it from memory), set the object variable to
Nothing. To delete the object from the database, use DeleteObject.

Syntax
Set P2OBJ = object.CreateObject(objclass, objname)

Arguments

objclass The PRO/II data class.

objname The name of the object to activate.

Return Value
A Database Data Object.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
Dim P2OBJ As Object
' Create new stream object
tmpStream$ = "$TMPSTR"
Set P2OBJ = P2DB.CreateObject("Stream", tmpStream$)

' Free (release) object from memory.


' Object is still in the database
Set P2OBJ = Nothing

' Delete temporary stream from database


P2DB.DeleteObject "Stream", tmpStream$
Set P2DB = Nothing
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 68


CrossCheckControlUnitOps
Description
Performs cross checks on all controllers and optimizers in a flowsheet in preparation
for RunCalcs.
Note: this method is automatically called as part of the CheckData method. PRO/II
COM applications should call the CheckData method.

Syntax
object.CrossCheckControlUnitOps

Arguments
None.

Return Value
None.

Example
See the CheckData method.

69 Database Object
CrossCheckSpecsVarys
Description
Performs cross checks on all spec/vary/define objects in a flowsheet in preparation
for RunCalcs.
Note: this method is automatically called as part of the CheckData method. PRO/II
COM applications should call the CheckData method.

Syntax
object.CrossCheckSpecsVarys

Arguments
None.

Return Value
None.

Example
See the CheckData method.

PRO/II COM Server Reference Guide 70


CrossCheckUnitOps
Description
Performs cross checks on all unit operations in a flowsheet in preparation for
RunCalcs.
Note: this method is automatically called as part of the CheckData method. PRO/II
COM applications should call the CheckData method.

Syntax
object.CrossCheckUnitOps

Arguments
None.

Return Value
None.

Example
See the CheckData method.

71 Database Object
DbsSaveDb
Description
Saves this database to its permanent location.

Syntax
retCode = object.DbsSaveDb

Arguments
None.

Return Value
Boolean value: true = no error, false = error. Use the Status property to retrieve the
underlying error code.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2NewDB$ = "c:\SimSci\proii80\User\MyNewDB"
Set P2DB = P2SRV.NewDatabase(p2NewDB$)
Dim retCode As Boolean
retCode = P2DB.DbsSaveDb

Set P2DB = Nothing


Set P2SRV = Nothing

PRO/II COM Server Reference Guide 72


DeleteObject
Description
Deletes a Database Data Object of the specified class from the database.

Syntax
object.DeleteObject(objclass, objname)

Arguments

objclass The PRO/II data class.

objname The name of the object to activate.

Return Value
None.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
Dim P2OBJ As Object
' Create new stream object
tmpStream$ = "$TMPSTR"
Set P2OBJ = P2DB.CreateObject("Stream", tmpStream$)

' Free (release) object from memory.


' Object is still in the database
Set P2OBJ = Nothing

' Delete temporary stream from database


P2DB.DeleteObject "Stream", tmpStream$
Set P2DB = Nothing
Set P2SRV = Nothing

73 Database Object
FlashStream
Description
Performs a flash calculation on the specified stream.
Note: the component slate, their compositions and the desired thermodynamic
method must have been selected prior to performing the flash calculation.

Syntax
Results$ = object.FlashStream(objname)

Arguments

objname The name of the stream to flash.

Return Value
A text string containing the results of the flash.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
P2SRV.ClearMsgs
' Perform flash and display the results
sResults$ = P2DB.FlashStream("1")
MsgBox sResults$, vbOKOnly, "Flash Results"
' If there are errors or messages get them here
nMsg% = P2SRV.MsgCount
If nMsg% > 0 Then
For i% = 0 To (nMsg% - 1)
sMessage$ = P2SRV.MsgText(i%)
Next
End If
Set P2DB = Nothing
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 74


GenerateAssayComponents
Description
Generates assay components.
When the application modifies the assay curves of assay streams, this method
regenerates the set of pseudo-components.

Syntax
object.GenerateAssayComponents

Arguments
None.

Return Value
None.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
' Change assay of existing stream
Set P2OBJ = P2DB.ActivateObject("StreamAsIn", "1")
P2OBJ.PutAttribute 11, "Temperatures"
P2OBJ.PutAttribute 3, "DistPct", 0
P2OBJ.PutAttribute 5, "DistPct", 1
P2OBJ.PutAttribute 10, "DistPct", 2
P2OBJ.PutAttribute 20, "DistPct", 3
P2OBJ.PutAttribute 30, "DistPct", 4
P2OBJ.PutAttribute 40, "DistPct", 5
P2OBJ.PutAttribute 50, "DistPct", 6
P2OBJ.PutAttribute 60, "DistPct", 7
P2OBJ.PutAttribute 70, "DistPct", 8
P2OBJ.PutAttribute 80, "DistPct", 9
P2OBJ.PutAttribute 100, "DistPct", 10
P2OBJ.PutAttribute 97, "DistTemp", 0
P2OBJ.PutAttribute 149, "DistTemp", 1
P2OBJ.PutAttribute 208, "DistTemp", 2
P2OBJ.PutAttribute 330, "DistTemp", 3
P2OBJ.PutAttribute 459, "DistTemp", 4
P2OBJ.PutAttribute 590, "DistTemp", 5
P2OBJ.PutAttribute 690, "DistTemp", 6

75 Database Object
P2OBJ.PutAttribute 770, "DistTemp", 7
P2OBJ.PutAttribute 865, "DistTemp", 8
P2OBJ.PutAttribute 980, "DistTemp", 9
P2OBJ.PutAttribute 1600, "DistTemp", 10
P2OBJ.Commit True
Set P2OBJ = Nothing

P2DB.GenerateAssayComponents
retCode% = P2DB.CheckData
Set P2DB = Nothing

retCode% = P2SRV.RunCalcs(p2Database$)
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 76


GetObjectCount
Description
Returns the number of PRO/II objects of the specified class. Use the method
GetObjectNames to get the individual names of the objects.

Syntax
Count% = object.GetObjectCount(classname)

Arguments

classname The name of the PRO/II object class.

Return Value
The object count.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
objcount% = P2DB.GetObjectCount("Stream")
For i% = 0 To objcount% - 1
objname$ = P2DB.GetObjectNames("Stream", i%)
Next
Set P2DB = Nothing
Set P2SRV = Nothing

77 Database Object
GetObjectNames
Description
Returns the name of an object with the specified class and index. This function is
typically used with the GetObjectCount method.

Syntax
object.GetObjectNames(classname, index)

Arguments

classname The name of the PRO/II object class.

index The index of the object name to retrieve. Specify 0 to return


the first class name.

Return Value
The object name returned as a string.

Example
See GetObjectCount.

PRO/II COM Server Reference Guide 78


GetUOMString
Description
Returns the printable version of a unit-of-measure.

Syntax
object.GetUOMString(uomclass, type)

Arguments

uomclass The name of the unit-of-measure class. Appendix A lists the valid
codes.

type Character code identifying which string to return. One of “input”,


"output", “English”, “Metric”, or “SI”.

Return Value
The unit-of-measure string.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
Dim P2OBJ As Object
Set P2OBJ = P2DB.ActivateObject("Stream", "1")
dTemp = P2OBJ.GetAttribute("Temperature")
dPres = P2OBJ.GetAttribute("Pressure")
dRate = P2OBJ.GetAttribute("TotalMolarRate")
dTemp2 = P2DB.ConvertValue( _
dTemp, "TEMP", "internal", "output")
dPres2 = P2DB.ConvertValue( _
dPres, "PRES", "internal", "output")
dRate2 = P2DB.ConvertValue( _
dRate, "MRAT", "internal", "output")
uomT = P2DB.GetUOMString("TEMP", "output")
uomP = P2DB.GetUOMString("PRES", "output")
uomR = P2DB.GetUOMString("MRAT", "output")
MsgBox "Temperature = " & dTemp2 & " " & uomT, _
vbOKOnly, "Temperature"
MsgBox "Pressure = " & dPres2 & " " & uomP, _
vbOKOnly, "Pressure"
MsgBox "Flowrate = " & dRate2 & " " & uomR, _

79 Database Object
vbOKOnly, "Flowrate"
Set P2OBJ = Nothing
Set P2DB = Nothing
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 80


GetUOMString2
Description
Returns the printable version of a unit-of-measure. Contains additional option to
specify mass/mole basis.

Syntax
object.GetUOMString2(uomclass, opt, type)

Arguments

uomclass The name of the unit-of-measure class. Appendix A lists the valid
codes.

opt Specify one of the following values


• 0 = normal unit, (weight basis, not standard/actual, default
scaling)
• 100 = include "MOL" in the text
• 200 = include "STD" in the text
• 300 = include "ACT" in the text
• 10 = no English scaling
• 20 = scale English unit by 1,000
• 30 = scale English unit by 1,000,000
• 1 = no SI/Metric scaling
• 2 = scale SI/Metric by 1,000
• 3 = scale SI/Metric by 1,000,000
You can combine options by adding the numbers.

type Character code identifying which string to return. One of “input”,


"output", “English”, “Metric”, or “SI”.

Return Value
The unit-of-measure string.

Example
Not available.

81 Database Object
MiscChecks
Description
Performs final checks on a flowsheet in preparation for RunCalcs.
Note: this method is automatically called as part of the CheckData method. PRO/II
COM applications should call the CheckData method.

Syntax
object.MiscChecks

Arguments
None.

Return Value
None.

Example
See the CheckData method.

PRO/II COM Server Reference Guide 82


ObjectExists
Description
Returns ‘true’ if the specified object exists in a simulation database.

Syntax
objExists = object.ObjectExists(objclass, objname)

Arguments

objclass The PRO/II data class.

objname The name of the object.

Return Value
Boolean value - “True” if an object of the specified name and class exists in the
simulation database, otherwise “False”.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
Dim objExists As Boolean
objExists = P2DB.ObjectExists("Stream", "1")
objExists = P2DB.ObjectExists("Stream", "XXXXX")
Set P2DB = Nothing
Set P2SRV = Nothing

83 Database Object
ObjectExistsInGroup
Description
Returns ‘true’ if the specified name belongs to an object in the database in the same
group.
A “group” of object classes defines a namespace. For example, “Pump” and “Valve”
objects belong to the "Unit" group; therefore, there cannot be a pump named “XX”
and a valve named “XX” in the same database. A stream, however, belongs to a
different group, the "Stream" group. Therefore a simulation database can have a
pump named “XX” and a stream named “XX”.
This method can be used before calling CreateObject to create a new object of a
specified class. The return value will indicate if there is a name conflict with an
already-existing unit or stream.

Syntax
object.ObjectExistsInGroup(objclass, objname)

Arguments

objclass The PRO/II data class.

objname The name of the object.

Return Value
Boolean value - “True” if an object of the specified name exists in the same group as
the specified class, otherwise “False”.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
Dim objExists As Boolean
' Application wants to create a splitter named SS01
' Is the name already used by another unit?
objExists = P2DB.ObjectExistsInGroup("Splitter", "SS01")
' If so, try another name
objExists = P2DB.ObjectExistsInGroup( _
"Stream", "SPLIT01")
Set P2DB = Nothing
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 84


RenameObject
Description
Changes the name of an object in a database.

Syntax
object.RenameObject(objclass, objname, newname)

Arguments

objclass The PRO/II data class.

objname The name of the object.

newname The new name of the object.

Return Value
None.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
Status% = P2DB.Status
P2DB.RenameObject "Stream", "1", "STREAM1"
Status% = P2DB.Status
Set P2DB = Nothing
Set P2SRV = Nothing

85 Database Object
RestoreInputData
Description
Resets the flowsheet calculation status. Previously-calculated results are deleted for
the current flowsheet, allowing a complete re-initialization of all columns; recycle
streams, and calculator results back to their initial input data.
This feature is particularly useful if a particular what-if scenario involves substantially
different operation from the previous run, or if multiple calculator units need to have
their results array reset.

Syntax
retValue = object.RestoreInputData(resetFlag)

Arguments

resetFlag Reset Flag. Specify a value of 1 to reset the flowsheet.

Return Value
Boolean value: true = no error, false = error during calculations. Use the Status
property to retrieve the underlying error code.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\G3.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
Dim boolCode As Boolean
boolCode = P2DB.RestoreInputData(1)
retCode% = P2DB.CheckData
Set P2DB = Nothing

retCode% = P2SRV.RunCalcs(p2Database$)
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 86


TowerBurst
Description
Copies column information from merged column objects into the original
column/sidestripper objects after the flowsheet has been solved by RunCalcs.

Syntax
object.TowerBurst

Arguments
None.

Return Value
None.

Example
See the CopyTrayToStream method.

87 Database Object
TowerMerge
Description
Merges eligible column/sidestripper combinations into single column object in
preparation for RunCalcs.
Note: this method is automatically called as part of the CheckData method. PRO/II
COM applications should call the CheckData method.

Syntax
object.TowerMerge

Arguments
None.

Return Value
None.

Example
See the CheckData method.

PRO/II COM Server Reference Guide 88


Database Data Object

Overview
An object of this type represents a specific simulation data object in PRO/II. All
streams, components, thermodynamic methods, reaction data sets, streams, and
unit operations are Database Data Objects.
The PRO/II Object Reference documents the PRO/II data classes and their
attributes.
The Database Data objects have the following properties:

Status Object status.

Name Object name (Read-only).

The Database Data Object has the following methods:

Commit Saves the memory copy of an object to the database.

GetAttribute Gets a scalar value or one element of an array.

GetAttributeCount Returns the number of attributes in this object. (Does


not return the number of elements of an array
attribute.)

GetAttributeDataType Returns the internal data type.

GetAttributeName Returns the name of an array attribute identified by


index.

GetAttributeSystemDataType Returns the subsystem data type.

GetAttributeUOM Returns the unit-of-measure associated with the


attribute.

GetThermoDefaults Fills in individual thermodynamic method codes for


this “ThermoSet” object when the thermodynamic
system has been defined.

PopCopy Performs an “abort transaction” operation.

PullPrevCopy Performs a “commit transaction” operation.

PushNewCopy Performs a “start transaction” operation.

89 Database Data Object


PutAttribute Stores a scalar value or one element of any array.

UnitCount Returns the number of elements for an array attribute.

UnitSize Returns the size, in bytes, of a scalar attribute or the


size of a single element of an array attribute.

PRO/II COM Server Reference Guide 90


Database Data Object Properties
Name
Description
Returns the object name.

Syntax
objName$ = object.Name

91 Database Data Object


Status
Description
Returns the internal status. A status of zero means no error has been encountered.
The methods in the Data Object may change the value of this property if an error has
occurred.
When this property is queried, the Status is reset to zero.

Syntax
Status% = object.Status

PRO/II COM Server Reference Guide 92


Database Data Object Methods
Commit
Description
Saves the in-memory copy of an activated object back to the simulation database.
This method does not free the object from memory. To do that, set the object variable
to Nothing.
If the “full” option has been specified, additional initialization and cross checks will be
performed. Errors, warnings and messages generated by this cross check procedure
can be retrieved using MsgCount, MsgSeverity, and MsgText.

Syntax
object.Commit(full)

Arguments

full If TRUE, a full commit is performed. A full commit performs


additional checks and initialization in preparation for
RunCalcs.

Return Value
None.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
Dim P2OBJ As Object
Set P2OBJ = P2DB.ActivateObject("Stream", "1")
dTemp = P2OBJ.GetAttribute("Temperature")
P2OBJ.PutAttribute 450#, "Temperature"
P2OBJ.Commit True
dTemp2 = P2OBJ.GetAttribute("Temperature")
Set P2OBJ = Nothing
Set P2DB = Nothing
Set P2SRV = Nothing

93 Database Data Object


GetAttribute
Description
Returns the value of a scalar attribute, one element of an array, or an entire array
attribute.

Syntax
Value = object.GetAttribute(attrname, index)

Arguments

attrname The name of the attribute.

index Optional. Index of array attribute to return. Not used for scalar
attributes. For array attributes, specify 0 for the first element;
specify -1 to return the entire array.

Return Value
The value of the attribute returned as a variant. The value can be integer, floating
point, or character, depending on the attribute. ‘Empty’ will be returned if the
database value is missing.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
Dim P2OBJ As Object
Set P2OBJ = P2DB.ActivateObject("Stream", "1")
' Scalar attribute
dTemp = P2OBJ.GetAttribute("Temperature")
' Single elements of an array attribute
fracCount = P2OBJ.UnitCount("TotalComposition")
For i% = 0 To fracCount - 1
dFracElement = P2OBJ.GetAttribute( _
"TotalComposition", i%)
Next
' Complete array attribute
dFracArray = P2OBJ.GetAttribute("TotalComposition", -1)
For i% = LBound(dFracArray) To UBound(dFracArray)
dFracElement = dFracArray(i%)
Next
Set P2OBJ = Nothing
Set P2DB = Nothing

PRO/II COM Server Reference Guide 94


Set P2SRV = Nothing

95 Database Data Object


GetAttributeCount
Description
Returns the number of attributes in this object. Use the method GetAttributeName to
get the actual name of each attribute.
Note: this method does not return the number of elements in an array attribute. Use
UnitCount for that purpose.

Syntax
attrCount% = object.GetAttributeCount

Arguments
None.

Return Value
The number of attributes in the object returned as an integer.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
Dim P2OBJ As Object
Set P2OBJ = P2DB.ActivateObject("Stream", "1")
attrcount% = P2OBJ.GetAttributeCount
For i% = 0 To attrcount% - 1
attrName$ = P2OBJ.GetAttributeName(i%)
dataSize% = P2OBJ.UnitSize(attrName)
dataCount% = P2OBJ.UnitCount(attrName)
attrType$ = P2OBJ.GetAttributeDataType(attrName)
attrSystemType$ = _
P2OBJ.GetAttributeSystemDataType(attrName)
attrUOM$ = P2OBJ.GetAttributeUOM(attrName)
Next
Set P2OBJ = Nothing
Set P2DB = Nothing
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 96


GetAttributeDataType
Description
Returns the data type associated with the attribute.

Syntax
attrType$ = object.GetAttributeDataType(attrname)

Arguments

attrname The name of the attribute.

Return Value
The data type as a string. The data types are “INTEGER”, “REAL”, “DOUBLE”,
“SINGLE”, “STRING”, and “UOM”.

Example
See GetAttributeCount.

97 Database Data Object


GetAttributeName
Description
Returns the name of an attribute in this object as identified by the specified index.
Use the method GetAttributeCount to get the number of attributes in this object.

Syntax
attrName$ = object.GetAttributeName(index)

Arguments

Index The index of the object name to retrieve. Specify 0 for the first
object name.

Return Value
The attribute name returned as a string. The returned attribute name can be used in
methods such as GetAttribute and PutAttribute.

Example
See GetAttributeCount.

PRO/II COM Server Reference Guide 98


GetAttributeSystemDataType
Description
Returns the system data type associated with the attribute.

Syntax
systemType$ = object.GetAttributeSystemDataType(attrname)

Arguments

attrname The name of the attribute.

Return Value
The data type as a string. The data types include “I” (integer), “R” (real), “D” (double),
“S” (single), “STRING”, “UOM”, “SID” (stream ID) , “COID” (component ID) , “RSID”
(reaction set ID) , “MID” (thermodynamic method set ID).

Example
See GetAttributeCount.

99 Database Data Object


GetAttributeUOM
Description
Returns the unit-of-measure class associated with the attribute.

Syntax
Uom$ = object.GetAttributeUOM(attrname)

Arguments

attrname The name of the attribute.

Return Value
The unit-of-measure code as a string (first four letters denoting the class name of the
UOM data type). A list of valid codes is given in Appendix A.

Example
See GetAttributeCount.

PRO/II COM Server Reference Guide 100


GetThermoDefaults
Description
Fills in individual thermodynamic method codes for this “ThermoSet” object when the
thermodynamic system has been defined. This method only applies if this database
object is a “ThermoSet” object. For example, if the thermodynamic system is “SRK”,
then this method will fill in the calculation method codes for the individual
thermodynamic properties.

Syntax
object.GetThermoDefaults

Arguments
None.

Return Value
None.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
' Create a new Peng-Robinson Thermodynamic System
' in the database
Dim P2OBJ As Object
Set P2OBJ = P2DB.CreateObject("ThermoSet", "PR01")
P2OBJ.PutAttribute 1, "VLLEFlagInpt"
P2OBJ.PutAttribute 102, "SystemFlagInpt"
P2OBJ.GetThermoDefaults
P2OBJ.Commit 0
P2OBJ.PutAttribute 0, "KvalLLEDataFlg"
P2OBJ.PutAttribute 1, "LiqEnthDataFlg"
P2OBJ.PutAttribute 1, "VapEnthDataFlg"
P2OBJ.PutAttribute 0, "LiqDensDataFlg"
P2OBJ.PutAttribute 1, "VapDensDataFlg"
P2OBJ.PutAttribute 0, "VapPhiDataFlg"
P2OBJ.PutAttribute 1, "LiqEntrDataFlg"
P2OBJ.PutAttribute 1, "VapEntrDataFlg"
P2OBJ.Commit 1
Set P2OBJ = Nothing
Set P2DB = Nothing
Set P2SRV = Nothing

101 Database Data Object


PopCopy
Description
The methods PushNewCopy, PopCopy, and PullPrevCopy implement simple
“transaction” functionality using the concept of an object “stack”. PopCopy is
analogous to “abort transaction”.

Syntax
object.PopCopy

Arguments
None.

Return Value
None.

Example
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
p2Database$ = "c:\SimSci\proii80\user\Applib\R3R.prz"
Set P2DB = P2SRV.OpenDatabase(p2Database$)
Dim P2OBJ As Object
Set P2OBJ = P2DB.ActivateObject("StreamIn", "1")
dTemp = P2OBJ.GetAttribute("Temperature")
P2OBJ.PushNewCopy
P2OBJ.PutAttribute 450#, "Temperature"
dTemp2 = P2OBJ.GetAttribute("Temperature")
' Cancel changes since last PushNewCopy
P2OBJ.PopCopy
' Value has been restored to original
dTemp3 = P2OBJ.GetAttribute("Temperature")
P2OBJ.PushNewCopy
P2OBJ.PutAttribute 450#, "Temperature"
dTemp4 = P2OBJ.GetAttribute("Temperature")
' Confirm changes since last PushNewCopy
P2OBJ.PullPrevCopy
' New value has been retained
dTemp5 = P2OBJ.GetAttribute("Temperature")
P2OBJ.Commit True
Set P2OBJ = Nothing
Set P2DB = Nothing
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 102


PullPrevCopy
Description
The methods PushNewCopy, PopCopy, and PullPrevCopy implement simple
“transaction” functionality using the concept of an object “stack”. PullPrevCopy is
analogous to “commit transaction”.

Syntax
object.PullPrevCopy

Arguments
None.

Return Value
None.

Example
See PopCopy.

103 Database Data Object


PushNewCopy
Description
The methods PushNewCopy, PopCopy, and PullPrevCopy implement simple
“transaction” functionality using the concept of an object “stack”. PushNewCopy is
analogous to “start transaction”,

Syntax
object.PushNewCopy

Arguments
None.

Return Value
None.

Example
See PopCopy.

PRO/II COM Server Reference Guide 104


PutAttribute
Description
Puts the value of a scalar attribute, or one element of an array attribute into the data
object.
Note: the data is not permanently saved until the object has been saved to the
database using the Commit method.

Syntax
object.PutAttribute(value, attrname, index)

Arguments

value The value to store in the object. To store the missing value, use an ‘Empty’
variant variable.

attrname The name of the attribute.

index Optional. The index of the array element. Used only for array attributes.
Specify 0 to put a value for the first element.

Return Value
None.

Example
dbsSchemaFile$ = "c:\SimSci\proii80\System\Schema.sdf"
p2ConfigFile$ = "c:\SimSci\proii80\User\proii.ini"
p2Database$ = "c:\SimSci\proii80\user\G3.prz"
Dim P2SRV As Object
Set P2SRV = CreateObject("SimSciDbs.Database.80")
P2SRV.Initialize
Dim P2DB As Object
Set P2DB = P2SRV.OpenDatabase(p2Database$)
Dim P2OBJ As Object
Set P2OBJ = P2DB.ActivateObject("StreamIn", "1")
' Scalar attribute
dTemp = P2OBJ.GetAttribute("Temperature")
P2OBJ.PutAttribute 450#, "Temperature"
' Single elements of an array attribute
fracCount = P2OBJ.UnitCount("Composition")
newFracElement = 0.25
For i% = 0 To fracCount - 1
dFracElement = P2OBJ.GetAttribute("Composition", i%)
P2OBJ.PutAttribute newFracElement, "Composition", i%
Next

105 Database Data Object


' Save value to the database
P2OBJ.Commit True

Set P2OBJ = Nothing


Set P2DB = Nothing
Set P2SRV = Nothing

PRO/II COM Server Reference Guide 106


UnitCount
Description
Returns the number of elements for an array attribute. A scalar attribute will return a
value of 1.

Syntax
Count% = object.UnitCount(attrName)

Arguments

attrName The name of attribute.

Return Value
The number of elements for an array attributes. A scalar attribute will return a
value of 1.
Example
See GetAttributeCount.

107 Database Data Object


UnitSize
Description
Returns the size, in bytes, of a scalar attribute; or the size of a single element of an
array attribute.

Syntax
Size% = object.UnitSize(attrName)

Arguments

attrName Required. The name of attribute.

Return Value
The size, in bytes, of a scalar attribute; or the size of a single element of an array
attribute.
Example
See GetAttributeCount.

PRO/II COM Server Reference Guide 108


Appendix A

Unit of Measure Codes


This table lists the unit-of-measure codes returned by GetAttributeUOM and
used by ConvertValue and GetUOMString.

Unit-of-Measure Class Code

Temperature TEMP

Temperature Difference TDIF

Absolute Temperature TABS

Pressure PRES

Pressure Difference PDIF

Absolute Pressure PABS

Mass WT

Time TIME

Length LENG

Fine Length FLEN

Inverse Length ILEN

Area AREA

Fine Area FARE

Velocity VELO

Cake Resistance CRES

Liquid Volume LIQV

Vapor Volume VAPV

Equivalent Volume (Volume per unit length) EQVO

Density DENS

109 Appendix A
Unit-of-Measure Class Code

Liquid Density LDEN

Vapor Density VDEN

Petroleum Density XDEN

Specific (Molar) Volume SPVO

Specific (Molar) Vapor Volume SPVV

Energy ENER

Work (Power) WORK

Duty DUTY

Calculational Duty (no 10**6 multiplier) CDUT

Enthalpy ENTH

Entropy ENTR

Heat Capacity CP

Molar Rate MRAT

Mass Rate WTRA

Liquid Volume Rate LVRA

Gas Volume Rate GVRA

Thermal Conductivity COND

Heat Transfer Coefficient HTCO

Fouling Factor FOUL

Heat Transfer Coefficient * Area UA

Specific Heat SPHE

Viscosity VISC

Kinematic Viscosity KVIS

PRO/II COM Server Reference Guide 110


Unit-of-Measure Class Code

Surface Tension SURF

Basis BASI

Phase PHAS

Fraction FRAC

Percentage PCT

Parts per Million PPM

Angle ANGL

Dipole Moment DIPO

Heating Value (energy per volume) HVAL

111 Appendix A
Appendix B.
Pro II Object Reference

Table 1.1. Component data


Read an attribute: ComponentObject.GetAttribute(AttributeName, Index)
Write an attribute: ComponentObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Input data for each component is stored in its own object of class "CompIn"
For example, properties for component name "H20" will be stored in the "CompIn" class object
called "H2O".

Temperature independent properties, Class = CompIn


- Component type 1 - Library, 2 - Non-Library,
InT 3 - Petroleum, 4 - Assay
Vector pseudocomponent, 5 -
ComponentTypeIn Syncomp, 6 - Synliq
- Component name Char
ComponentNameIn vector Component name
- Component ID InT
Vector Library components -
ComponentLibIdIn input Library name
- Molecular weight MolWeightIn Real Input Molecular weight
- Specific gravity Input 60 F specific gravity
SpecGravityIn Real (liquid)
- NBP NormBoilPtIn TEMP Real Input Normal boiling point
- Melt point NormMeltPtIn TEMP Real Input Normal melting point
- Critical TEMP
temperature (Tc) CritTempIn Real Input Critical temperature
- Critical pressure PRES
(Pc) CritPressIn Real Input Critical pressure
- Critical volume Input Critical volume,
(Vc) CritVolIn Real M3/KG-MOL
- Critical
compresssibility factor Input Critical
(Zc) CritCompressIn Real compressibility
- Acentric factor AcenFactorIn Real Input Acentric factor
- Watson K WatsonKIn Input Watson K (uop K)
- Racket parameter RackettParamIn Real Input Rackett parameter
- Dipole moment DipoleMomentIn DIPO Real Input Dipole moment
- Radius of gyration RadGyrationIn FLEN Real Input Radius of gyration
- Solubility
parameter SolParamIn Real Input Solubility parameter
- Liquid molar LIQV
volume LiqMolVolIn Real Input Liquid molar volume

112 Appendix B
Table 1.1. Component data
Read an attribute: ComponentObject.GetAttribute(AttributeName, Index)
Write an attribute: ComponentObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
- Liquid molar Input liquid mol. volume
volume basis LiqMolVolBasisIn Real basis (1: M , 2: W)
- Heat of ENTH
combustion HeatCombusIn Real Input Heat of combustion,
- Heat of Input heat of combustion
combusion basis HCombBasisIn Real basis (1: M , 2: W)
- Heat of ENTH Input Heat of vaporization
vaporization HeatVapAtNBPIn Real at NBP
- Heat of Input heat of vaporization
vaporization basis HVapBasisIn Real basis (1: M , 2: W)
- Heat of fusion ENTH Input Heat of fusion at
HeatFusionAtNMPIn Real NMP
- Heat of fusion Input heat of fusion basis
basis HFusionBasisIn Real (1: M , 2: W)
- Triple point TEMP Input Triple point
temperature TripPtTempIn Real temperature
- Triple point PRES
pressure TripPtPressIn Real Input Triple point pressure
- Gross heating ENTH
value GrossHeatValueIn Real Input Gross heating value
- Gross heating Input GHV basis (1: M , 2:
value basis GHVBasisIn Real W)
- Lower heating ENTH
value LowerHeatValueIn Real Input Lower heating value
- Lower heating Input LHV basis (1: M , 2:
value basis LHVBasisIn Real W)
- Carbon number CarbonNumIn Real Input Carbon number
- Hydrogen
defiency number HydrogenDefIn Real Input Hydrogen deficiency
- Vapor entropy ENTR Input Vapor entropy
departure at NBP VapEntropyDepNBPIn Real departure at NBP
- Vaporization ENTR
etnropy change at Input Library entropy of
NBP LibEntrVapNBPIn Real vaporiaztion at NBP
- Liquid entropy ENTR
change from NBP to Input Library liquid entropy
NMP LibLiqEntrNbpNmpIn Real change from NBP to NMP
- Vapor enthalpy ENTH Input Vapor enthalpy
departure at NBP VaporEnthDepNBPIn Real departure at NBP
- Vapor enthalpy ENTH Input Library enthalpy of
change at NBP LibEnthVapNBPIn Real vaporization at NBP
- Liquid enthalpy ENTH Input Library liquid
change from NBP to enthalpy change from
NMP LibLiqEnthNbpNmpIn Real NBP to NMP
- WT parameter Real Input WT parameter
(Solubility equation) WTParamIn scalar (solubility equation)
- PAVA parameter Real
(Solubility equation) PAVAParamIn scalar Input PAVA parameter

PRO II COM Server Reference Guide 113


Table 1.1. Component data
Read an attribute: ComponentObject.GetAttribute(AttributeName, Index)
Write an attribute: ComponentObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
- SRK M factor for Real
phase envelope SrkMFactorIn scalar Input SRK M factor
- PR M factor for Real
phase envelope PrMFactorIn scalar Input PR M factor
Heats of Formation
- Reference phase 1 - Vapor, 2 - Liquid, 3 -
FreeEnFoPhaseIn InT Solid
- Heat of formation ENTH Input Standard heat of
StdHeatFormIn Real formation (298 K)
- Gibbs free energy ENTH Input Std. free energy of
of formation StdFreeEnFormIn Real formation (298 K)

Refinery inspection property, Class = CompSPGen


- Number of
properties PropCount InT Property object count
- Property type Contains the names of the
refinery inspection property
objects. The data for each
Char property is stored in their
PropNames Vector individual objects.
Refinery inspection property, Class = CompSPGenIn
- Mixing basis 1- Mole, 2 - Weight, 3 -
MixingBasis InT Liquid volume
- Fraction qualifier 10=Fraction, 11=Percent,
FractionType InT 12=PPM, else none
- Gamma Gamma Real Property Gamma value
- Reference index RefIndex Real Property Reference Index
- Reference value RefValue Real Property Reference Value
- Number of data Number of Input
items NumDataItems InT data/Index items
- Component index Comp.
ID Component numbers for
ComponentNumbers Vector data or index
- Data / Index flag 1 - Data, 2 - Index. This
flag indicates the value
type (data or index) in the
InT corresponding index of the
DataIndexFlag Vector InputDataIndex attribute.
- Data value / Index Real
value InputDataIndex Vector Input Data/Index values
Kinematic Viscosity
- Number of data Number of Input
items at temperature1 NumDataItems InT data/Index items

114 Appendix B
Table 1.1. Component data
Read an attribute: ComponentObject.GetAttribute(AttributeName, Index)
Write an attribute: ComponentObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
- Number of data
items at temperature Number of KVis temp2
2 NumKv2Items InT items
- Temperature 1 TEMP Note: The temperature
vectors are sized to
number of data items. All
Real the indices have the same
KvisTemp1 Vector value.
- Temperature 2 TEMP Real
Kvis2Temp2 Vector Temperature 2 values
- Value at temp 1 VISC Real KVIS Input Data/Index
InputDataIndex Vector values
- Value at VISC Real
temperature 2 Kvis2Data Vector KVIS Second temp data

User-defined Special Properties, Class = CompSPUsr


- Number of
properties PropCount InT Property object count
- Property types Contains the names of the
user-defined special
property objects. The data
Char for each property is stored
PropNames Vector in their individual objects.

User-defined Special Properties, Class = CompSPUsrIn


- Gamma Gamma Real Property Gamma value
- Reference index RefIndex Real Property REF Index value
- Reference value RefValue Real Property REF value
- Component index Comp
ID. Component numbers for
ComponentNumbers Vector data or index
- Data / Index flag 1 - Data, 2 - Index. This
flag indicates the value
type (data or index) in the
InT corresponding index of the
DataIndexFlag Vector InputDataIndex attribute.
- Data / Index Real
values InputDataIndex Vector Input Data/Index values

Temperature Dependent Properties, Class = CompIn

PRO II COM Server Reference Guide 115


Table 1.1. Component data
Read an attribute: ComponentObject.GetAttribute(AttributeName, Index)
Write an attribute: ComponentObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
- Data Type 0 - No data, 1 - Correlation
data from library, 2 -
Tabular data, 3 –
Correlation data from user
input
Each index in this vector
corresponds to one
property. The
Index/Property relation is:
1 - Vapor pressure
2 - Solid vapor pressure
3 - Latent heat
4 - Ideal gas enthalpy
5 - Sat. Liquid enthalpy
6 - Solid enthalpy
7 - Solid heat capacity
8 - Sat. Liquid density,
9 - Solid density
10 - Saturated vapor
viscosity
11 - Saturated liquid
viscosity
12 - Saturated vapor
thermal conductivity
13 - Saturated liquid
thermal conductivity
InT 14 - Solid thermal
Vector conductivity
of size 15 - Saturated liquid
TDPropDataFlag 15 surface tension
- Number of InT Number of correlated
properties input NumOfCorrPropsIn scalar properties input
- Property types The property numbers
selected correspond to the
Index/Property relation
InT described for
CorrelPropertyIn Vector TDPropDataFlag attribute

Correlated Data
- Correlation InT
numbers CorrelTypeIn Vector Correlation type number
- Temperature unit TEMP UOM Correlation temperature
CorrelTempUOMIn Vector unit
- Property unit UOM
CorrelPropUOMIn Vector Correlated prop unit
- Property basis InT
CorrelMolBasisIn Vector 1 - Mole, 2 - Weight

116 Appendix B
Table 1.1. Component data
Read an attribute: ComponentObject.GetAttribute(AttributeName, Index)
Write an attribute: ComponentObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
- Log/Ln toggle InT
CorrelLogBasisIn Vector 1 - Ln, 2 - Log
- Exponential factor Real For correlations numbers 3
CorrelExponFacIn Vector and 4 only
- Maximum TEMP Real Correlation minimum
temperature CorrelTMinIn Vector temperature input
- Minimum TEMP Real Correlation maximum
temperature CorrelTMaxIn Vector temperature input
- Coefficient 1 Real Correlation coefficients
CorrelCoeff1In Vector input
- Coefficient 2 Real Correlation coefficients
CorrelCoeff2In Vector input
- Coefficient 3 Real Correlation coefficients
CorrelCoeff3In Vector input
- Coefficient 4 Real Correlation coefficients
CorrelCoeff4In Vector input
- Coefficient 5 Real Correlation coefficients
CorrelCoeff5In Vector input
- Coefficient 6 Real Correlation coefficients
CorrelCoeff6In Vector input
- Coefficient 7 Real Correlation coefficients
CorrelCoeff7In Vector input
- Coefficient 8 Real Correlation coefficients
CorrelCoeff8In Vector input
- Coefficient 9 Real Correlation coefficients
CorrelCoeff9In Vector input
- Coefficient 10 Real Correlation coefficients
CorrelCoeff10In Vector input

Tabular Data
- Vapor
Pressure
- Number of data Vapor pressure table
points VapPressTabNumPtsIn InT number of points
- Temperatures TEMP Real Temperatures for tabular
VPTempTableIn Vector prop data
- Vapor pressure PRES Real Tabular data for Vapor
values VapPressTableIn Vector Pressure
- Temperature VapPressTabTempUOM TEMP Vapor pressure table temp
UOM In UOM unit
- Vapor pressure VapPressTabPropUOMI PRES Vapor pressure table prop
UOM n UOM unit
- vapor pressure
basis VapPressTabBasisIn InT 1 - Mole, 2 - Weight

PRO II COM Server Reference Guide 117


Table 1.1. Component data
Read an attribute: ComponentObject.GetAttribute(AttributeName, Index)
Write an attribute: ComponentObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data

- Solid Vapor
Pressure
- Number of data Solid Vapor Press table
points SolVPTabNumPtsIn InT number of points
- Temperatures TEMP Real Solids Temperatures for
SVPTempTableIn Vector tabular prop data
- Solid vapor PRES Real Tabular data for Solid
pressure values SolVapPressTableIn Vector Vapor Pressure
- Temperature TEMP Solid Vapor Press table
UOM SolVPTabTempUOMIn UOM temp unit
- Solid vapor PRES Solid Vapor Press table
pressure UOM SolVPTabPropUOMIn UOM prop unit
- Solid vapor
pressure basis SolVPTabBasisIn InT 1 - Mole, 2 - Weight
- Latent heat
- Number of data Latent Heat table number
points LatHtTabNumPtsIn InT of points
- Temperatures TEMP Real Temperatures for tabular
LHTempTableIn Vector prop data
- Latent heat ENTH Real Tabular data for Latent
values LatHtTableIn Vector Heat
- Temperature TEMP Latent Heat table temp
UOM LatHtTabTempUOMIn UOM unit
- Latent heat ENTH
UOM LatHtTabPropUOMIn UOM Latent Heat table prop unit
- Latent heat
basis LatHtTabBasisIn InT 1 - Mole, 2 - Weight
- Ideal gas
enthalpy
- Number of data Ideal Gas Enthalpy table
points IdGEnthTabNumPtsIn InT number of points
- Temperatures TEMP Real Temperatures for tabular
IGHTempTableIn Vector prop data
- Ideal gas ENTH Real Tabular data for Ideal Gas
enthalpy values IdealGasEnthTableIn Vector Enthalpy
- Temperature IdGEnthTabTempUOMI TEMP Ideal Gas Enthalpy table
UOM n UOM temp unit
- Ideal gas ENTH Ideal Gas Enthalpy table
enthalpy UOM IdGEnthTabPropUOMIn UOM prop unit of measure
- Ideal gas
enthalpy basis IdGEnthTabBasisIn InT 1 - Mole, 2 - Weight
- Sat. Liquid
enthalpy
- Number of data Sat Liquid Enthalpy table
points SLiqEnthTabNumPtsIn InT number of points

118 Appendix B
Table 1.1. Component data
Read an attribute: ComponentObject.GetAttribute(AttributeName, Index)
Write an attribute: ComponentObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
TEMP Real Temperatures for tabular
- Temperatures SLHTempTableIn Vector prop data
- Liquid enthalpy ENTH Real Tabular data for Sat Liquid
values SatLiqEnthTableIn Vector Enthalpy
- Temperature SLiqEnthTabTempUOMI TEMP Sat Liquid Enthalpy table
UOM n UOM temp unit
- Liquid enthalpy SLiqEnthTabPropUOMI ENTH Sat Liquid Enthalpy table
UOM n UOM prop unit
- Liquid enthalpy
basis SLiqEnthTabBasisIn InT 1 - Mole, 2 - Weight
- Solid
enthalpy
- Number of data Solid Enthalpy table
points SolEnthTabNumPtsIn InT number of points
- Temperatures TEMP Real Temperatures for tabular
SHTempTableIn Vector prop data
- Solid enthalpy ENTH Real Tabular data for Solid
values SolEnthTableIn Vector Enthalpy
- Temperature TEMP Solid Enthalpy table temp
UOM SolEnthTabTempUOMIn UOM unit
- Solid enthalpy ENTH Solid Enthalpy table prop
UOM SolEnthTabPropUOMIn UOM unit of meas
- Solid enthalpy
basis SolEnthTabBasisIn InT 1 - Mole, 2 - Weight
- Solid heat
capacity
- Number of data Solid Heat Capacity table
points SolHtCapTabNumPtsIn InT number of points
- Temperatures TEMP Real Temperatures for tabular
SHCTempTableIn Vector prop data
- Solid heat CP Real Tabular data for Solid
capacity values SolHtCapTableIn Vector Heat Capacity
- Temperature SolHtCapTabTempUOM TEMP Solid Heat Capacity table
UOM In UOM temp unit
- Solid heat SolHtCapTabPropUOMI Solid Heat Capacity table
capacity UOM n CP UOM prop unit
- Solid heat
capacity basis SolHtCapTabBasisIn InT 1 - Mole, 2 - Weight
- Sat. Liquid
density,
- Number of data Sat Liquid Density table
points SLiqDensTabNumPtsIn InT number of points
- Temperatures TEMP Real Temperatures for tabular
SLDTempTableIn Vector prop data
- Liquid density LDEN Real Tabular data for Sat Liquid
values SatLiqDensTableIn Vector Density
- Temperature SLiqDensTabTempUOM TEMP Sat Liquid Density table
UOM In UOM temp unit

PRO II COM Server Reference Guide 119


Table 1.1. Component data
Read an attribute: ComponentObject.GetAttribute(AttributeName, Index)
Write an attribute: ComponentObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
- Liquid density SLiqDensTabPropUOMI LDEN Sat Liquid Density table
UOM n UOM prop unit
- Liquid density
basis SLiqDensTabBasisIn InT 1 - Mole, 2 - Weight
- Solid
density
- Number of data Solid Density table
points SolDensTabNumPtsIn InT number of points
- Temperatures TEMP Real Temperatures for tabular
SDTempTableIn Vector prop data
- Solid density DENS Real Tabular data for Solid
values SolDensTableIn Vector Density
- Temperature SolDensTabTempUOMI TEMP Solid Density table temp
UOM n UOM unit
- Solid density DENS Solid Density table prop
UOM SolDensTabPropUOMIn UOM unit
- Solid density
basis SolDensTabBasisIn InT 1 - Mole, 2 - Weight
- Saturated
vapor viscosity
- Number of data Sat Vapor Viscosity table
points SVapVisTabNumPtsIn InT number of points
- Temperatures TEMP Real Temperatures for tabular
SVVTempTableIn Vector prop data
- Vapor viscosity VISC Real Tabular data for Sat Vapor
values SatVapViscTableIn Vector Viscosity
- Temperature SVapVisTabTempUOMI TEMP Sat Vapor Viscosity table
UOM n UOM temp unit
- Vapor viscosity VISC Sat Vapor Viscosity table
UOM SVapVisTabPropUOMIn UOM prop unit
- Vapor viscosity
basis SVapVisTabBasisIn InT 1 - Mole, 2 - Weight
- Saturated
liquid viscosity
- Number of data Sat Liquid Viscosity table
points SLiqVisTabNumPtsIn InT number of points
- Temperatures TEMP Real Temperatures for tabular
SLVTempTableIn Vector prop data
- Liquid viscosity VISC Real Tabular data for Sat Liquid
values SatLiqViscTableIn Vector Viscosity
- Temperature TEMP Sat Liquid Viscosity table
UOM SLiqVisTabTempUOMIn UOM temp unit
- Liquid viscosity VISC Sat Liquid Viscosity table
UOM SLiqVisTabPropUOMIn UOM prop unit
- Liquid viscosity
basis SLiqVisTabBasisIn InT 1 - Mole, 2 - Weight

120 Appendix B
Table 1.1. Component data
Read an attribute: ComponentObject.GetAttribute(AttributeName, Index)
Write an attribute: ComponentObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
- Saturated
vapor thermal
conductivity
- Number of data Sat Vapor Thermal
points Conduct table number of
SVapThCoTabNumPtsIn InT points
- Temperatures TEMP Real Temperatures for tabular
SVTCTempTableIn Vector prop data
- Vapor thermal COND Real Tabular data for Sat Vapor
cond. values SatVapThCondTableIn Vector Thermal Conductivity
- Temperature SVapThCoTabTempUO TEMP Sat Vapor Thermal
UOM MIn UOM Conduct table temp unit
- Vapor thermal SVapThCoTabPropUO COND Sat Vapor Thermal
cond. UOM MIn UOM Conduct table prop unit
- Vapor thermal
cond. basis SVapThCoTabBasisIn InT 1 - Mole, 2 - Weight
- Saturated
liquid thermal
conductivity
- Number of data Sat Liquid Thermal
points Conduct table number of
SLiqThCoTabNumPtsIn InT points
- Temperatures TEMP Real Temperatures for tabular
SLTCTempTableIn Vector prop data
- Liquid thermal COND Real Tabular data for Sat Liquid
cond. values SatLiqThCondTableIn Vector Thermal Conductivity
- Temperature SLiqThCoTabTempUO TEMP Sat Liquid Thermal
UOM MIn UOM Conduct table temp unit
- Liquid thermal SLiqThCoTabPropUOMI COND Sat Liquid Thermal
cond. UOM n UOM Conduct table prop unit
- Liquid thermal
cond. basis SLiqThCoTabBasisIn InT 1 - Mole, 2 - Weight
- Solid
thermal
conductivity
- Number of data Solid Thermal
points Conductivity table number
SolThConTabNumPtsIn InT of points
- Temperatures TEMP Real Temperatures for tabular
STCTempTableIn Vector prop data
- Solid thermal COND Real Tabular data for Solid
cond. values SolThCondTableIn Vector Thermal Conductivity
- Temperature TEMP Solid Thermal
UOM SolThConTabTempUO Conductivity table temp
MIn UOM unit
- Solid thermal SolThConTabPropUOMI COND Solid Thermal
cond. UOM n UOM Conductivity table prop unit

PRO II COM Server Reference Guide 121


Table 1.1. Component data
Read an attribute: ComponentObject.GetAttribute(AttributeName, Index)
Write an attribute: ComponentObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
- Solid thermal
cond. basis SolThConTabBasisIn InT 1 - Mole, 2 - Weight
- Saturated
liquid surface
tension
- Number of data Sat Liquid Surface
points Tension table number of
SLiqSuTeTabNumPtsIn InT points
- Temperatures TEMP Real Temperatures for tabular
SLSTTempTableIn Vector prop data
- Liquid surface SURF Real Tabular data for Sat Liquid
tension values SatLiqSurTenTableIn Vector Surface Tension
- Temperature SLiqSuTeTabTempUOM TEMP Sat Liquid Surface
UOM In UOM Tension table temp unit
- Liquid surface SLiqSuTeTabPropUOMI SURF Sat Liquid Surface
tension UOM n UOM Tension table prop unit
- Liquid surface
tension basis SLiqSuTeTabBasisIn InT 1 - Mole, 2 - Weight
Unifac
Structural
Groups
- Group index InT
GroupIDIn Vector UNIFAC Group ID's input
- Number of groups InT UNIFAC Group Count
in component GroupIDCountIn Vector input
Unifac parameters
- van der Waals Input Van der waals area,
area paramter (Q) VDWaalsAreaIn Real dimensionless
- van der Waals Input Van der waals
volume parameter (R) VDWaalsVolIn Real volume, dimensionless

Particle Size Distribution data, Class = CompPSD


The component PSD information (ranges) are stored in the "CompPSD" class. This class
contains only one object called "CompPSD".
The values supplied in the stream for a component correspond to the ranges supplied for that
component in this object.
- Number of Number of components
components NumPSDCmps InT with PSD data
- Component Ids Comp.
ID
PSDComp Vector PSD component vector
- Beginning index PSDStart[i] and PSDEnd[i]
of components InT mark the beginning and
PSDStart Vector ending
- Ending index of InT indices in PSDData vector
components PSDEnd Vector for PSDComp[i]

122 Appendix B
Table 1.1. Component data
Read an attribute: ComponentObject.GetAttribute(AttributeName, Index)
Write an attribute: ComponentObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
- PSD Data (range) FLEN Real
PSDData Vector PSD data vector

General Attributes data, Class = CompMisc


The names of the general attributes for components are stored in the " CompMisc" class. This
class contains only one object called " CompMisc".
The values supplied in "StrmMiscIn" class objects correspond to the attribute names supplied
for that component in this object.
- Number of Number of components
components NumGenCmps InT with general data
- Component Ids Comp.
ID
GenComp Vector General component vector
- Beginning index GenStart[i] and GenEnd[i]
of components InT mark the beginning and
GenStart Vector ending
- Ending index of InT indices in GenData vector
components GenEnd Vector for GenComp[i]
- General attribute Char
names Vector
GenData (12) General data vector

Calculated Data
The calculated fixed property data for components are stored in the "CompCalc" class. There
is only one instance of this class and its name is also "CompCalc".
This object contains vectors for each component property and Property[i] belongs to
component ComponentId[i].
Calculated data, Class = CompCalc
- Component ID 0 to N-1 Comp
ID
ComponentId Vector Component ID (Name)
- Component type 1 - Library, 2 - Non-Library,
InT 3 - Petroleum, 4 - Assay
Vector pseudocomponent, 5 -
ComponentType Syncomp, 6 - Synliq
- Phase InT
Vector 1 - Vapor, 2 - Liquid, 3 -
Phase Solid
- Print number InT Component numbers
Vector entered in the PRO/II
PrintNumber keyword file
- CAS number InT
Vector
ChemAbsNum Chemical abstract number

PRO II COM Server Reference Guide 123


Table 1.1. Component data
Read an attribute: ComponentObject.GetAttribute(AttributeName, Index)
Write an attribute: ComponentObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
- Library number InT
Vector
LibraryNumber Component library number

Temperature independent component properties, Class = CompCalc


- Molecular weight Real
MolWeight Vector Molecular Weight
- Specific gravity Real
SpecGravity Vector Specific Gravity
- Normal boiling TEMP Real
point NormBoilPt Vector Normal boiling point
- Normal melting TEMP Real
point NormMeltPt Vector Normal melting point
- Acentric factor Real
AcenFactor Vector Accentric factor
- Critical TEMP Real
temperature (Tc) CritTemp Vector Critical temperature
- Critical pressure PRES Real
(Pc) CritPress Vector Critical pressure
- Critical volume LIQV Real
(Vc) CritVol Vector Critical volume
- Critical
compressibility factor Real
(Zc) CritCompress Vector Critical compressibility
- Watson K factor Real
WatsonK Vector Watson K
- Liquid molar LIQV Real
volume LiqMolVol Vector Liquid molar volume
- Heat of fusion at ENTH Real Heat of fusion at the
normal melting point HeatFusionAtNMP Vector normal melting point
- Heat of ENTH
vaporization at normal Real Heat of vaporization at the
boiling point HeatVapAtNBP Vector normal boiling point
1 - Vapor, 2 - Liquid, 3 -
- Reference phase FreeEnFoPhase InT Solid
- Standard heat of ENTH Real
formation StdHeatForm Vector Standard heat of formation
- Standard free ENTH Real Standard free energy of
energy of formation StdFreeEnForm Vector formation
- Solubility Real
parameter SolParam Vector SolParam
- Racket Real
RackettParam Vector Rackett parameter
- Carbon number Real
CarbonNum Vector Carbon number
- Hydrogen Real Hydrogen defiency
defiency number HydrogenDef Vector number
- Dipole moment DIPO Real
DipoleMoment Vector Dipole moment

124 Appendix B
Table 1.1. Component data
Read an attribute: ComponentObject.GetAttribute(AttributeName, Index)
Write an attribute: ComponentObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
- Radius of gyration FLEN Real
RadGyration Vector Radius of gyration
- Heat of ENTH Real
combustion HeatCombus Vector Heat of combustion
- Triple point PRES Real
pressure TripPtPress Vector Triple point pressure
- Triple point TEMP Real
temperature TripPtTemp Vector Triple point temperature
- Gross heating HVAL Real
value GrossHeatValue Vector Gross heating value
- Lower heating HVAL Real
value LowerHeatValue Vector Lower heating value
- Vapor entropy ENTR Real Vapor entropy departure
departure at NBP VapEntropyDepNBP Vector at NBP
- Library entropy of ENTR Real Library entropy of
vaporization at NBP LibEntrVapNBP Vector vaporization at NBP
- Liquid entropy ENTR
change from NBP to Real Liquid entropy change
NMP LibLiqEntrNbpNmp Vector from NBP to NMP
- Vapor enthalpy ENTH Real Vapor enthalpy departure
departure at NBP VaporEnthDepNBP Vector at NBP
- Library enthalpy ENTH
of vaporization at Real Library enthalpy of
NBP LibEnthVapNBP Vector vaporization at NBP
- Liquid enthalpy ENTH
change from NBP to Real Liquid enthalpy change
NMP LibLiqEnthNbpNmp Vector from NBP to NMP
- van der Waals Real
area VDWaalsArea Vector van der Waals area
- van der Waals Real
volume VDWaalsVol Vector van der Waals volume
- ETA parameter
(Truncated Virial Real
EOS) EtaParam Vector Eta parameter
- WT parameter Real WT parameter (Solubility
(Solubility equation) WTParam Vector equation)
- PAVA parameter Real
(Solubility equation) PAVAParam Vector PAVA parameter
- SRK M factor for Real
phase envelope SrkMFactor Vector SRK M factor
- PR M factor for Real
phase envelope PrMFactor Vector PR M factor

PRO II COM Server Reference Guide 125


Table 2.1 Thermo data
Read an attribute: ThermoObject.GetAttribute(AttributeName, Index)
Write an attribute: ThermoObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


User Accessible Input Variables, Class = ThermoSet

Thermodynamic
system selected SystemFlagInpt InT See Table 1
VLLE set flag 0 - Not a VLLE set, 1
VLLEFlagInpt InT - VLLE set
Default Methods
- K-Value (VLE) KvalVLEDflt InT Default VLE method
- K-Value (LLE) KvalLLEDflt InT Default LLE method
- K-Value (SLE) KvalSLEDflt InT Default SLE method
- Henry's law Default Henry's law
coefficient HenryDflt InT coefficient method
- Liquid enthalpy Default liquid
LiquidEnthalpyDflt InT enthalpy method
- Vapor enthalpy Default vapor
VaporEnthalpyDflt InT enthalpy method
- Liquid density Default liquid density
LiquidDensityDflt InT method
- Vapor density Default vapor
VaporDensityDflt InT density method
- Vapor fugacity Default vapor
(PHI) fugacity coefficient
VaporPhiDflt InT method
- Liquid entropy Default liquid
LiquidEntropyDflt InT entropy method
- Vapor entropy Default vapor
VaporEntropyDflt InT entropy method
- Liquid viscosity Default liquid
LiquidViscosityDflt InT viscosity method
- Vapor viscosity Default vapor
VaporViscosityDflt InT viscosity method
- Liquid conductivity Default liquid
LiquidConducDflt InT conductivity method
- Vapor conductivity Default vapor
VaporConducDflt InT conductivity method
- Surface tension Default surface
SurfaceTnsionDflt InT tension method
- Liquid diffusivity Default liquid
LiquidDiffusDflt InT diffusivity method
User-overridden
Methods
- K-Value (VLE) User override to
KvalVLEOvride InT default VLE method
- K-Value (LLE) User override to
KvalLLEOvride InT default LLE method

126 Appendix B
Table 2.1 Thermo data
Read an attribute: ThermoObject.GetAttribute(AttributeName, Index)
Write an attribute: ThermoObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


User Accessible Input Variables, Class = ThermoSet
- K-Value (SLE) User override to
KvalSLEOvride InT default SLE method
- Henry's law User override to
coefficient default Henry's law
HenryOvride InT coefficient method
- Liquid enthalpy User override to
default liquid
LiquidEnthalpyOvride InT enthalpy method
- Vapor enthalpy User override to
default vapor
VaporEnthalpyOvride InT enthalpy method
- Liquid density User override to
default liquid density
LiquidDensityOvride InT method
- Vapor density User override to
default vapor density
VaporDensityOvride InT method
- Vapor fugacity User override to
(PHI) default vapor
fugacity coefficient
VaporPhiOvride InT method
- Liquid entropy User override to
default liquid entropy
LiquidEntropyOvride InT method
- Vapor entropy User override to
default vapor
VaporEntropyOvride InT entropy method
- Liquid viscosity User override to
default liquid
LiquidViscOvride InT viscosity method
- Vapor viscosity User override to
default vapor
VaporViscOvride InT viscosity method
- Liquid conductivity User override to
default liquid
LiquidConducOvride InT conductivity method
- Vapor conductivity User override to
default vapor
VaporConducOvride InT conductivity method
- Surface tension User override to
default surface
SurfaceTnsionOvride InT tension method
- Liquid diffusivity User override to
default liquid
LiquidDiffusOvride InT diffusivity method

PRO II COM Server Reference Guide 127


Table 2.1 Thermo data
Read an attribute: ThermoObject.GetAttribute(AttributeName, Index)
Write an attribute: ThermoObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


User Accessible Input Variables, Class = ThermoSet

Water Handling
Options
0 - Allow method
determine if water
will be decanted
1 - Turn off water
decant
unconditionally
2 - Turn on water
- water decant decant
option DecantOverrideInpt InT unconditionally
0/1 - use default
method
2 - use kerosene
data
- solubility option HCSolubOptionInpt InT 3 - use eos method
0 - Compute sat.
water props
1 - Compute actual
- water properties props using steam
option WaterPropsInpt InT tables

Binary InTeraction Parameters : Use the appropriate class names (refer Table 2) to access
the parameter data for the desired property
BWRS
Data applicable for K-Value (VLE), Liquid enthalpy, Vapor enthalpy, Liquid density, Vapor
density, Liquid entropy, Vapor entropy classes
- Number of pairs BWRSCount InT BWRS count
- Component i Comp ID
BWRSKijComp1 Vector BWRS i's
- Component j Comp ID
BWRSKijComp2 Vector BWRS j's
- kij Real
BWRSKij Vector Kij

Associating Hexamer Equation of State


Data applicable for K-Value (VLE), K-Value (LLE), Liquid enthalpy, Vapor enthalpy, Liquid
density, Vapor density, Liquid entropy, Vapor entropy classes
- Number of pairs HEX count. The
following vectors are
HEXCount InT sized to this count

128 Appendix B
Table 2.1 Thermo data
Read an attribute: ThermoObject.GetAttribute(AttributeName, Index)
Write an attribute: ThermoObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


User Accessible Input Variables, Class = ThermoSet
- Component i Comp ID
HEXKijComp1 Vector HEX i's
- Component j Comp ID
HEXKijComp2 Vector HEX j's
- kija Real
HEXKijA Vector Kija
- kjia Real
HEXKjiA Vector Kjia
- kijb Real
HEXKijB Vector Kijb
- kjib Real
HEXKjiB Vector Kjib
- kijc Real
HEXKijC Vector Kijc
- kjic Real
HEXKjiC Vector Kjic
- cij Real
HEXCij Vector Cij
- cji Real
HEXCji Vector Cji
- Unit of measure InT 1 - Kelvin, 2 -
HEXKijUnit Vector Rankine

Lee-Kesler-
Plocker
Data applicable for K-Value (VLE), K-Value (LLE), Liquid enthalpy, Vapor enthalpy, Liquid
density, Vapor density, Liquid entropy, Vapor entropy classes
- Number of pairs LKP count . The
following vectors are
LKPCount InT sized to this count
- Component i Comp ID
LKPKijComp1 Vector LKP i's
- Component j Comp ID
LKPKijComp2 Vector LKP j's
- kij Real
LKPKij Vector Kij
Redlich-Kister,
Gamma Heat of
Mixing
Data applicable only for Liquid enthalpy class, Class = ThermoSet
- Heat of mixing Excess enthalpy flag
method applied to the 419 - Redlich-Kister
liquid enthalpy 1
method 420 - Redlich-Kister
ExcessEnthInpt InT 2
Data applicable only for Liquid enthalpy class, Class = ThHLiqIn

PRO II COM Server Reference Guide 129


Table 2.1 Thermo data
Read an attribute: ThermoObject.GetAttribute(AttributeName, Index)
Write an attribute: ThermoObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


User Accessible Input Variables, Class = ThermoSet
- Number of The following
component pairs vectors are sized to
Rk1orRk2Count InT this count
- Component I Comp ID
RKisComp1 Vector RK1 or RK2 i's
- Component j Comp ID
RKisComp2 Vector RK1 or RK2 j's
- aij Real
RKisAij Vector Aij
- bij Real
RKisBij Vector Bij
- cij Real
RKisCij Vector Cij
- dij Real
RKisDij Vector Dij
- eij Real
RKisEij Vector Eij
- fij Real
RKisFij Vector Fij
- gij Real
RKisGij Vector Gij
- hij Real
RKisHij Vector Hij
- Unit of measure InT
RKisUnit Vector RK1 or RK2 UOM
SRK, PR,
SRKKD
Data applicable for K-Value (VLE), K-Value (LLE), Liquid enthalpy, Vapor enthalpy, Liquid
density, Vapor density, Liquid entropy, Vapor entropy classes
- Number of binary
pairs KijTCount InT Kij(T) count
- Component i Comp ID.
KijTComp1 Vector Kij(T) i's
- Component j Comp ID.
KijTComp2 Vector Kij(T) j's
- kija Real
KijA Vector Kija
- kijb Real
KijB Vector Kijb
- kijc Real
KijC Vector Kijc
- Unit of measure InT 1 - Kelvin, 2 -
KijTUnit Vector Rankine

SRKP, PRP
- Number of binary
pairs KijTCount InT Kij(T) count
- Component i Comp ID.
KijTComp1 Vector Kij(T) i's

130 Appendix B
Table 2.1 Thermo data
Read an attribute: ThermoObject.GetAttribute(AttributeName, Index)
Write an attribute: ThermoObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


User Accessible Input Variables, Class = ThermoSet
- Component j Comp ID.
KijTComp2 Vector Kij(T) j's
- kija Real
KijA Vector Kija
- kjia Real
KjiA Vector Kjia
- kijb Real
KijB Vector Kijb
- kjib Real
KjiB Vector Kjib
- kijc Real
KijC Vector Kijc
- kjic Real
KjiC Vector Kjic
- Unit of measure InT 1 - Kelvin, 2 -
KijTUnit Vector Rankine
SRKM, PRM,
SRKS, SRKH
and PRH
- Number of binary
pairs KijTCount InT Kij(T) count
- Component I Comp ID.
KijTComp1 Vector Kij(T) i's
- Component j Comp ID.
KijTComp2 Vector Kij(T) j's
- kija (Aij for SRKH Real
and PRH) KijA Vector kija
- kjia (Bij for SRKH Real
and PRH) KjiA Vector Kjia
- kijb (Cij for SRKH Real
and PRH) KijB Vector Kijb
- kjib (Aji for SRKH Real
and PRH) KjiB Vector Kjib
- kijc (Bji for SRKH Real
and PRH) KijC Vector Kijc
- kjic (Cji for SRKH Real
and PRH) KjiC Vector Kjic
- cij ( αij for SRKH Real
and PRH) Cij Vector
- cji ( β ij for SRKH Real
and PRH) Cji Vector
- Unit of measure InT 1 - Kelvin, 2 -
KijTUnit Vector Rankine
NRTL Liquid
Activity Method
Data applicable for K-Value (VLE) and K-Value (LLE) classes only
NRTL3
- Number of
component pairs NRTL3Count InT NRTL3 count

PRO II COM Server Reference Guide 131


Table 2.1 Thermo data
Read an attribute: ThermoObject.GetAttribute(AttributeName, Index)
Write an attribute: ThermoObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


User Accessible Input Variables, Class = ThermoSet
- Component i Comp ID.
NRTL3Comp1 Vector NRTL3 i's
- Component j Comp ID.
NRTL3Comp2 Vector NRTL3 j's
- bij Real
NRTL3Bij Vector Bij
- bji Real
NRTL3Bji Vector Bji
- αji Real
NRTL3ALPHAij Vector Alphaij
- Unit of measure 1 - Kelvin, 2 -
InT KiloCalories, 3 -
NRTL3Unit Vector KiloJoules
NRTL5
- Number of
component pairs NRTL5Count InT NRTL5 count
- Component i Comp ID.
NRTL5Comp1 Vector NRTL5 i's
- Component j Comp ID.
NRTL5Comp2 Vector NRTL5 j's
- aij Real
NRTL5Aij Vector Aij
- bij Real
NRTL5Bij Vector Bij
- aji Real
NRTL5Aji Vector Aji
- bji Real
NRTL5Bji Vector Bji
- αij Real
NRTL5ALPHAij Vector Alphaij
- Unit of measure 1 - Kelvin, 2 -
InT KiloCalories, 3 -
NRTL5Unit Vector KiloJoules
NRTL6
- Number of
component pairs NRTL6Count InT NRTL6 count
- Component i Comp ID.
NRTL6Comp1 Vector NRTL6 i's
- Component j Comp ID.
NRTL6Comp2 Vector NRTL6 j's
- aij Real
NRTL6Aij Vector Aij
- bij Real
NRTL6Bij Vector Bij
- aji Real
NRTL6Aji Vector Aji
- bji Real
NRTL6Bji Vector Bji
- α'ij Real
NRTL6ALPHAc Vector Alphac

132 Appendix B
Table 2.1 Thermo data
Read an attribute: ThermoObject.GetAttribute(AttributeName, Index)
Write an attribute: ThermoObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


User Accessible Input Variables, Class = ThermoSet
- β'ij Real
NRTL6ALPHAt Vector Alphat
- Unit of measure 1 - Kelvin, 2 -
InT KiloCalories, 3 -
NRTL6Unit Vector KiloJoules
NRTL8
- Number of
component pairs NRTL8Count InT NRTL8 count
- Component i Comp ID.
NRTL8Comp1 Vector NRTL8 i's
- Component j Comp ID.
NRTL8Comp2 Vector NRTL8 j's
- aij Real
NRTL8Aij Vector Aij
- bij Real
NRTL8Bij Vector Bij
- cij Real
NRTL8Cij Vector Cij
- aji Real
NRTL8Aji Vector Aji
- bji Real
NRTL8Bji Vector Bji
- cji Real
NRTL8Cji Vector Cji
- α'ij Real
NRTL8ALPHAij Vector Alphaij
- β'ij Real
NRTL8Betaij Vector Betaij
- Unit of measure 1 - Kelvin, 2 -
InT KiloCalories, 3 -
NRTL8Unit Vector KiloJoules

UNIQUAC
Data applicable for K-Value (VLE) and K-Value (LLE) classes only
UNIQUAC (2
parameter)
- Number of
component pairs UNIQUAC2Count InT UNIQUAC2 count
- Component i Comp ID.
UNIQUAC2Comp1 Vector i's
- Component j Comp ID.
UNIQUAC2Comp2 Vector j’s
- aij Real
UNIQUAC2Aij Vector Aij
- aji Real
UNIQUAC2Aji Vector Aji
- Unit of measure 1 - Kelvin, 2 -
InT KiloCalories, 3 -
UNIQUAC2Unit Vector KiloJoules

PRO II COM Server Reference Guide 133


Table 2.1 Thermo data
Read an attribute: ThermoObject.GetAttribute(AttributeName, Index)
Write an attribute: ThermoObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


User Accessible Input Variables, Class = ThermoSet
UNIQUAC (4
parameter)
- Number of
component pairs UNIQUAC4Count InT UNIQUAC4 count
- Component i Comp ID.
UNIQUAC4Comp1 Vector i’s
- Component j Comp ID.
UNIQUAC4Comp2 Vector j’s
- aij Real
UNIQUAC4Aij Vector Aij
- aji Real
UNIQUAC4Aji Vector Aji
- bij Real
UNIQUAC4Bij Vector Bij
- bji Real
UNIQUAC4Bji Vector Bji
- Unit of measure 1 - Kelvin, 2 -
InT KiloCalories, 3 -
UNIQUAC4Unit Vector KiloJoules

Azeotrope Data
- Number of
component pairs AzeoCount InT Count
- Component i Comp ID.
AzeoComp1 Vector i’s
- Component j Comp ID.
AzeoComp2 Vector j’s
- Pressure PRES Real
AzeoPress Vector Azeotrope Pressure
- Pressure unit of PRES
measure AzeoPunit UOM Pressure units
- Temperature TEMP Real Azeotrope
AzeoTemp Vector Temperature
- Temperature unit TEMP
of measure AzeoTunit UOM Temperature units
- xi Real Concentration at
AzeoConc Vector azeotrope
- Basis AzeoBasis InT Wt or Molar
Mutual
Solubility Data
- Number of
component pairs MutuCount InT Count
- Component i Comp ID.
MutuComp1 Vector i’s
- Component j Comp ID.
MutuComp2 Vector j’s
- Temperature TEMP Real
MutuTemp Vector Temperature

134 Appendix B
Table 2.1 Thermo data
Read an attribute: ThermoObject.GetAttribute(AttributeName, Index)
Write an attribute: ThermoObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


User Accessible Input Variables, Class = ThermoSet
- Temperature unit TEMP
of measure MutuTunit UOM Temperature units
- x'i Real Solubility of Comp 1
MutuConcComp1 Vector in Comp 2
- x''j Real Solubility of Comp 2
MutuConcComp2 Vector in Comp 1
- Basis MutuBasis InT Wt or molar
Infinite Dilution
Activity Data
- Number of
component pairs InfiniCount InT Count
Comp ID.
- Component i InfiniComp1 Vector i’s
Comp ID.
- Component j InfiniComp2 Vector j’s
TEMP Real
- Temperature InfiniTemp Vector Temperature
- Temperature unit TEMP
of measure InfiniTunit UOM Temperature units
Real GAMMA1 at infinite
- γ∞i InfiniGamma1 Vector dilution in Comp 2
Real GAMMA2 at infinite
- γ∞j InfiniGamma2 Vector dilution in Comp 1
Wilson
Data applicable for K-Value (VLE) class only
- Number of
component pairs WilsonCount InT Count
- Component i Comp ID.
WilsonComp1 Vector i’s
- Component j Comp ID.
WilsonComp2 Vector j’s
- aij Real
WilsonAij Vector Aij
- aji Real
WilsonAji Vector Aji
- Unit of measure 1 - Kelvin, 2 - KCals,
InT 3 - KJoules, 4 –
WilsonUnit Vector None

Van Laar
Data applicable for K-Value (VLE) and K-Value (LLE) classes only
- Number of
component pairs VanlaarCount InT Count
- Component i Comp ID.
VanlaarComp1 Vector i’s
- Component j Comp ID.
VanlaarComp2 Vector j’s

PRO II COM Server Reference Guide 135


Table 2.1 Thermo data
Read an attribute: ThermoObject.GetAttribute(AttributeName, Index)
Write an attribute: ThermoObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


User Accessible Input Variables, Class = ThermoSet
- aij Real
VanLaarAij Vector Aij
- aji Real
VanLaarAji Vector Aji

Margules
Data applicable for K-Value (VLE) and K-Value (LLE) classes only
- Number of
component pairs MargulesCount InT Count
- Component i Comp ID.
MargulesComp1 Vector i’s
- Component j Comp ID.
MargulesComp2 Vector j’s
- aij Real
MargulesAij Vector Aij
- aji Real
MargulesAji Vector Aji
- dij Real
MargulesDij Vector Dij

Table 1: InTernal numbers for Thermodynamic methods

Keyword
Thermodynamic Method Abbreviation InTernal ID

Ideal IDEAL 1
Soave-Redlich-Kwong SRK 101
Peng-Robinson PR 102
Grayson-Streed GS 103
Chao-Seader CS 104
Braun K10 BK10 105
Kabadi-Danner modifications to SRK SRKKD 108
Huron-Vidal modifications to SRK SRKH 109
Benedict-Webb-Rubin-Starling BWRS 110
Panagiotopoulos-Reid modifications to SRK SRKP 111
Huron-Vidal modifications to PR PRH 112
UNIWAALS UNIWAAL 113
Panagiotopoulos-Reid modifications to PR PRP 114
Hayden-O'Connell vapor fugacity HOCV 115
Modified Panagiotopoulos-Reid mods to SRK SRKM 116

136 Appendix B
Modified Panagiotopoulos-Reid mods to PR PRM 117
Grayson-Streed-Erbar GSE 118
Chao-Seader-Erbar CSE 119
Modifications to Grayson-Streed & Chao-Seader IGS 120
SimSci modifications to SRK SRKS 121
Associating Hexamer equation of state HEXAMER 122
Idimer vapor fugacity IDIMER 123
TACITE TACITE 124
SAFT SAFT 125

Lee-Kesler-Plocker LKP 204


Truncated Virial Vapor Fugacity TVIRIAL 210

"Non-Random Two Liquid" liquid activity method NRTL 401


UNIQUAC UNIQUAC 403
Wilson WILSON 404
UNIFAC UNIFAC 405
Regular Solution REGULAR 406
Flory-Huggins FLORY 407
Advanced-Lattice Model ALM 409
Van Laar VANLAAR 410
Margules MARGULES 411
UNIFAC Modification UFT1 UNIFT1 412
UNIFAC Modification UFT2 UNIFT2 413
UNIFAC Modification UFT3 UNIFT3 414
UNIFAC Modification UNFV UNFV 415

Alcohol package ALCO 501


Glycol package GLYC 502
Sour Water package SOUR 503
GPA Sour Water package GPSWATER 510
Amine package AMINE 511

Van't Hoff Solubility VANTHOFF 802

PRO II COM Server Reference Guide 137


Table 2 Class Names : Property specific data are stored in their own objects.
The following is the list of property and their class names.
Property Class Name
- K-Value (VLE) ThKvalVLEIn
- K-Value (LLE) ThKvalLLEIn
- K-Value (SLE) ThKvalSLEIn
- Henry's law coefficient ThHenryIn
- Liquid enthalpy ThHLiqIn
- Vapor enthalpy ThHVapIn
- Liquid density ThDLiqIn
- Vapor density ThDVapIn
- Vapor fugacity (PHI) ThFugCVapIn
- Liquid entropy ThSLiqIn
- Vapor entropy ThSVapIn
- Liquid viscosity ThVLiqIn
- Vapor viscosity ThVVapIn
- Liquid conductivity ThCLiqIn
- Vapor conductivity ThCVapIn
- Surface tension ThSurTenIn
- Liquid diffusivity ThDiffLiqIn

138 Appendix B
Table 3.1 Stream data
Read an attribute: StreamObject.GetAttribute(AttributeName, Index)
Write an attribute: StreamObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Stream Documentation, Class = StreamIn
Name (Description) StreamName Char 40 char max

Stream Conditions, Class = StreamIn


Stream type StreamTypeFlag InT 1 - Composition defined
2 - Assay
10 - Reference stream
Solids only stream flag SolidsOnlyFlag InT 1 - Composition defined
stream containing only solids
Thermo method StreamThermoMethod ThermID 0 - Global default
>0 - Specified thermo-
dynamic method
Specification, Class = StreamIn
Temperature Temperature TEMP Real
Pressure Pressure PRES Real
Phase InputPhaseFlag InT 0 – Mixed
1 – Vapor
2 – Liquid
Liquid fraction present StrmLiqFracFlg InT 0 - Bubble, dew, liquid
flag fraction specs)
1 - Temperature and
pressure specs
Liquid fraction basis LfracBasisFlag InT 1 - Mole
flag 2 - Weight
3 - Liquid volume
Liquid fraction LiquidFraction Real
Total stream rate TotalRate Real
Rate basis RateBasisFlag InT 1 – Mole
2 – Weight
3 - Liquid volume
4 - Gas volume
Composition, Class = StreamIn
Composition/Rate flag StrmCompRateFlg InT 0 - Total rate and composition
supplied
1 – Total rate and assay
supplied
2 - Individual component
rates supplied.
Number of components CompVectorDimension InT
Composition units of CompositionDimenUnit UOM
measure
Composition basis CompositionBasisFlag InT 1 – Mole
2 – Weight
3 - Liquid volume

PRO II COM Server Reference Guide 139


4 - Vapor volume
Component index ComponentID 0 to N-1 CompIID Component IDs
N = CompVectorDimension
Component Composition 0 to N-1 Real
composition or rate
Normalize flag NoCheckBasisFlag InT 0 – Normalization off
1 - Normalization on

Streams with Assay data, Class = StreamAsIn


Distillation type DistType InT 1 - D86
2 - TBP
3 - D1160
4 - D2887
Basis Basis InT 1 - Liquid volume
2 – Weight
Distillation reference DistPres PRES Real
pressure
Cracking correction for Cracking InT 0 – No cracking correction
D86 data 1 - Correction applied
Temperature basis for TempBasis InT 10 – K
distillation data 11 – C
12 – R
13 – F
Distillation curve data, Class = StreamAsIn
Number of assay points Temperatures InT
(Pct/Temp pairs)
Percent DistPct 0 to N-1 Real N = Temperatures
Value DistTemp 0 to N-1 TEMP Real
Gravity Data, Class = StreamAsIn
Gravity type GravType InT 1 – API
2 - Specific gravity
3 - Watson K
Average stream gravity AvgGravity Real
Number of points Gravities InT
(Pct/Gravity pairs)
Percent GravPct 0 to N-1 Real N = Gravities
Value GravVal 0 to N-1 Real
Molecular Weight Data, Class = StreamAsIn
Average molecular AvgMW Real
weight
Number of points MWs InT
(Pct/MW pairs)
Percent MWPct 0 to N-1 Real N=MWs
Value MWVal 0 to N-1 Real
Lightends Data, Class = StreamAsIn
Lightends rate LeRate Real
Rate basis LeRateBasis InT 1 – Mole
2 – Weight
3 – LV
4 - GV
Rate UOM LeRateUOM UOM
Lightends fraction LeFrac Real
Fraction basis LeFrnBasis InT 1 – Mole
2 – Weight
3 - Liquid volume
140 Appendix B
4 - Gas Volume
Lightends percent LePct Real
Percent basis LePctBasis InT 1 – Mole
2 – Weight
3 - Liquid volume
4 - Gas Volume
Match TBP curve LeMatch InT 0 – No Match
1 - Match
Composition basis LeCompBasis InT 1 – Mole
2 – Weight
3 - Liquid Volume
4 - Gas Volume
Number of components LeComps InT
Component index LeCompIDs 0 to N-1 Comp N = LeComps
ID
Value LeVal 0 to N-1 Real
Refinery inspection properties, Class = StreamAsIn
Number of standard GenPropCount InT
refinery inspection
properties in simulation
Property names GenPropNames 0 to N-1 Char N = GenPropCount
Refinery inspection properties, Class = StrmSPGenIn
(object given by StreamID.GenPropNames)
Average stream value AverageValue Real
for refinery inspection
property
Average value qualifier AverageQualifier InT 10 - Fraction
11 – Percent
12 – PPM
Number of data points NumDataPairs InT
(PCT/value pairs)
Mid point percents AssayPercentage 0 to N1 Real N1 = NumDataPairs
Values (or Kinematic PropertyValue 0 to N1 Real
viscosity 1st value)
No. of data points for LengthKVisT2 InT
Kin. Visc. 2nd value
Kinematic viscosity 2nd KVis2Value 0 to N2 KVIS Real N2 = LengthKVisT2
values
Value qualifier DataQualifier 0 to N2 InT 10 - Fraction
11 – Percent
12 – PPM
Kinematic viscosity 1st KVisTemp1 TEMP Real
temperature
Kinematic viscosity 2nd KVisTemp2 TEMP Real
temperature
User-defined special properties, Class = StreamAsIn
Number special of UserPropCount InT
properties
Property names UserPropames 0 to N Char Normally 1, 2, 3, etc. for
Special Properties 1, 2, 3 etc.
N = UserPropCount
User-defined special properties, Class = StrmSPUsrIn
(object given by StreamID.UserPropNames)
Average stream value AverageValue Real
Number of special NumDataPairs InT

PRO II COM Server Reference Guide 141


property data point
pairs
Midpoint Percents AssayPercentage 0 to N Real N = NumDataPairs
Values PropertyValue 0 to N Real

Solids Flowrate and Composition data, Class = StreamIn


Mole based solids
Stream data type SolidMoleCompRateFlg InT 1 - Total rate, composition
supplied
2 - Individual component
rates supplied
Mole flowrate solids SolidsMoleRate Real
Flowrate UOM SolidMoleRateUnit UOM
Number of mole based SolidMoleCompVecDim InT
solid components
Component index SolidMoleCompID 0 to N-1 Comp
ID
Composition value SolidsMoleComp 0 to N-1 Real N = SlidMoleCompVecDim
Composition units of SolidMoleCompUnit UOM
measure
Composition normalize SolidMoleNoCheckFlg InT 0 - Do not normalize
flag 1 – Normalize
Weight based solids
Stream data type SolidWtCompRateFlg InT 1 - Total rate, composition
supplied
2 - Individual component
rates supplied
Weight flowrate solids SolidsWeightRate Real
Flowrate UOM SolidWtRateUnit UOM
Number of weight SolidWtCompVecDim InT
based solid
components
Component index SolidWtCompID 0 to N-1 Comp
ID
Composition value SolidsWtComp 0 to N-1 Real
Composition unit SolidWtCompUnit UOM
Composition normalize SolidWtNoCheckFlg InT 0 - Do not normalize
flag 1 – Normalize
Particle Size Distribution, Class = StrmPSDIn
Number of components NumPSDCmps InT
with PSD
Component Ids PSDComp 0 to N-1 Comp N = NumPSDCmps
ID
Starting value index PSDStart InT
Ending value index PSDEnd InT
Value PSDData Real Values between PSDStart[i]
and PSDEnd[i] indices belong
to PSDComp[i]
The particle size distribution ranges for the each component are defined in the CompPSD
object. The data supplied in streams are the values for these ranges.

142 Appendix B
General Solid Attributes, Class = StrmMscIn
Number of components NumGenCmps N InT
with general solid data
Component Ids GenComp 0 to N-1 Comp
ID
Starting value index GenStart InT
Ending value index GenEnd InT
Value GenData Real Values between GenStart[i]
and GenEnd[i] indices belong
to GenComp[i]
The names of the general attributes are defined in CompGen object. The data supplied in
streams are the values for these general attribute names.
Calculated Stream Properties
Component IDs, Class = CompCalc
Component ID ComponentId 0 to Comp.
NOC -1 ID
Calculated Stream Properties, Class = Stream
Component mole TotalComposition 0 to Real
fractions NOC -1
Vapor phase VaporComposition 0 to Real
compositions NOC -1
Liquid phase LiquidComposition 0 to Real
compositions NOC -1
Solid phase SolidComposition 0 to Real
compositions NOC -1
Temperature Temperature TEMP Real
Pressure Pressure PRES Real
Mole flow rate TotalMolarRate MRAT Real
Mole fraction vapor VaporFraction Real
Mole fraction total liquid LiquidFraction Real
Mole fraction water or WaterFraction Real
L2 liquid
Inert weight rate InertWeightRate WTR Real
A
Weight fraction solids SolidFraction Real
Molar enthalpy TotalMolarEnthalpy ENTH Real
Molar entropy TotalMolarEntropy ENTR Real
Bulk Total Stream Properties, Class = SrBulkProp
Molecular weight BulkMwOfPhase Real
Accentric factor BulkAccenFactor Real
Tc BulkCritTemp TABS Real
Pc BulkCritPres PABS Real
Vc BulkCritVolume LIQV Real
Zc BulkCritZFactor Real
Density, Actual BulkDensityAct DENS Real
conditions
Density (Sp. Gravity), BulkDensityStd DENS Real
Std. Conditions
Thermal conductivity BulkThermalCond CON Real
D
Viscosity BulkViscosity VISC Real
Surface Tension BulkSurfTension SURF Real

PRO II COM Server Reference Guide 143


Normal boiling point, BulkNBPMole TEMP Real
molar composition
Normal boiling point, BulkNBPWt TEMP Real
weight composition
Normal boiling point, BulkNBPVol TEMP Real
Volume composition
UOP K-value BulkUOPKvalue Real
True vapor pressure BulkTrueVapPres PRES Real
Reid vapor pressure BulkReidVapPresN Real
(API NAPHTHA)
Reid vapor pressure BulkReidVapPresC Real
(API CRUDE)
Reid vapor pressure BulkReidVapPres3 Real
(ASTM D323-73)
Reid vapor pressure BulkReidVapPres4 Real
(ASTM D323-82)
Reid vapor pressure BulkReidVapPres5 Real
(ASTM D4953-91)
Reid vapor pressure BulkReidVapPres6 Real
(ASTM D5191-91)
Reid vapor pressure BulkReidVapPres7 Real
(IDL Method)
Gross heating value BulkGrossHeatValue HVAL Real
Lower heating value BulkLowerHeatValue HVAL Real
Gas Wobbe index BulkWobbeIndex Real
Rate of flow of C2+ BulkC2Plus Real
Rate of flow of C3+ BulkC3Plus Real
Heat capacity, constant BulkCV CP Real
volume
Heat capacity, constant BulkCP CP Real
pressure
Cp/Cv Ratio BulkCPCVRatio Real
pH value BulkPH Real
Ionic Strength BulkIonicStrength Real
Refinery Inspection Properties, Class = SrRefProp
Kinematic viscosity BulkKinematicVisc KVIS Real
Cloud point BulkCloudPoint TEMP Real
Pour point BulkPourPoint TEMP Real
Flash point (Close cup) BulkFlashPointCCup TEMP Real
Sulfur content BulkSulfurContent PCT Real
Cetane number BulkCetaneNumber Real
Smoke point BulkSmokePoint Real
Total aromatics content BulkTotalAromatics PCT Real
Naphthene content BulkNaphthene PCT Real
Total paraffin content BulkTotalParaffin PCT Real
Hydrogen content BulkHydrogenContent PCT Real
Carbon content BulkCarbonContent PCT Real
Vanadium content BulkVanadiumContent PPM Real
Nickel content BulkNickelContent PPM Real
Oxygen content BulkOxygenContent PPM Real
Nitrogen content (Total) BulkTotalNitrogen PCT Real
Nitrogen content
(Basic) BulkBasicNitrogen PCT Real
Nitrogen content (Non-
basic) BulkNonBasicNitrogen PCT Real

144 Appendix B
Asphaltene content (C5) BulkAsphalteneC5 PPM Real
Asphaltene content (C7) BulkAsphalteneC7 PPM Real
Penetration index BulkPenetrationIndex Real
Freeze point BulkFreezePoint TEMP Real
temperature
Conradson carbon BulkConradsonCResid PCT Real
residue
Carbon-Hydrogen ratio BulkCToHRatio Real
Wax content BulkWaxContent PCT Real
Ash content BulkAshContent PCT Real
Octane number BulkROctaneNumber Real
(Research)
Octane number (Motor) BulkMOctaneNumber Real
Refractive index BulkRefrIndexC20 Real
Luminosity number BulkLuminosityNumber Real
Noack volatality BulkNoackVolatility Real
Cetane index BulkCetaneIndex Real
Mercaptan content BulkMercaptan PPM Real
Naphthalene content BulkNaphthalene PCT Real
Aniline point BulkAnalinePoint TEMP Real
Bromine number BulkBromineNumber Real
Neutralization number BulkNeutralization Real
Cold Filter Plug Point BulkCFPP TEMP Real
Softening point BulkSofteningPoint Real
Phenol content BulkPhenolContent PPM Real
Octane number (Motor, BulkMOctaneNumberL Real
3ML)
Octane number BulkROctaneNumberL Real
(Research, 3ML)
Sulfur content BulkAliphaticSulfur PCT Real
(Aliphatic)
Refractive index (70 C) BulkRefrIndexC70 Real
Aromatic Ring content BulkAromaticRing PCT Real
Iron content BulkIronContent PPM Real
Aromatics (Weight) BulkWtAromatics PCT Real
Paraffins (Weight) BulkWtParaffins PCT Real
Naphthenes (Weight) BulkWtNaphthenes PCT Real
Boiling point (Mean BulkMeanAvgBP TEMP Real
average)
Boiling point (Cubic BulkCubicAvgBP TEMP Real
average)
Boiling point (Molal BulkMolalAvgBP TEMP Real
average)
Net heating value BulkNetHeatingValue Real
Mercaptan Sulfur BulkMercaptanSulfur PCT Real
Total Reactive Sulfur BulkTotReactiveSulf PCT Real
Wong Closed Cup BulkFlashPointWCCup TEMP Real
Flash Point
Bulk Vapor properties, Class = SrBulkProp
Temperature VapTemp TEMP Real
Pressure VapPres PRES Real
Vapor mole fraction VapMoleFracOfTot Real
Mole flow rate VapMoleRate MRAT Real
Molar enthalpy VapEnthalpy ENTH Real
Molar entropy VapEntropy ENTR Real

PRO II COM Server Reference Guide 145


Molecular weight VapMwOfPhase Real
Acentric factor VapAccenFactor Real
UOP K-Value VapUOPKvalue Real
Tc VapCritTemp TABS Real
Pc VapCritPres PABS Real
Vc VapCritVolume VAPV Real
z from density VapCritZFactor Real
Density, Actual VapDensityAct VDEN Real
Density, standard VapDensityStd VDEN Real
Normal boiling point, VapNBPMole TEMP Real
molal composition
Normal boiling point, VapNBPWt TEMP Real
weight composition
Normal boiling point, VapNBPVol TEMP Real
Volume composition
Heat capacity, constant VapCP CP Real
pressure
Heat capacity, constant VapCV CP Real
volume
Cp/Cv ratio VapCPCVRatio Real
Viscosity VapViscosity VISC Real
Thermal conductivity VapThermalCond CON Real
D
Surface tension VapSurfTension SURF Real
True Vapor Pressure VapTrueVapPres PRES Real
Reid Vapor Pressure VapReidVapPresN Real
(API NAPHTHA)
Reid Vapor Pressure VapReidVapPresC Real
(API CRUDE)
Reid Vapor Pressure VapReidVapPres3 Real
(ASTM D323-73)
Reid Vapor Pressure VapReidVapPres4 Real
(ASTM D323-94)
Reid Vapor Pressure VapReidVapPres5 Real
(ASTM D4953-91)
Reid Vapor Pressure VapReidVapPres6 Real
(ASTM D5191-91)
Reid Vapor Pressure VapReidVapPres7 Real
(IDL Method)
Reid Vapor Pressure VapReidVapPres8 Real
(ASTM D323-82)
Flash Point VapFlashPoint Real
Gross Heating Value VapGrossHeatValue HVAL Real
Lower Heating Value VapLowerHeatValue HVAL Real
Gas Wobbe Index VapWobbeIndex Real
Rate of flow of C2+ VapC2Plus Real
Rate of flow of C3+ VapC3Plus Real
pH Value VapPH Real
Ionic Strength VapIonicStrength Real
Bulk Liquid properties, , Class = SrBulkProp
Temperature LiqTemp TEMP Real
Pressure LiqPres PRES Real
Liquid mole fraction LiqMoleFracOfTot Real
Mole flow rate LiqMoleRate MRAT Real
Molar enthalpy LiqEnthalpy ENTH Real

146 Appendix B
Entropy LiqEntropy ENTR Real
Molecular weight LiqMwOfPhase Real
UOP K-value LiqUOPKvalue Real
Acentric factor LiqAccenFactor Real
Tc LiqCritTemp TABS Real
Pc LiqCritPres PABS Real
Vc LiqCritVolume LIQV Real
Cv LiqCV CP Real
Cp LiqCP CP Real
Cp/Cv Ratio LiqCPCVRatio Real
Z from density LiqCritZFactor Real
Liquid density, Actual LiqDensityAct LDEN Real
Liquid density, Standard LiqDensityStd LDEN Real
Normal boiling point, LiqNBPMole TEMP Real
molal composition
Normal boiling point, LiqNBPWt TEMP Real
weight composition
Normal boiling point, LiqNBPVol TEMP Real
Volume composition
Thermal conductivity LiqThermalCond COND Real
Viscosity LiqViscosity VISC Real
Surface tension LiqSurfTension SURF Real
True Vapor Pressure LiqTrueVapPres PRES Real
Reid Vapor Pressure LiqReidVapPresN Real
(API NAPHTHA)
Reid Vapor Pressure LiqReidVapPresC Real
(API CRUDE)
Reid Vapor Pressure LiqReidVapPres3 Real
(ASTM D323-73)
Reid Vapor Pressure LiqReidVapPres4 Real
(ASTM D323-94)
Reid Vapor Pressure LiqReidVapPres5 Real
(ASTM D4953-91)
Reid Vapor Pressure LiqReidVapPres6 Real
(ASTM D5191-91)
Reid Vapor Pressure LiqReidVapPres7 Real
(IDL Method)
Reid Vapor Pressure LiqReidVapPres8 Real
(ASTM D323-82)
Flash Point LiqFlashPoint TEMP Real
Gross Heating Value LiqGrossHeatValue HVAL Real
Lower Heating Value LiqLowerHeatValue HVAL Real
Gas Wobbe Index LiqWobbeIndex Real
Rate of flow of C2+ LiqC2Plus Real US Gallons/100 Std. FT3
Rate of flow of C3+ LiqC3Plus Real US Gallons/100 Std. FT3
pH Value LiqPH Real
Ionic Strength LiqIonicStrength Real
Dry Stream Total Properties, Class = SrDecProp
Temperature HCTotTemp TEMP Real
Pressure HCTotPres PRES Real
Mole fraction HCTotMoleFracOfTot Real
Mole flow rate HCTotMoleRate MRAT Real
Molar enthalpy HCTotEnthalpy ENTH Real
Molar entropy HCTotEntropy ENTR Real
Molecular weight HCTotMwOfPhase Real

PRO II COM Server Reference Guide 147


Acentric factor HCTotAccenFactor Real
Tc HCTotCritTemp TABS Real
Pc HCTotCritPres PABS Real
Vc HCTotCritVolume LIQV Real
Z from density HCTotCritZFactor Real
Heat capacity, HCTotCP CP Real
Constant pressure
Heat capacity, HCTotCV CP Real
Constant volume
Cp/Cv ratio HCTotCPCVRatio Real
UOP K value HCTotUOPKvalue Real
Density, Standard HCTotDensityStd DENS Real
Density, Actual HCTotDensityAct DENS Real
Thermal conductivity HCTotThermalCond COND Real
Surface tension HCTotSurfTension SURF Real
Viscosity HCTotViscosity VISC Real
Normal boiling point, HCTotNBPMole TEMP Real
molal composition
Normal boiling point, HCTotNBPWt TEMP Real
weight composition
Normal boiling point, HCTotNBPVol TEMP Real
Volume composition
True Vapor Pressure HCTotTrueVapPres PRES Real
Reid Vapor Pressure HCTotReidVapPresN Real
(API NAPHTHA)
Reid Vapor Pressure HCTotReidVapPresC Real
(API CRUDE)
Reid Vapor Pressure HCTotReidVapPres3 Real
(ASTM D323-73)
Reid Vapor Pressure HCTotReidVapPres4 Real
(ASTM D323-94)
Reid Vapor Pressure HCTotReidVapPres5 Real
(ASTM D4953-91)
Reid Vapor Pressure HCTotReidVapPres6 Real
(ASTM D5191-91)
Reid Vapor Pressure HCTotReidVapPres7 Real
(IDL Method)
Flash Point HCTotFlashPoint TEMP Real
Gross Heating Value HCTotGrossHeatValue HVAL Real
Lower Heating Value HCTotLowerHeatValue HVAL Real
Gas Wobbe Index HCTotWobbeIndex Real
Rate of flow of C2+ HCTotC2Plus Real US Gallons/100 Std. FT3
Rate of flow of C3+ HCTotC3Plus Real US Gallons/100 Std. FT3
pH Value HCTotPH Real
Ionic Strength HCTotIonicStrength Real
Dry Stream Vapor Properties, Class = SrDecProp
Temperature HCVapTemp TEMP Real
Pressure HCVapPres PRES Real
Vapor mole fraction HCVapMoleFracOfTot Real
Mole flow rate HCVapMoleRate MRAT Real
Molar enthalpy HCVapEnthalpy ENTH Real
Molar Entropy HCVapEntropy ENTR Real
Molecular weight HCVapMwOfPhase Real
Acentric factor HCVapAccenFactor Real
UOP K-Value HCVapUOPKvalue Real

148 Appendix B
Crictical temperature HCVapCritTemp TABS Real
Critical Pressure HCVapCritPres PRES Real
Critical Volume HCVapCritVolume VAPV Real
Critical Z HCVapCritZFactor Real
Density, Actual HCVapDensityAct VDEN Real
Density, standard HCVapDensityStd VDEN Real
Normal boiling point, HCVapNBPMole TEMP Real
molal composition
Normal boiling point, HCVapNBPWt TEMP Real
weight composition
Normal boiling point, HCVapNBPVol TEMP Real
Volume composition
Heat capacity, constant HCVapCP CP Real
pressure
Heat capacity, constant HCVapCV CP Real
volume
Cp/Cv ratio HCVapCPCVRatio Real
Viscosity HCVapViscosity VISC Real
Thermal conductivity HCVapThermalCond COND Real
Surface Tension HCVapSurfTension SURF Real
True Vapor Pressure HCVapTrueVapPres PRES Real
Reid Vapor Pressure HCVapReidVapPresN Real
(API NAPHTHA)
Reid Vapor Pressure HCVapReidVapPresC Real
(API CRUDE)
Reid Vapor Pressure HCVapReidVapPres3 Real
(ASTM D323-73)
Reid Vapor Pressure HCVapReidVapPres4 Real
(ASTM D323-94)
Reid Vapor Pressure HCVapReidVapPres5 Real
(ASTM D4953-91)
Reid Vapor Pressure HCVapReidVapPres6 Real
(ASTM D5191-91)
Reid Vapor Pressure HCVapReidVapPres7 Real
(IDL Method)
Flash Point HCVapFlashPoint TEMP Real
Gross Heating Value HCVapGrossHeatValue HVAL Real
Lower Heating Value HCVapLowerHeatValue HVAL Real
Gas Wobbe Index HCVapWobbeIndex Real
Rate of flow of C2+ HCVapC2Plus Real US Gallons/100 Std. FT3
Rate of flow of C3+ HCVapC3Plus Real US Gallons/100 Std. FT3

pH Value HCVapPH Real


Ionic Strength HCVapIonicStrength Real
Dry Stream Liquid Properties, Class = SrDecProp
Temperature HCLiqTemp TEMP Real
Pressure HCLiqPres PRES Real
Liquid mole fraction HCLiqMoleFracOfTot Real
Mole flow rate HCLiqMoleRate MRAT Real
Molar enthalpy HCLiqEnthalpy ENTH Real
Molar Entropy HCLiqEntropy ENTR Real
Molecular weight HCLiqMwOfPhase Real
Acentric factor HCLiqAccenFactor Real
UOP K-value HCLiqUOPKvalue Real
Tc HCLiqCritTemp TABS Real

PRO II COM Server Reference Guide 149


Pc HCLiqCritPres PABS Real
Vc HCLiqCritVolume LIQV Real
Cp HCLiqCP CP Real
Cv HCLiqCV CP Real
Cp/Cv Ratio HCLiqCPCVRatio Real
z from density HCLiqCritZFactor Real
Liquid density, Actual HCLiqDensityAct LDEN Real
Liquid density, HCLiqDensityStd LDEN Real
Standard
Normal boiling point, HCLiqNBPMole TEMP Real
molal composition
Normal boiling point, HCLiqNBPWt TEMP Real
weight composition
Normal boiling point, HCLiqNBPVol TEMP Real
Volume composition
Thermal conductivity HCLiqThermalCond COND Real
Viscosity HCLiqViscosity VISC Real
Surface tension HCLiqSurfTension SURF Real
True Vapor Pressure HCLiqTrueVapPres PRES Real
Reid Vapor Pressure HCLiqReidVapPresN Real
(API NAPHTHA)
Reid Vapor Pressure HCLiqReidVapPresC Real
(API CRUDE)
Reid Vapor Pressure HCLiqReidVapPres3 Real
(ASTM D323-73)
Reid Vapor Pressure HCLiqReidVapPres4 Real
(ASTM D323-94)
Reid Vapor Pressure HCLiqReidVapPres5 Real
(ASTM D4953-91)
Reid Vapor Pressure HCLiqReidVapPres6 Real
(ASTM D5191-91)
Reid Vapor Pressure HCLiqReidVapPres7 Real
(IDL Method)
Flash Point HCLiqFlashPoint TEMP Real
Gross Heating Value HCLiqGrossHeatValue HVAL Real
Lower Heating Value HCLiqLowerHeatValue HVAL Real
Gas Wobbe Index HCLiqWobbeIndex Real
Rate of flow of C2+ HCLiqC2Plus Real US Gallons/100 Std. FT3
Rate of flow of C3+ HCLiqC3Plus Real US Gallons/100 Std. FT3
pH Value HCLiqPH Real
Ionic Strength HCLiqIonicStrength Real
Decanted Phase Properties, Class = SrDecProp
Temperature DecWatTemp TEMP Real
Pressure DecWatPres PRES Real
Liquid mole fraction DecWatMoleFracOfTot Real
Mole flow rate DecWatMoleRate MRAT Real
Molar enthalpy DecWatEnthalpy ENTH Real
Molar Entropy DecWatEntropy ENTR Real
Molecular weight DecWatMwOfPhase Real
Acentric factor DecWatAccenFactor Real
UOP K-Value DecWatUOPKvalue Real
Tc DecWatCritTemp TABS Real
Pc DecWatCritPres PABS Real
Vc DecWatCritVolume LIQV Real
Cp DecWatCP CP Real

150 Appendix B
Cv DecWatCV CP Real
Cp/Cv Ratio DecWatCPCVRatio Real
z from density DecWatCritZFactor Real
Liquid density, Actual DecWatDensityAct DENS Real
Liquid density, DecWatDensityStd DENS Real
Standard
Normal boiling point, DecWatNBPMole TEMP Real
molal composition
Normal boiling point, DecWatNBPWt TEMP Real
weight composition
Normal boiling point, DecWatNBPVol TEMP Real
Volume composition
Thermal conductivity DecWatThermalCond COND Real
Viscosity DecWatViscosity VISC Real
Surface tension DecWatSurfTension SURF Real
True Vapor Pressure DecWatTrueVapPres PRES Real
Reid Vapor Pressure DecWatReidVapPresN Real
(API NAPHTHA)
Reid Vapor Pressure DecWatReidVapPresC Real
(API CRUDE)
Reid Vapor Pressure DecWatReidVapPres3 Real
(ASTM D323-73)
Reid Vapor Pressure DecWatReidVapPres4 Real
(ASTM D323-94)
Reid Vapor Pressure DecWatReidVapPres5 Real
(ASTM D4953-91)
Reid Vapor Pressure DecWatReidVapPres6 Real
(ASTM D5191-91)
Reid Vapor Pressure DecWatReidVapPres7 Real
(IDL Method)
Flash Point DecWatFlashPoint TEMP Real
Gross Heating Value DecWatGrossHeatValue HVAL Real
Lower Heating Value DecWatLowerHeatValue HVAL Real
Gas Wobbe Index DecWatWobbeIndex Real
Rate of flow of C2+ DecWatC2Plus Real US Gallons/100 Std. FT3
Rate of flow of C3+ DecWatC3Plus Real US Gallons/100 Std. FT3
pH Value DecWatPH Real
Ionic Strength DecWatIonicStrength Real

PRO II COM Server Reference Guide 151


Table 4.1 Flash Unit Operation
Read an attribute: FlashObject.GetAttribute(AttributeName, Index)
Write an attribute: FlashObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Flash Documentation, Class = Flash
Descriptive name UnitName Char 40 char max
Flash Conditions, Class = Flash
Flash type Type InT 1 – Isothermal
2 – Adiabatic
3 – Isentropic
8 – Dew
9 – Water Dew
10 – HC Dew
11 – Bubble
12 – Spec
Temperature TempIn TEMP Real
Pressure PressIn PRES Real
Pressure Drop PressDropIn PDIF Real
Duty DutyIn DUTY Real
Initial pressure estimate PressEst PRES Real
Initial temperature TempEst TEMP Real
estimate
Method MethodData 0 Meth ID Use element 0
Feeds, Class = Flash
Number of feeds CurrentFeeds InT
Feed StreamIDs FeedData 0 to N-1 STream N=CurrentFeeds
ID
Products, Class = Flash
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 to N-1 STream N=CurrentProducts
ID
Product stream phases ProductStoreData 0 to N-1 InT 1-Vapor
2-Liquid
3-Solid
4-Mixed
Entrainment, Class = Flash
Count EntrainmentCount InT
IDs (Names) EntrNames 0 to N-1 Char N=EntrainmentCount
From phase EntrFromPhase 0 to N-1 InT 1-Vapor
2-Liquid
3-Solid
4-Decant Water
To phase EntrToPhase 0 to N-1 InT 1-Vapor
2-Liquid
3-Solid
4-Decant Water
Fraction or percent or EntrType 0 to N-1 InT 1-Rate
rate 2-Fraction
3-Percent
Basis EntrBasis 0 to N-1 InT 1-Molar
2-Weight
3-Liquid Volume
4-Gas Volume
Value EntrValues MRAT WTRA Real Units depends on
LVRA GVRA EntrBasis

152 Appendix B
Table 4.1 Flash Unit Operation
Read an attribute: FlashObject.GetAttribute(AttributeName, Index)
Write an attribute: FlashObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Specification,
Class = Flash
Specification Present CurrentSpecs InT 0-No specification
1-Specification present
Specification Name SpecData 0 Char Use element 0
Specification,
Class = Spec
Specification Value SpecValue Real
Absolute tolerance value AbsTol Real
Relative tolerance value RelTol Real
Calculated
Properties
Flash Conditions,
Class = Flash
Temperature TempCalc TEMP Real
Pressure PressCalc PRES Real
Duty DutyCalc DUTY Real
Pressure drop PressGainCalc PDIF Real
Specification,
Class = Spec
Calculated spec value SpecValueCalc Real
Entrainment,
Class = Flash
Entrained molar rates EntrMolarRates 0 to N-1 Real N=EntrainmentCount
Entrained weight rates EnteightRates 0 to N-1 Real
Combined Streams
(InTernal), Class =
Flash
InTernal feed StreamID MergedFeed 0 STream Use element 0
ID
InTernal product MergedProduct 0 STream Use element 0
StreamID ID
Combined Stream
Properties
(InTernal), Class =
Stream
Temperature Temperature TEMP Real
Pressure Pressure PRES Real
Enthalpy TotalMolarEnthalpy ENTH Real
Entropy TotalMolarEntropy ENTR Real
Cp VaporMolarCp CP Real
All standard stream properties like Mole Fractions, Weight Fractions of various phases are accessible via the standard Stream
Class. See Table 3-1

PRO II COM Server Reference Guide 153


Table 4.2 Pump Unit Operation
Read an attribute: PumpObject.GetAttribute(AttributeName, Index)
Write an attribute: PumpObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Pump Documentation, Class = Pump
Descriptive name UnitName Char 40 char max
Pump Conditions, Class = Pump
Pressure PressIn PRES Real
Pressure gain PressGainIn PDIF Real
Pressure ratio PressRatioIn Real P(out)/P(in) in abs units
Efficiency EffIn FRAC Real Pump efficiency in %.
Method MethodData 0 Meth ID Use element 0
Feeds, Class = Pump
Number of feeds CurrentFeeds InT
Feed StreamIDs FeedData 0 to N-1 STream N=CurrentFeeds
ID
Products, Class = Pump
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 to N-1 STream N=CurrentProducts
ID
Product stream phases ProductStoreData 0 to N-1 InT 1-Vapor
2-Liquid
3-Solid
4-Mixed
Calculated Properties
Pump Conditions, Class = Pump
Temperature TempCalc TEMP Real
Pressure PressCalc PRES Real
Duty DutyCalc DUTY Real
Pressure gain PressGainCalc PDIF Real
Pressure ratio PressRatioCalc Real
Work WorkCalc WORK Real
Head HeadCalc LENG Real
Efficiency EffCalc FRAC Real Pump efficiency in %.
Total inlet volumetric FlowInletCalc LVRA Real
flowrate
Total outlet volumetric FlowOutletCalc LVRA Real
flowrate
Combined Streams (InTernal), Class = Pump
InTernal feed StreamID MergedFeed 0 STream Use element 0
ID
InTernal product MergedProduct 0 STream Use element 0
StreamID ID
Combined Stream Properties (InTernal), Class = Stream
Temperature Temperature TEMP Real
Pressure Pressure PRES Real
Enthalpy TotalMolarEnthalpy ENTH Real
Entropy TotalMolarEntropy ENTR Real
Cp VaporMolarCp CP Real
All standard stream properties like Mole Fractions, Weight Fractions of various phases are accessible via the standard
Stream Class. See Table: 3-1

154 Appendix B
Table 4.3 Valve Unit Operation
Read an attribute: ValveObject.GetAttribute(AttributeName, Index)
Write an attribute: ValveObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Valve Documentation, Class = Valve
Descriptive name UnitName Char 40 char max
Valve Conditions, Class = Valve
Pressure PressIn PRES Real
Pressure drop PressDropIn PDIF Real
Method MethodData 0 Meth ID Use element 0
Feeds, Class = Valve
Number of feeds CurrentFeeds InT
Feed StreamIDs FeedData 0 to N-1 STream N=CurrentFeeds
ID
Products, Class = Valve
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 to N-1 STream N=CurrentProducts
ID
Product stream phases ProductStoreData 0 to N-1 InT 1-Vapor
2-Liquid
3-Solid
4-Mixed
Calculated Properties
Valve Conditions, Class = Valve
Temperature TempCalc TEMP Real
Pressure PressCalc PRES Real
Pressure drop PressDropCalc PDIF Real
Combined Streams (InTernal), Class = Valve
InTernal feed StreamID MergedFeed 0 STream Use element 0
ID
InTernal product MergedProduct 0 STream Use element 0
StreamID ID
Combined Stream Properties (InTernal), Class = Stream
Temperature Temperature TEMP Real
Pressure Pressure PRES Real
Enthalpy TotalMolarEnthalpy ENTH Real
Entropy TotalMolarEntropy ENTR Real
Cp VaporMolarCp CP Real
All standard stream properties like Mole Fractions, Weight Fractions of various phases are accessible via the standard
Stream Class. See Table: 3-1

PRO II COM Server Reference Guide 155


Table 4.4 Mixer Unit Operation
Read an attribute: MixerObject.GetAttribute(AttributeName, Index)
Write an attribute: MixerObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Mixer Documentation, Class = Mixer
Descriptive name UnitName Char 40 char max
Mixer Conditions, Class = Mixer
Pressure PressIn PRES Real
Pressure drop PressDropIn PDIF Real
Method MethodData 0 Meth ID Use element 0
Feeds, Class = Mixer
Number of feeds CurrentFeeds InT
Feed StreamIDs FeedData 0 to N-1 STream N=CurrentFeeds
ID
Products, Class = Mixer
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 to N-1 STream N=CurrentProducts
ID
Product stream phases ProductStoreData 0 to N-1 InT 1-Vapor
2-Liquid
3-Solid
4-Mixed
Calculated Properties
Mixer Conditions, Class = Mixer
Temperature TempCalc TEMP Real
Pressure PressCalc PRES Real
Pressure drop PressDropCalc PDIF Real
Combined Streams (InTernal), Class = Mixer
InTernal feed StreamID MergedFeed 0 STream Use element 0
ID
InTernal product MergedProduct 0 STream Use element 0
StreamID ID
Combined Stream Properties (InTernal), Class = Stream
Temperature Temperature TEMP Real
Pressure Pressure PRES Real
Enthalpy TotalMolarEnthalpy ENTH Real
Entropy TotalMolarEntropy ENTR Real
Cp VaporMolarCp CP Real
All standard stream properties like Mole Fractions, Weight Fractions of various phases are accessible via the standard
Stream Class. See Table Table: 3-1

156 Appendix B
Table 4.5 Splitter Unit Operation
Read an attribute: SplitterObject.GetAttribute(AttributeName, Index)
Write an attribute: SplitterObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Splitter Documentation, Class = Splitter
Descriptive name UnitName Char 40 char max
Splitter Conditions, Class = Splitter
Pressure PressIn PRES Real
Pressure drop PressDropIn PDIF Real
Insufficient feed rate InT 1-Noramlize
option 2-Fill
Method MethodData 0 Meth ID Use element 0
Feeds, Class = Splitter
Number of feeds CurrentFeeds InT
Feed StreamIDs FeedData 0 to N-1 STream N=CurrentFeeds
ID
Products, Class = Splitter
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 to N-1 STream N=CurrentProducts
ID
Product stream phases ProductStoreData 0 to N-1 InT 1-Vapor
2-Liquid
3-Solid
4-Mixed
Specifications, Class = Splitter
Number of Specifications CurrentSpecs InT
Specification object Ids SpecData 0 to N-1 Spec ID N=CurrentSpecs
Specifications, Class = Spec
Specification value SpecValue Real Input value associated
with SpecData
Calculated Properties
Specifications, Class = Spec
Specification value SpecValueCalc Real Calculated value
associated with
SpecData
Splitter Conditions, Class = Splitter
Temperature TempCalc TEMP Real
Pressure PressCalc PRES Real
Pressure drop PressDropCalc PDIF Real
Stream split fractions SpecValCalc 0 to N-1 InT N=CurrentProducts
Combined Streams (InTernal), Class = Splitter
InTernal feed StreamID MergedFeed 0 STream Use element 0
ID
InTernal product MergedProduct 0 STream Use element 0
StreamID ID
Combined Stream Properties (InTernal), Class = Stream
Temperature Temperature TEMP Real
Pressure Pressure PRES Real

PRO II COM Server Reference Guide 157


Table 4.5 Splitter Unit Operation
Read an attribute: SplitterObject.GetAttribute(AttributeName, Index)
Write an attribute: SplitterObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Enthalpy TotalMolarEnthalpy ENTH Real

Entropy TotalMolarEntropy ENTR Real


Cp VaporMolarCp CP Real
All standard stream properties like Mole Fractions, Weight Fractions of various phases are accessible via the standard
Stream Class. See Table: 3-1

158 Appendix B
Table 4.6 Compressor Unit Operation
Read an attribute: CompressorObject.GetAttribute(AttributeName, Index)
Write an attribute: CompressorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Compressor Documentation, Class = Compressor
Descriptive name UnitName Char 40 char max
Compressor Conditions, Class = Compressor
Pressure PressOutletIn PRES Real
Pressure gain PressGainIn PDIF Real
Pressure ratio PressRatioIn Real
Inlet pressure PressInletIn PRES Real
Design pressure PressDesignIn PRES Real
Work WorkIn WORK Real
Work tolerance WorkTolIn Real
Adiabatic efficiency EffAdiaIn FRAC Real
Polytropic efficiency EffPolyIn FRAC
Outlet temperature TempIn TEMP
Estimated outlet TempEstIn TEMP Real
temperature
Calculation method CalcMethodFlag InT 1-GPSA,
2-ASME (default)
Calculation pressure PressRatioSwitch Real Default = 1.15
switch
RPMs RPMIn Real
Reference RPMs RefRPMIn Real
Fan law H HeadExpoIn Real Exponent used in the
fan laws when HEAD
preformance curves are
supplied. (Default = 2.0)
Fan law E EffExpoIn Real Exponent used in the
fan laws when tabular
efficiency curve data is
supplied. (Default = 1.0)
Method MethodData 0 Meth ID Use element 0
Performance Curves, Class = Compressor
Curve type PerCurveType InT 1 – Head
2 – Work
3 – Outlet pressure
4 – Pressure ratio
Number of points on curve PerCurveLength InT
Flowrate at each point PerCurveFlowRates 0 to N-1 GVRA Real N=PerCurveLength
Value of curve at each point PerCurveValues 0 to N-1 Real N=PerCurveLength
Curve basis (for Head and PerCurveBasis 1 – Adiabatic
Work curve types) 2 – Polytropic
3 – Actual
0 – for pressure curves

PRO II COM Server Reference Guide 159


Table 4.6 Compressor Unit Operation
Read an attribute: CompressorObject.GetAttribute(AttributeName, Index)
Write an attribute: CompressorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Efficiency Curves, Class = Compressor

Single/Multiple curves MultEffCurveFlag Single – value <= 0


switch Multi – value >= 1
Efficiency Curve Type EffCurveType InT 1 – Adiabatic
2 – Polytropic
Number of efficiency PressCount Single – value = 1
curves at unique Multi – value >=2
pressures
Pressure type PressCurvePType 0 to M-1 InT M=PressCount
1 – Outlet pressure
2 – Inlet Pressure
All elements have the
same value.
Pressure values EffCurvePressValues 0 to M-1 PRES Real M=PressCount
User pressure curve PressCurveOrder 0 to M-1 InT M=PressCount
order In the expression
I = PressCurveOrder(j)
j is the curve number
sorted in order of
pressure, and I is the
curve number in order
input by the user.
Number of points on PresskLength 1 to M InT The “k” in
pressure curve PresskLength takes on
the value of 1 for a
single curve, and the
curve number for
multiple curves in user
input order
Flowrates EffCurvekFlowRates 0 to N-1 GVRA Real N=PresskLength
The “k” in
EffCurveFlowRates
takes on the value of 1
for single curve, and
the curve number (2 –
M) for multiple curves
in user input order.
Efficiency value EffCurvekValues 0 to N-1 Real N=PresskLength
The “k” in
EffCurvekValues takes
on the value of 1 for
single curve, and the
curve number (2 – M)
for multiple curves in
user input order.
Feeds, Class = Compressor
Number of feeds CurrentFeeds InT
Feed StreamIDs FeedData 0 to N-1 STream N=CurrentFeeds
ID
Products, Class = Compressor

160 Appendix B
Table 4.6 Compressor Unit Operation
Read an attribute: CompressorObject.GetAttribute(AttributeName, Index)
Write an attribute: CompressorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 to N-1 STream N=CurrentProducts
ID
Product stream phases ProductStoreData 0 to N-1 InT 1-Vapor
2-Liquid
3-Solid
4-Mixed
Aftercooler, Class = Compressor
Aftercooler presence AfterCoolerFlag InT 0 - Aftercooler not
present
1 – Aftercooler present
Aftercooler outlet AcTempIn TEMP Real
tempereature
Aftercooler pressure drop AcPressDropIn PDIF Real

Calculated Properties
Compressor Conditions, Class = Compressor
Temperature TempCalc TEMP Real
Pressure PressCalc PRES Real
Pressure gain PressGainCalc PDIF Real
Pressure ratio PressRatioCalc Real
Actual volumetric flowrate ActVolVapFlow GVRA Real
at inlet
CV
- at inlet CVFrmAdiaFlshFd CP Real
- at outlet CVFrmAdiaFlshPrd CP Real
Compressibility Factor
- at inlet CompressFactIn Real
- at outlet CompressFactOut Real
Operating speed RPMCalc Real
Reference operating RefRPMCalc Real
speed
Fan Law exponent - eff EffExpoCalc Real
Fan Law exponent - head HeadExpoCalc Real
Efficiency
- adiabatic EffAdiaCalc Real
- polytropic EffPolyCalc Real
Head
- adiabatic AdiabaticHead LENG Real
- polytropic PolytropicHead LENG Real
- actual HeadCalc LENG Real
Work
- theoretical WorkTheoCalc WORK Real
- polytropic WorkPolyCalc WORK Real
- actual WorkActualCalc WORK Real
Isentropic coefficient, K IsenCoeffCalc Real
Polytropic coefficient, N PolyCoeffCalc Real
ASME "F" factor FValForAsmeOpt Real
Aftercooler

PRO II COM Server Reference Guide 161


Table 4.6 Compressor Unit Operation
Read an attribute: CompressorObject.GetAttribute(AttributeName, Index)
Write an attribute: CompressorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
- duty AcDutyCalc DUTY Real
- outlet temperature AcTempCalc TEMP Real
- pressure drop AcPressDropCalc PDIF Real
Combined Streams (InTernal), Class = Compressor
InTernal feed StreamID MergedFeed STream
ID
Adiabatic flash result at FeedAdiaStrmID STream
compressor outlet ID
pressure
Isentropic flash result at FeedIsenStrmID STream
compressor outlet ID
pressure
Product from compressor, ProdAdiaStrmID STream
before aftercooler if ID
present
Aftercooler product AcStrmID STream
ID
InTernal product MergedProduct STream Will yield same results
StreamID ID as ProdAdiaStrmID if
no aftercooler, or
AcStrmID if aftercooler
is present
Combined Stream Properties (InTernal), Class = Stream
Temperature Temperature TEMP Real
Pressure Pressure PRES Real
Enthalpy TotalMolarEnthalpy ENTH Real
Entropy TotalMolarEntropy ENTR Real
Cp VaporMolarCp CP Real
All standard stream properties like Mole Fractions, Weight Fractions of various phases are accessible via the standard
Stream Class. See Table: 3-1

162 Appendix B
Table 4.7 Expander Unit Operation
Read an attribute: ExpanderObject.GetAttribute(AttributeName, Index)
Write an attribute: ExpanderObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Expander Documentation, Class = Expander
Descriptive name UnitName Char 40 char max
Expander Conditions, Class = Expander
Pressure PressOutletIn PRES Real
Pressure gain PressGainIn PDIF Real
Pressure ratio PressRatioIn Real
Inlet pressure PressInletIn PRES Real
Design pressure PressDesignIn PRES Real
Work WorkIn WORK Real
Work tolerance WorkTolIn Real
Adiabatic efficiency EffAdiaIn FRAC Real
Estimated outlet TempEstIn TEMP Real
temperature
Method MethodData 0 Meth ID Use element 0
Feeds, Class = Expander
Number of feeds CurrentFeeds InT
Feed StreamIDs FeedData 0 to N-1 STream N=CurrentFeeds
ID
Products, Class = Expander
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 to N-1 STream N=CurrentProducts
ID
Product stream phases ProductStoreData 0 to N-1 InT 1-Vapor
2-Liquid
3-Solid
4-Mixed
Calculated Properties
Expander Conditions, Class = Expander
Temperature TempOutletCalc TEMP Real
Pressure PressOutCalc PRES Real
Pressure drop PressDropCalc PDIF Real
Pressure ratio PressRatioCalc Real
Actual volumetric flowrate VolFlowVapInlet GVRA Real
at inlet
Adiabatic efficiency EffAdiaCalc FRAC Real
Head HeadCalc LENG Real
Work - Theoretical WorkTheoCalc WORK Real
Work - Actual WorkActualCalc WORK Real
Compressibility Factor CompressFactIn Real
- Inlet
Compressibility Factor CompressFactOut Real
- Outlet
Isentropic/Polytropic IsenPolyExp Real
exponent
Combined Streams (InTernal), Class = Expander
InTernal feed StreamID MergedFeed 0 STream Use element 0
ID
InTernal product MergedProduct 0 STream Use element 0
StreamID ID
PRO II COM Server Reference Guide 163
Table 4.7 Expander Unit Operation
Read an attribute: ExpanderObject.GetAttribute(AttributeName, Index)
Write an attribute: ExpanderObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Combined Stream Properties (InTernal), Class = Stream
Temperature Temperature TEMP Real
Pressure Pressure PRES Real
Enthalpy TotalMolarEnthalpy ENTH Real
Entropy TotalMolarEntropy ENTR Real
Cp VaporMolarCp CP Real
All standard stream properties like Mole Fractions, Weight Fractions of various phases are accessible via the standard
Stream Class. See Table: 3-1

164 Appendix B
Table 4.8 Pipe Unit Operation
Read an attribute: PipeObject.GetAttribute(AttributeName, Index)
Write an attribute: PipeObject.PutAttribute(value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Pipe Documentation, Class = Pipe
Descriptive name UnitName Char 40 char max
Pipe Configuration, Class = Pipe
Inside Diameter LineInsideDiam FLEN Real
NPS
- Size NominalPipeSize Real
- Schedule PipeSchedule Real
Length LineLength LENG InT
Number of Segments NumSegments Real
Elevation gain NetChangeInElevn LENG Real
Flow efficiency LineFlowEffic PCT Real
Moody friction factor LineFrictFactor Real
Absolute roughness AbsLineRoughness FLEN Real
Relative roughness RelLineRoughness Real
Allowable Diameters for Sizing, Class = Pipe
Number of Pipe sizes NumSizes InT
supplied
Available diameters SizingPipeInTDiam 0 to N-1 FLEN Real N=NumSizes
Available NPS SizingNomPipeSize 0 to N-1 Real Value in inches
Available schedule values SizingPipeSchedules 0 to N-1 InT
Process Conditions, Class = Pipe
Duty HeatDuty DUTY Real
U HeatTransfCoeff HTCO Real
Ambient temperature AmbientTemperature TEMP Real
Isothermal operation IsothermalFlag InT Missing – Exit
temperature includes
heat transfer
1 - Outlet temperature
will be the same as the
inlet temperature and
PRO/II automatically
calculates the required
duty.
Pressure drop correlation PressDropCorrelation InT 1 – Beggs-Brill-Moody
2 – Olimens
3 – Dukler-Eaton-
Flanigan
4 – Gray
5 – Hagedorn-Brown
6 – Mukherjee-Brill
7 – Beggs-Brill-Moody
w/Palmer mod
8 – User supplied
correlation 1
9 – User supplied
correlation 2
10 – Proprietary user
11 – Proprietary user
Pressure drop estimate DeltaPEstimate PDIF Real

PRO II COM Server Reference Guide 165


Table 4.8 Pipe Unit Operation
Read an attribute: PipeObject.GetAttribute(AttributeName, Index)
Write an attribute: PipeObject.PutAttribute(value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Pressure drop tolerance DPRelConvergToler Real
Disable acceleration AccelTermFlag InT Missing – Not disabled
pressure gradient calcs 1 – Disabled
Calculate pressure from BackwardDPCalcFlag InT Missing – Calc in foard
outlet to inlet direction
1 – Calc from outlet to
inlet
Fittings factor FittingResisCoeff Real
Maximum allowable SizingDeltaP PDIF Real
pressure drop
Maximum allowable SizingMaxVelocity VELO Real
velocity
Minimum allowable SizingMinPress PRES Real
pressure
Method MethodData 0 Meth ID Use element 0
Feeds, Class = Pipe
Number of feeds CurrentFeeds InT
Feed StreamIDs FeedData 0 to N-1 STream N=CurrentFeeds
ID
Products, Class = Pipe
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 to N-1 STream N=CurrentProducts
ID
Product stream phases ProductStoreData 0 to N-1 InT 1-Vapor
2-Liquid
3-Solid
4-Mixed
Calculated Properties
Duty HeatDutyCalc DUTY Real
Pressure drop
- Line friction PresDropLineFric PDIF Real
- Elevation PresDropElev PDIF Real
- Acceleration PresDropAccel PDIF Real
- Fitting PresDropFitting PDIF Real
- Total PresDropTotalLine PDIF Real
Maximum line fluid LineMaxVelocCalc PDIF Real
velocity
Average fluid velocity UnitAvVelCalc VELO Real
Inside diameter LineInsideDiamCalc VELO Real
Line length LineLengthCalc FLEN Real
Fittings factor LineAverFricFact Real
Average Reynold's LineAverReyNum Real
Number
Absolute roughness AbsLineRoughnessCalc Real
Relative roughness RelLineRoughnessCalc Real
Flow efficiency LineFlowEfficCalc Real
Temperature
- Inlet TempInlet TEMP Real
- Outlet TempOutlet TEMP Real
Pressure
- Inlet PressInlet PRES Real

166 Appendix B
Table 4.8 Pipe Unit Operation
Read an attribute: PipeObject.GetAttribute(AttributeName, Index)
Write an attribute: PipeObject.PutAttribute(value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
- Outlet PressOutlet PRES Real
Mole fraction liquid
- Inlet MolFracLiqInlet Real
- Outlet MolFracLiqOutlet Real
Average Velocity
- Inlet VelocAvgInlet VELO Real
- Outlet UnitAvVelCalc VELO Real
Slip density
- Inlet SlipDensInlet LDEN Real
- Outlet SlipDensOutlet LDEN Real
Slip liquid holdup fraction
(Vol/Vol)
- Outlet SlipLiqHoldupOutlet Real
- Inlet SlipLiqHoldupInlet Real
Taitel-Dunkelr-Barnea
flow regime
- Inlet FlowRegimeInlet InT 1 – Stratified Smooth
- Outlet FlowRegimeOutlet InT 2 – Stratified Wavy
3 – InTermittent
4 – Disprs Bubble
5 – Annular
6 – Bubble
7 – Churn
8 – Single Phase
Combined Streams (InTernal), Class = Pipe
InTernal feed StreamID MergedFeed 0 STream Use element 0
ID
InTernal product MergedProduct 0 STream Use element 0
StreamID ID
Combined Stream Properties (InTernal), Class = Stream
Temperature Temperature TEMP Real
Pressure Pressure PRES Real
Enthalpy TotalMolarEnthalpy ENTH Real
Entropy TotalMolarEntropy ENTR Real
Cp VaporMolarCp CP Real
All standard stream properties like Mole Fractions, Weight Fractions of various phases are accessible via the standard
Stream Class. See Table: 3-1

PRO II COM Server Reference Guide 167


Table 4.9 Blend Unit Operation
Read an attribute: BlendObject.GetAttribute(AttributeName, Index)
Write an attribute: BlendObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Documentation, Class = UAS
Descriptive name UnitName Char 40 char max
Conditions, Class = UAS
Pressure PressIn 1 Real
Temperature RparmDataIn 0 Real
Method MethodData 0 Meth ID Use element 0
Feeds, Class = UAS
Number of feeds CurrentFeeds InT
Feed StreamIDs FeedData 0 to N-1 STream N=CurrentFeeds
ID
Products, Class = UAS
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 STream
ID
Product stream phase ProductStoreData 0 InT 1-Vapor
2-Liquid
3-Solid
4-Mixed
Calculated Properties
Combined Stream Properties (InTernal), Class = Stream
Temperature Temperature TEMP Real
Pressure Pressure PRES Real
Enthalpy TotalMolarEnthalpy ENTH Real
Entropy TotalMolarEntropy ENTR Real
Cp VaporMolarCp CP Real
All standard stream properties like Mole Fractions, Weight Fractions of various phases are accessible via the standard
Stream Class. See Table: 3-1

168 Appendix B
Table 5.1 Column Unit Operation
Read an attribute: Value=ColumnObject.GetAttribute(AttributeName, Index)
Write an attribute: ColumnObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Documentation, Class = ColumnIn
Descriptive name UnitName Char 40 char max
Parameter, Class = ColumnIn
Side or main ColumnType InT 0 – Main Column
3 – Side Column
Number of trays NumberOfTrays
Solution method CalculationMethod InT 1 – Sure Method
2 – not used in PRO/II
3 - IO, Enhanced IO
4 – Chemdist ,
Liquid/liquid
extraction, Reactive
distillation
Maximum number of ColMaxIter InT
iterations allowed
Error increase factor MaxErrorCheckRatio Real
Damping DampingFactor Real
SURE method stop level InT
Component averaging CompositionAveraging InT
level
SURE key component KeyComponent CompI
D
Freewater flag FreeWaterFlag InT 0 – water can be
decanted only on the
top tray or condenser
1 – free water can exist
anywhere in the
column
Cutoff factor CutoffErrorSum
Feeds, Class = ColumnIn
Number of feeds CurrentFeeds InT Number of feeds,
including returns from
side columns.
Feed StreamIDs FeedData 0 to NF -1 STream NF=CurrentFeeds
ID
Feed tray numbers FeedTrays 0 to NF -1 InT
Feed separate flag FeedSeparateFlag InT 0 – Feeds are not
separated
1 – Feeds are
separated, vapor into
the tray above
Products, Class = ColumnIn
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 to NP - 1 STream NP =CurrentProducts
ID
Product tray numbers ProdTrays 0 to NP - 1 InT

PRO II COM Server Reference Guide 169


Table 5.1 Column Unit Operation
Read an attribute: Value=ColumnObject.GetAttribute(AttributeName, Index)
Write an attribute: ColumnObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Product type ProdType 0 to NP - 1 InT 1 - vapor draw
2 - liq draw
3 - overhead vapor
(partial condenser
type)
4 - overhead liquid
(total condenser
type)
5 - bottoms
6 - water decant
11 - L1 total draw
12 - L2 total draw
13 - L1 partial draw
14 - L2 partial draw
15 - L1 overhead prod
16 - L2 overhead prod
Product rate estimates ProdRateEstimates 0 to NP - 1 Real
Basis for product ProdRateBasis 0 to NP - 1 InT 1 – Mole
estimates 2 – Weight
3 – Standard liquid
volume
4 – Standard gas
volume
Number of pseudo- NumberOfTflowStreams InT Does not include
products pseudostreams related
to thermosiphon
reboilers
Tray number for pseudo- TFlowTrayNum 0 to NPs - 1 InT NPs =
products NumberOfTflowStreams
Pseudo-products ids TFlowStreamIDs 0 to NPs - 1 StreamI
D
Net or total flow flag for TFlowNetOrTotalFlag 0 to NPs - 1 InT 0 – Net flow
pseudo-products 1 – Total flow
Phase flag for pseudo- TFlowPhaseFlag 0 to NPs - 1 InT 1 – Vapor
products 2 - Liquid
Condenser, Class = ColumnIn
Condenser flag CondenserType InT 0 - No condenser
1 - Partial
2 - Mixed phase
3 - Bubble point
4 - Fixed temperature
5 - Degrees below
bubble point
Condenser pressure CondenserPressure PRES Real
Condenser temperature CondenserTemperature TEMP Real
Condenser temperature CondenserTempDrop TDIF Real
below bubble point
Estimated condenser CondenserTempEst TEMP Real
temperature
Reboiler, Class = ColumnIn
Reboiler present flag ReboilerType InT 0 - no reboilers
2 - reboiler present

170 Appendix B
Table 5.1 Column Unit Operation
Read an attribute: Value=ColumnObject.GetAttribute(AttributeName, Index)
Write an attribute: ColumnObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Thermosiphon reboiler ThermosiphonRebFlag InT 0 (or null) – No
flag thermosiphon
reboilers present
(could be kettle
reboilers, or could
be no reboilers)
1 – Thermosiphon
reboilers without
baffles
2 – Thermosiphon
reboilers with baffles
StreamID of ThermoSRebFeed StreamI
thermosiphon reboiler D
feed
Thermosiphon reboiler ThermoSRebRateSpec Real
rate specification
Thermosiphon reboiler ThermoSRebRateBasis InT 1 – Molar
rate specification basis 2 – Weight
3 – Liquid volume
Thermosiphon reboiler ThermoSRebRateEst Real
rate estimate on a molar
basis
StreamID of ThermoSRebVapProd StreamI
thermosiphon reboiler D
vapor product
Thermosiphon reboiler ThermoSRebVapFraSpec Real
vapor fraction
specification
Thermosiphon reboiler ThermoSRebVFracBasis InT 1 – Molar
vapor fraction 2 – Weight
specification basis 3 – Liquid volume
Thermosiphon reboiler ThermoSRebVapFraEst Real
vapor fraction estimate
on a molar basis
StreamID of ThermoSRebLiqProd StreamI
thermosiphon reboiler D
liquid product
Thermosiphon reboiler ThermoSRebLiqFraSpec Real
liquid fraction
specification
Thermosiphon reboiler ThermoSRebTempSpec Real
temperature specification
Thermosiphon reboiler ThermoSRebDTSpec TDIF Real
temperature rise
specification
Heating and Cooling Duties, Class = ColumnIn
Number of heating or NumberOfHeaters InT
cooling duties not
including heat leak
Input duty value HeaterDuties 0 to NH - 1 DUTY Real NH =
(estimate or spec) NumberOfHeaters

PRO II COM Server Reference Guide 171


Table 5.1 Column Unit Operation
Read an attribute: Value=ColumnObject.GetAttribute(AttributeName, Index)
Write an attribute: ColumnObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Heater name HeaterNames 0 to NH - 1 Char
Heater number HeaterNumber 0 to NH - 1 InT HeaterNumber =
Index + 1
Pumparound number HeaterPANumber 0 to NH - 1 InT 0 – Not attached to a
corresponding to heater pumparound
Heater attached to a HeaterRegOrPAFlag 0 to NH - 1 InT 1 – Not attached to a
pumparound flag pumparound
2 – Attached to a
pumparound
Heater tray number HeaterTrayNumber 0 to NH - 1 InT
Heater fixed or vary flag HeaterVarFixDtyFlag 0 to NH - 1 InT 0 – Not varied
1 – Varied
Heat Leak, Class = ColumnIn
Use heat gain/loss flag. HeatLeakGainFlag InT 0 – No heat leak or
gain
1 – Heat leak or gain
specified
User specified heat HeatLeak 0 to NT-1 Real NT = NumberOfTrays
gain/loss per tray Contrary to the variable
name, a positive value
is heat gain to column.
Only the trays with user
specified values are
populated with real
values. The remaining
interpolated trays are
populated with
“missing”.
Heat gain/loss in HeatLeakGainCondenser Real
condenser
Heat gain/loss in column HeatLeakGainColumn Real
excluding condenser and
reboiler
Heat gain/loss per tray HeatLeakGainTray Real
Heat gain/loss in reboiler HeatLeakGainReboiler Real
Pumparounds, Class = ColumnIn
NumberOfPumparounds InT
PumpAroundHeaterNum 0 to PA -1 InT PA =
NumberOfPumparound
s
Pumparound from tray PumpAroundTrayFrom 0 to PA -1 InT
number
Pumparound too tray PumpAroundTrayTo 0 to PA -1 InT
number
Pumparound draw phase PumpAroundPhase1 or 0 to PA -1 InT Both variables have the
PumpAroundPhase2 same meaning
1 – Vapor
2 - Liquid
PumpAroundNames 0 to PA -1 Char

172 Appendix B
Table 5.1 Column Unit Operation
Read an attribute: Value=ColumnObject.GetAttribute(AttributeName, Index)
Write an attribute: ColumnObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Return temperature type PumpAroundTdTFlag 0 to PA -1 InT 1 – Return temperature
flag specified
2 – Temperature drop 3
– Return temperature
not specified
The value of the PumpAroundTempOrDT 0 to PA -1 Real
specified return
temperature or
temperature drop
Pumparound liquid PumpAroundLiqFrac 0 to PA -1 Real
fraction
Return stream liquid PumpAroundLFracBasis 0 to PA -1 InT 0 – Basis not given
fraction specification 1 – Mole
basis 2 – Weight
3 – Liquid volume
Pumparound rate PumpAroundRate 0 to PA -1 Real
Pumparound rate basis PumpAroundRateBasis 0 to PA -1 InT 0 – Basis not given
1 – Mole
2 – Weight
3 – Liquid volume
4 – Gas volume
Pumparound type flag PumpAroundType 0 to PA -1 InT 1 – Rate, temp/lfrac
given
2 – Duty, temp/lfrac
given
3 – Rate, duty given
13 – Rate given, no
duty
Pumparound return PumpAroundPressure Real
pressure
Total pumparound type PumpAroundTotNormFlg 0 to PA -1 0 – Normal
flag pumparound
1 – Total pumparound
Pressure Profile, Class = ColumnIn
Tray pressure TrayPressures 0 to NT -1 PRES Real NT = NumberOfTrays
Top tray pressure TopTrayPressure PRES Real
Column pressure drop PressureDropPerColu PDIF Real
Tray pressure crop PressureDropPerTray PDIF Real
Condenser pressure CondenserPressure PRES Real
Initial Estimates, Class = ColumnIn
Estimate Model type InitialEstimModel InT 0 - None/Simple
1 - Conventional
2 - Refining
3 - Chemical
4 - Electrolyte
Condenser temperature CondenserTempEst TEMP Real
Top tray temperature TopTrayTempEst TEMP Real
Bottom tray temperature BottomTrayTempEst TEMP Real
Reboiler temperature ReboilerTrayTempEst TEMP Real
Reflux ratio RefluxRatioEst Real
Reflux rate RefluxRateEst Real
PRO II COM Server Reference Guide 173
Table 5.1 Column Unit Operation
Read an attribute: Value=ColumnObject.GetAttribute(AttributeName, Index)
Write an attribute: ColumnObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Tray temperature TrayTempEstimates 0 to NT -1 TEMP Real NT = NumberOfTrays
Tray net vapor rate TrayNetVapRateEstim 0 to NT -1 Real
Basis for tray vapor rate VapEstRateBasis InT 1 – Mole
2 - Weight
3 - Liquid volume
4 - Gas vol.
Tray net liquid rate TrayNetLiqRateEstim 0 to NT -1 Real
Basis for tray liquid rate LiqEstRateBasis InT 1 – Mole
2 - Weight
3 - Liquid volume
4 - Gas vol.
Number of trays for which NumCestVTrays InT
vapor composition
estimates are supplied
Tray numbers for vapor TrayNumsCestV 0 to V - 1 InT V=NumCestVTrays
composition estimates.
Component Names ComponentIds 0 to Comp NOC = Number of
NOC - 1 Ids components in
simulation
Mole fraction of CompDataCestV 0 to FRAC Real See example below
component on tray vapor V*NOC-1
Index for component cid NOC * j + k where
on tray i TrayNumsCestV(j) = i and
ComponentIds(k)=cid
If:
Number of components = 10
th
NC4 is the 7 component on the component list
Mole fraction of nC4 on tray 17 = 0.3
th
Tray 17 is the 4 tray for which vapor compositions are given
Then:
NOC =10
TrayNumsCestV(3) = 17
ComponentIDs(6) = nC4
Index = 10 * 3 + 6 = 36
CompDataCestV(36) = 0.3
Number of trays for which NumCestLTrays InT
liquid composition
estimates are supplied
Tray numbers for liquid TrayNumsCestL 0 to L-1 InT L=NumCestLTrays
composition estimates.
Mole fraction of CompDataCestL 0 to FRAC Real See example below
component on tray liquid L*NOC-1
Index for component cid NOC * j + k where InT See example for vapor
on tray i TrayNumsCestL(j) = i and compositions above
ComponentIds(k)=cid
Number of trays for which NumCestL1Trays InT
liquid(1) composition
estimates are supplied
Tray numbers for liquid(1) TrayNumsCestL1 0 to L’-1 InT L’=NumCestL1Trays
composition estimates.

174 Appendix B
Table 5.1 Column Unit Operation
Read an attribute: Value=ColumnObject.GetAttribute(AttributeName, Index)
Write an attribute: ColumnObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Mole fraction of CompDataCestL1 0 to FRAC Real See example below
component on tray L’*NOC-1
liquid(1) phase
Index for component cid NOC * j + k where InT See example for vapor
on tray i TrayNumsCest1L(j) = i and compositions above
ComponentIds(k)=cid
Number of trays for which NumCestL2Trays InT
liquid(2) composition
estimates are supplied
Tray numbers for liquid(2) TrayNumsCestL2 0 to L”-1 InT L”=NumCestL2Trays
composition estimates.
Mole fraction of CompDataCestL2 0 to FRAC Real See example below
component on tray L”*NOC-1
liquid(2) phase
Index for component cid NOC * j + k where InT See example for vapor
on tray i TrayNumsCestL2(j) = i and compositions above
ComponentIds(k)=cid
Estimate of ratio of free RatioFreeWater 0 to N-1 Real N=NumberOfTrays
water to hydrocarbon on
a tray
Specifications, Class = ColumnIn
Number of specifications CurrentSpecs InT
Specification names SpecData 0 to NS -1 Spec ID NS = CurrentSpecs
Specification Values, Class = Spec
Note: See Spec class documentation for complete list of available attributes.
Value SpecValue
Absolute tolerance AbsTol
Relative tolerance RelTol
Tray Efficiencies, Class = ColumnIn
Efficiency type TrayEfficFlag InT 1 – No tray efficiency
calculations
2 – Murphree
3 – Equilibrium
4 - Vaporization
Efficiency Factor TrayEfficiencyFactor Real
Tray efficiency data EfficiencyFlag InT 1 - Tray efficiency
provided flag provided
2 - Component
efficiency provided
3 - Both tray and
component efficiency
provided
Tray efficiency TrayEfficiency 0 to N-1 Real N = NumberOfTrays
Number of components NumOfCompEfCompsSet InT
for which component tray 1
efficiencies are given
Number of trays for which NumOfCompEffTrays1 InT
component tray
efficiencies are given

PRO II COM Server Reference Guide 175


Table 5.1 Column Unit Operation
Read an attribute: Value=ColumnObject.GetAttribute(AttributeName, Index)
Write an attribute: ColumnObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Tray numbers for which TrayNumsCEffic1 0 to InT NT=
component tray NT - 1 NumOfCompEffTrays1
efficiencies are given
Component IDs for which CompIdsCEffic1 0 to CompI NC =
component tray NC - 1 D NumOfCompEfComps
efficiencies are given Set1
Individual component tray CompEff1 0 to NT*NC Real For component Ci and
efficiencies -1 tray Tj, the order of
component tray
efficiencies is

C0T0, C1T0, C2T0 …


CNC-1TNT-1
Homotopy, Class = ColumnIn
Number of specifications HCNumSpecs InT
with homotopy applied
Number of iterations or HSpecNumOfSteps 0 to InT NH=HCNumSpecs
steps the homotopy NH - 1
algorithm will take until it
reaches solution
Spec ID HSpecID 0 to Char
NH -1
Specification number HSpecNum 1 to NS InT NS = CurrentSpecs
Initial specification value HSpecInitValue 0 to Real
NH -1
Tray Hydraulics, Class = TraySizRat
Number of tray rating NumOfTrayRatingSects InT
sections
Tray rating: tray spacing RatingTraySpacing 0 to NR - 1 Real NR =
NumOfTrayRatingSects
Tray rating: cap spacing RatingCapSpacing 0 to NR - 1 Real
Tray rating: system factor RatingSysFactor 0 to NR - 1 Real
Tray rating: tray diameter RatingTrayDiameter 0 to NR - 1 Real
Tray rating: valve, sieve, RatingVSorCdiam 0 to NR - 1 Real
or cap diameter
Tray rating: tray deck RatingTrayDeckThk 0 to NR - 1 Real
thickness
Tray rating: valve RatingValveThk 0 to NR - 1 Real
thickness
Tray rating: sieve hole RatingPctSvHoleArea 0 to NR - 1 Real
area, percent
Tray rating: weir height RatingWeirHeight 0 to NR - 1 Real
Tray rating: downcommer RatingDwncClear 0 to NR - 1 Real
clearance
Tray rating: downcommer RatingDwncWidth1 0 to NR - 1 Real
width 1
Tray rating: downcommer RatingDwncWidth2 0 to NR - 1 Real
width 2
Tray rating: downcommer RatingDwncWidth3 0 to NR - 1 Real
width 3
Tray rating: downcommer RatingDwncWidth4 0 to NR - 1 Real
width 4

176 Appendix B
Table 5.1 Column Unit Operation
Read an attribute: Value=ColumnObject.GetAttribute(AttributeName, Index)
Write an attribute: ColumnObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Tray rating: downcommer RatingDwncWidth5 0 to NR - 1 Real
width 5
Tray rating: downcommer RatingDwncWidth6 0 to NR - 1 Real
width 6
Tray rating: downcommer RatingDwncWidth7 0 to NR - 1 Real
width 7
Tray rating: downcommer RatingDwncWidth8 0 to NR - 1 Real
width 8
Tray rating: pressure drop RatingPressDropScal 0 to NR - 1 Real
scaling value for
calculation time
Tray rating: user supplied RatingSectionNumber 0 to NR - 1 Real
section number
Tray rating: first tray in RatingFirstTray 0 to NR - 1 InT
section
Tray rating: last tray in RatingLastTray 0 to NR - 1 InT
section
Tray rating: tray type, RatingTrayType 0 to NR - 1 InT 1 = V1
2 = V4
3 = sieve
4 = cap
Tray rating: number of RatingNumberOfPasses 0 to NR - 1 InT
passes
Tray rating: number of RatingNumberOfValves 0 to NR - 1 InT
valves or caps
Tray rating: valve material RatingValveMaterial 0 to NR - 1 InT 1 = Stainless Steel
: 2 = Carbon Steel
3 = Nicchel
4 = Monel
5 =Titanium
6 = Hastalloy
7 =Aluminum
8 =Copper
9 =Lead
Number of tray sizing NumOfTraySizingSects InT
sections
Tray sizing: user supplied SizingSectionNumber 0 to NS - 1 InT NS =
section number NumOfTraySizingSects

Tray sizing: first tray in SizingFirstTray 0 to NS - 1 InT


section

Tray sizing: last tray in SizingLastTray 0 to NS - 1 InT


section
Tray sizing: tray type, SizingTrayType 0 to NS - 1 InT 1 = valve
2 = sieve
3 = cap
Tray sizing: number of SizingNumberOfPasses 0 to NS - 1 InT
passes
Tray sizing: tray spacing SizingTraySpacing 0 to NS - 1 Real
Tray sizing: system factor SizingSystemFactor 0 to NS - 1 Real

PRO II COM Server Reference Guide 177


Table 5.1 Column Unit Operation
Read an attribute: Value=ColumnObject.GetAttribute(AttributeName, Index)
Write an attribute: ColumnObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Tray sizing: flood factor SizingFloodFactor 0 to NS - 1 Real
Tray sizing: minimum tray SizingMinTrayDiam 0 to NS - 1 Real
diameter
Tray sizing: pressure drop SizingPressDropScal 0 to NS - 1 Real
scaling value for
calculation time
Packing Hydraulics, Class = ColumnIn
Total number of packed PckngTotNumSect InT
sections.
Column section number PckngSectionNum 0 to NP - 1 InT NP = PckngTotNumSect
Correlates the packed
section number to the
column section number.
Setting
PckngSectionNum(2)=4
implies that the 3rd
th
packed section is the 5
column section overall.
Beginning tray number PckngBeginTray 0 to NP - 1 InT
of packed section
End tray number of PckngEndTray 0 to NP - 1 InT
packed section
Max pressure drop flag PckngDPSpecOptn 0 to NP - 1 InT 0 – None selected
1 – Max pressure drop
per section given
2 – Max linear pressure
drop given
Pressure drop PckngDPMeth 0 to NP - 1 InT 1 – Tsai
correlation flag. 2 – Norton
3 – Sulzer
Packing type flag PckngPackngTypeOptn 0 to NP – 1 InT 1 - IMTP
(Norton packing 2 - Hy-Pak (Metal)
selected) 3 - Super InTalox #1
Saddles (Ceramic)
4 - Super InTalox #2
Saddles (Ceramic)
5 - Pall Rings (Plastic)
6 - Pall Rings (Metal)
7 - InTalox Saddles
(Ceramic)
8 - Raschig Rings
(Ceramic)
9 - Raschig Rings (1/32"
Metal)
10 - Raschig Rings
(1/16" Metal)
11 - Berl Saddles
(Ceramic)

178 Appendix B
Table 5.1 Column Unit Operation
Read an attribute: Value=ColumnObject.GetAttribute(AttributeName, Index)
Write an attribute: ColumnObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Packing type flag PckngPackngTypeOptn 0 to NP – 1 InT 1 - MELLAPAK 125.X
(Sultzer packing 2 - MELLAPAK 125.Y
selected) 3 - MELLAPAK 250.X
4 - MELLAPAK 250.Y
5 - MELLAPAK 350.X
6 - MELLAPAK 350.Y
7 - MELLAPAK 500.X
8 - MELLAPAK 500.Y
9 - BX
10 - entry missing
11 - CY
12 - KERAPAK
13 - MELLAPAK170.Y
14 - MELLAPAK170.X
15 - M2Y
16 - M2X
17 - M750Y
18 - MG90
19 - MD250Y
20 - MD350Y
21 - MD450Y
22 - MC350Y
23 - BXPFP
24 - M64Y
25 - M64X
26 - MG64
27 - OFC36
HETP Method PckngHETPMeth 0 to NP – 1 InT 1 – Frank
2 – Norton
CS Calc Design flag PckngCalcFlgCSDsgn 0 to NP – 1 InT 0 - None
1 – CS Design or Design
CS Flood flag PckngCalcFlgCSFld 0 to NP – 1 InT 0 – None
1 - CSMax or Flood
CS Flood Approach flag PckngCalcFlgCSFlAp 0 to NP – 1 InT 0 – None
(Norton) 1 - CS Approach or
Flood Approach.
CS Flood Approach flag PckngCalcFlgCSFlAp 0 to NP – 1 InT 0 – None
(Sulzer) 1 - Capacity
Packing Factor flag PckngCalcFlgFactor 0 to NP – 1 InT 0 – No packing factor
provided
1 – Packing factor
provided
Max delta pressure type PckngCalcStatDP 0 to NP – 1 InT 0 – None
1 – Max DP per section
specified
2 – Max linear DP
specified
3 – Column diameter
specified.

PRO II COM Server Reference Guide 179


Table 5.1 Column Unit Operation
Read an attribute: Value=ColumnObject.GetAttribute(AttributeName, Index)
Write an attribute: ColumnObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
HETP calculation flag PckngCalcStatHETP 0 to NP – 1 InT 0 – None selected
1 – HETP given
2 – Overall height of
packed section given
3 – Calculates HETP
Efficent packing or flood PckngCalcStatMeth 0 to NP – 1 InT 0 – None
method flag 1 – CS Method
2 – Flood Method
Packing size PckngPackingCode 0 to NP – 1 FLEN Real
Packing factor PckngPackingFact LENG Real Returned in meters
Height of packed section PckngColumnHeight FLEN Real
HETP of packed section PckngSectHETP FLEN Real HETP
Diameter of packed PckngSectDia Real PACKED SECTION DIA
section
Fraction of efficient PckngCapFactRatio Real
capacity or fraction of
flood capacity.
Flood value or maximum PckngMaxCapFactor Real
efficient capacity value.
Design capacity value or PckngCapFact Real
efficient design capacity
value
Maximum allowable PckngMaxSectDPTotl PDIF Real
pressure drop across the
section
Maximum allowable PckngMaxSectDPft PDIF Real
linear pressure drop in
the section
Tolerance, Class = ColumnIn
K-value tolerance KvalueTolerance Real For IO
Component tolerance MassbalTolerance Real For Sure and Chemdist
Equilibrium tolerance BubblePntTolerance Real
Enthalpy tolerance EnthalpyBalTolerance Real
Calculated Properties
Documentation, Class = Column
Descriptive name UnitName Char 40 char max
Parameter, Class = Column
Side or main ColumnType InT 0 – Main Column
3 – Side Column
Number of trays NumberOfTrays InT
Feeds, Class = Column
Number of feeds CurrentFeeds InT Number of feeds,
including returns from
side columns.
Feed StreamIDs FeedData 0 to NF - 1 STrea NF = CurrentFeeds
mID
Feed tray numbers FeedTrays 0 to NF - 1 InT
Products, Class = Column
Number of products CurrentProducts InT

180 Appendix B
Table 5.1 Column Unit Operation
Read an attribute: Value=ColumnObject.GetAttribute(AttributeName, Index)
Write an attribute: ColumnObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Product StreamIDs ProductData 0 to NP - 1 STrea NP = CurrentProducts
mID
Number of pseudo- NumberOfTflowStreams Does not include
products pseudostreams related
to thermosiphon
reboilers
Pseudo-products ids TFlowStreamIDs 0 to NPs-1 StreamI NPs =
D NumberOfTflowStreams
Reboiler, Class = Column
Reboiler present flag ReboilerType InT 0 - no reboilers
2 - reboiler present
Thermosiphon reboiler ThermosiphonRebFlag InT 0 (or null) – No
flag thermosiphon
reboilers present
(could be kettle
reboilers, or could
be no reboilers)
1 – Thermosiphon
reboilers without
baffles
2 – Thermosiphon
reboilers with baffles
StreamID of ThermoSRebFeed Stream
thermosiphon reboiler ID
feed
Thermosiphon reboiler ThermoSRebRateSpec Real
rate specification
Thermosiphon reboiler ThermoSRebRateBasis InT 1 – Molar
rate specification basis 2 – Weight
3 – Liquid volume
Thermosiphon reboiler ThermoSRebRateEst Real
rate estimate on a molar
basis
StreamID of ThermoSRebVapProd Stream
thermosiphon reboiler ID
vapor product
Thermosiphon reboiler ThermoSRebVapFraSpec Real
vapor fraction
specification
Thermosiphon reboiler ThermoSRebVFracBasis InT 1 – Molar
vapor fraction 2 – Weight
specification basis 3 – Liquid volume
Thermosiphon reboiler ThermoSRebVapFraEst Real
vapor fraction estimate
on a molar basis
StreamID of ThermoSRebLiqProd Stream
thermosiphon reboiler ID
liquid product
Thermosiphon reboiler ThermoSRebLiqFraSpec Real
liquid fraction
specification

PRO II COM Server Reference Guide 181


Table 5.1 Column Unit Operation
Read an attribute: Value=ColumnObject.GetAttribute(AttributeName, Index)
Write an attribute: ColumnObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Thermosiphon reboiler ThermoSRebTempSpec Real
temperature specification
Thermosiphon reboiler ThermoSRebDTSpec TDIF Real
temperature rise
specification
Column Profiles, Class = Column
Number of trays NumberOfTrays
Tray temperautures TrayTemperatures 0 to NT - 1 TEMP Real NT = NumberOfTrays
Tray pressures TrayPressures 0 to NT - 1 PRES Real
Liquid molar rates from TrayNetLiqRates 0 to NT - 1 MRAT Real
tray to tray below
Total liquid molar flow TrayTotalLiqRates 0 to NT - 1 MRAT Real
from tray
Vapor molar rates from TrayNetVapRates 0 to NT - 1 MRAT Real
tray
Total vapor molar flow TrayTotalVaporRates 0 to NT - 1 MRAT Real
from tray
Compressibility TrayVaporEOSZ 0 to NT - 1
calculated from K-value
EOS
Number of components NumComps
Component mole fraction TrayLiquidMoleFracs 0 to FRAC Real NC = NumComps
of tray liquid NT*NC-1 NT = Number of trays
For component i on
tray j, index =
i + NC * ( j -1) - 1
Component mole fraction TrayVaporMoleFracs 0 to FRAC Real
of tray vapor NT*NC-1
VLE K-value TrayVleKValue 0 to Real
NT*NC-1
Flood approach FloodApproach 0 to
NT -1
Specifications, Class = Column
Number of specifications CurrentSpecs InT
Specification names SpecData 0 to NS -1 Spec ID NS = CurrentSpecs
Specification Values, Class = Spec
Note: See Spec class documentation for complete list of available attributes.
Specified value SpecValue
Calculated value SpecValueCalc
Absolute tolerance AbsTol
Relative tolerance RelTol
Heaters, Coolers, Heat Leak, Class = Column
Number of heater/coolers NumberOfHeaters InT
Heater/cooler duty HeaterDuties 0 to NH -1 DUTY Real NH =
NumberOfheaters
Heater/cooler names HeaterNames 0 to NH -1 HID
Regular or Pumparound HeaterRegOrPAFlag 0 to NH -1 InT 1 – Regular Heater
heater flag 2 – Pumparound heater
Heat leak per tray HeatLeak 0 to NT -1 Real
Total heat leakage in HeatLeakGainColTot Real
column

182 Appendix B
Table 5.1 Column Unit Operation
Read an attribute: Value=ColumnObject.GetAttribute(AttributeName, Index)
Write an attribute: ColumnObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Pumparounds, Class = Column
Number of pumparounds NumberOf Pumparounds
Pumparound name PumparoundNames 0 to NP - 1 Where NP =
NumberOfPumparounds
Pumparound draw phase PumpAroundPhase1 0 to NP - 1
Pumparound tray draw PumpAroundTrayFrom 0 to NP - 1
location
Pumparound return tray PumpAroundTrayTo 0 to NP - 1
Heater number PumpAroundHeaterNum 0 to NP - 1
corresponding to
pumparound.
Mole rate of pumparound PumpAroundMolRate 0 to NP - 1
circulation
Return stream liquid PumpAroundLFracBasis 0 to NP - 1 InT 0 – Not given
fraction basis 1 – Mole
2 – Weight
3 – Liquid volume
Return stream liquid PumpAroundLiqFrac 0 to NP - 1 Real Using
fraction PumpAroundLFracBasis
Pumparound return PumpAroundPressure 0 to NP - 1 PDIF Real
pressure
PumpAroundEnthalpy 0 to NP - 1
Flag for exit Temp or DT PumpAroundTdTFlag 0 to NP - 1 InT 0 – Neither spec given
1 – Return spec given
2 – Temperature drop
spec given
Exit temperature or delta PumpAroundTempOrDT 0 to NP - 1 Real Outlet temperature if
T. PumpAroundTdTFlag =
0 or 1. Temperature
drop if
PumparoundTdTFlag =
2.
Tray Hydraulics, Class = Column
Total number of packed PckngTotNumSect InT
sections
Packing calculation PckngCalcStatMeth InT 0 – None
method 1 – CS Method
2 – Flooding method
2 3
Packing factor units of PckngCalcFactorUOM InT 1 – Ft /Ft
2 3
measure 2 – M /M
Column diameter at TrayDiameters 0 to NT -1 FLEN Real
theoretical tray
Theoretical tray pressure PckngTrayDp 0 to NT -1 PDIF Real
drop
Packing HETP PckngTrayHETP 0 to NT -1 FLEN Real
Flood factor PckngTrayFloodFact 0 to NT -1 Real
Flooding approach FloodApproach 0 to NT -1 Real
CS Approach CSApproach 0 to NT -1 Real
Capacity factor PckngTrayCapFact 0 to NT -1 Real
CS Max PckngTrayMaxCapFac 0 to NT -1 Real
Sultzer packing F factor PckngSulzerFFactor 0 to NT -1 Real
PRO II COM Server Reference Guide 183
Table 5.1 Column Unit Operation
Read an attribute: Value=ColumnObject.GetAttribute(AttributeName, Index)
Write an attribute: ColumnObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Sultzer packing liquid PckngSulzerLiqLoad 0 to NT -1 Real
load
Downcomer backup TrayDCBackup 0 to NT -1 FLEN Real
Flooding factor on tray TrayFloodFactors 0 to NT -1 Real As a percent

184 Appendix B
Table 6.1 Simple Heat Exchanger Unit Operation
Read an attribute: Value=HXObject.GetAttribute(AttributeName, Index)
Write an attribute: HXObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Documentation, Class = Hx
Descriptive name UnitName Char 40 char max
Configuration, Class = Hx
Flow configuration CoCounterFlag InT
Number of tube passes TubePasses InT
Number of shell passes ShellPasses InT
LMTD correction factor LmtdFactorIn Real
(FT)
Specifications, Class = Hx
Specification type SpecTypeFlag InT
Hot side product HotProdTempIn TEMP Real SpecTypeFlag = 0
temperature
Hot side product molar HotLiqFracIn Real SpecTypeFlag = 1
liquid fraction
Hot side temperature HotBubbleIn TDIF Real SpecTypeFlag = 2
below bubble point
Hot side temp. rise HotDewIn TDIF Real SpecTypeFlag = 3
above dew point
Cold side product ColdProdTempIn TEMP Real SpecTypeFlag = 4
temperature
Cold side product molar ColdLiqFracIn Real SpecTypeFlag = 5
liquid fraction
Cold side temperature. ColdBubbleIn TDIF Real SpecTypeFlag = 6
drop below bubble point
Cold side temp. rise ColdDewIn TDIF Real SpecTypeFlag = 7
above dew point
Duty DutyIn DUTY Real SpecTypeFlag = 8
Hot out - cold in HociIn TDIF Real SpecTypeFlag = 9
temperature approach
Hot in - cold out HicoIn TDIF Real SpecTypeFlag = 10
temperature approach
Hot out - cold out HocoIn TDIF Real SpecTypeFlag = 11
temperature approach
Minimum of HOCI or MiniIn TDIF Real SpecTypeFlag = 12
HICO
Minimum Internal MitaIn TDIF Real SpecTypeFlag = 13
temperature approach
Overall UA specification UaIn UA Real SpecTypeFlag = 14
U value UvalueIn HTCO Real
Area AreaIn AREA Real
UA maximum value UaMaxIn UA Real
Relative convergence ConvTolIn Real
tolerance for spec. value
Feeds, Class = Hx
Number of feeds CurrentFeeds InT
Feed StreamIDs FeedData 0 to N-1 STream N=CurrentFeeds
ID
Starting index hot side FirstFeed 0 InT Always has value of 1
feeds
PRO II COM Server Reference Guide 185
Table 6.1 Simple Heat Exchanger Unit Operation
Read an attribute: Value=HXObject.GetAttribute(AttributeName, Index)
Write an attribute: HXObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Ending index hot side LastFeed 0 InT
feeds
Starting index of cold side FirstFeed 1 InT
feed
Ending index cold side LastFeed 1 InT Always has value of N
feeds
Hot side thermo method MethodData 0 Meth ID
set
Cold side thermo method MethodData 1 Meth ID
set
Products, Class = Hx
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 to N-1 STream N=CurrentProducts
ID
Product stream phases ProductStoreData 0 to N-1 InT 1-Vapor
2-Liquid
3-Solid
4-Mixed
Starting index hot side FirstProduct 0 InT Always has value of 1
products
Ending index hot side LastProduct 0 InT
products
Starting index of cold side FirstProduct 1 InT
product
Ending index cold side LastProduct 1 InT Always has value of N
products
Utilities, Class = Hx
Use of utility stream flag UtilitySideFlag InT 0 - No utility
1 - Hot side utility
2 - cold side utility
Utility fluid type UtilityFluidFlag InT 0 – None
1 – Water
2 – Air
3 – Steam
4 – Refrigerant
5 - Heating medium
Heating Hx_UtilCompID CompI
medium/Refrigerant D
component
Inlet/Outlet temperatures
for water, air
- Inlet temperature UtilityTempIn TEMP Real
- Outlet temperature UtilityTempOut TEMP Real
Saturation options for
steam, heating medium,
refrigerant
- Option UtilSatrnOption InT 1 – Pressure
2 – Temperature
- Saturation temp. UtilityTempIn TEMP Real
- Saturation pressure UtilityPresIn PRES Real
Zones Analysis, Class = Hx

186 Appendix B
Table 6.1 Simple Heat Exchanger Unit Operation
Read an attribute: Value=HXObject.GetAttribute(AttributeName, Index)
Write an attribute: HXObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Calculation option ZoneAnalysisFlag InT 0 – No zones analysis
1 - During calculation
2 - During output
Number of zones ZonesIn InT
Attached Column Configuration, Class = Hx
Attachment present AttachedSideFlag InT 0 - Not attached
1 - Hot side attached
2 - Cold side attached
Attached column ID AttachedUnit Unit ID
Attachment heater type AttachedTypeFlag InT 0 – Not attached
1 – Condenser
2 – Reboiler
3 – Pumparound
heater/cooler
4 - Side heater/cooler
Column side heater name ColuHeaterName Char
Column pumparound ColuPAName Char
heater/cooler name
Attached column tray AttTrayNumber InT
number
Phase of feed to attached AttFeedPhase InT
HX
Feed rate to attached AttachedFeedRate MRAT Real
heater/cooler
Calculated Properties
Parameters, Class = Hx
Hot side product TEMP Real
temperature HotProdTempCalc
Hot side product molar Real
liquid fraction HotLiqFracCalc
Hot side temp. below TDIF Real
bubble poInt HotBubbleCalc
Hot side temp. rise TDIF Real
above dew poInt HotDewCalc
Cold side product TEMP Real
temperature ColdProdTempCalc
Cold side product molar Real
liquid fraction ColdLiqFracCalc
Cold side temp.drop TDIF Real
below bubble poInt ColdBubbleCalc
Cold side temp. rise TDIF Real
above dew poInt ColdDewCalc
Duty DutyCalc DUTY Real
Hot out - cold in TDIF Real
temperature approach HociCalc
Hot in - cold out TDIF Real
temperature approach HicoCalc
Hot out - cold out TDIF Real
temperature approach HocoCalc

PRO II COM Server Reference Guide 187


Table 6.1 Simple Heat Exchanger Unit Operation
Read an attribute: Value=HXObject.GetAttribute(AttributeName, Index)
Write an attribute: HXObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Minimum of HOCI or TDIF Real
HICO MiniCalc
Minimum Internal TDIF Real
temperature approach MitaCalc
Overall UA specification UaCalc UA Real
U value UvalueCalc HTCO Real
Area AreaCalc AREA Real
UA maximum value UaMaxCalc UA Real
Relative convergence ConvTolCalc Real
tolerance for spec. value
LMTD correction factor
(FT) LmtdFactorCalc
Overall exchanger Mean TDIF
Temp. Difference (MTD) LmtdCalc
Temperature crossover ZoneLmtdCalc
Utilities, Class = Hx
Inlet utility temperature UtilityTempCalc TEMP Real
Outlet utility temperature UtilityTempOutCalc TEMP Real
Utility saturation pressure UtilityPresCalc PRES Real
Utility flowrate UtilityFlowRate MRAT Real
Utility Cp or heat value UtilityHeatValue SPHE Real
Combined Streams (Internal), Class = Hx
Hot side Internal feed MergedFeed 0 STream
StreamID ID
Hot side Internal product MergedProduct 0 STream
StreamID ID
Cold side Internal feed MergedFeed 1 STream
StreamID ID
Cold side Internal product MergedProduct 1 STream
StreamID ID
Combined Stream Properties (Internal), Class = Stream
Temperature Temperature TEMP Real
Pressure Pressure PRES Real
Enthalpy TotalMolarEnthalpy ENTH Real
Entropy TotalMolarEntropy ENTR Real
Cp VaporMolarCp CP Real
All standard stream properties like Mole Fractions, Weight Fractions of various phases are accessible via the standard
Stream Class. See Table 3-1

188 Appendix B
Table 6.2 Rigorous Heat Exchanger Unit Operation
Read an attribute: Value=HXObject.GetAttribute(AttributeName, Index)
Write an attribute: HXObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Documentation, Class = HxRigIn
Descriptive name UnitName Char 40 char max
Feeds, Class = HxRigIn
Number of feeds CurrentFeeds InT
Feed StreamIDs FeedData 0 to N-1 STream N=CurrentFeeds
ID
Starting index shell side FirstFeed 0 InT Always has value of 1
feeds
Ending index shell side LastFeed 0 InT
feeds
Starting index of tube cold FirstFeed 1 InT
side feed
Ending index tube side LastFeed 1 InT Always has value of N
feeds
Shell-side thermo method MethodData 0 Meth ID
set
Tube-side thermo method MethodData 1 Meth ID
set
Products, Class = HxRigIn
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 to N-1 STream N=CurrentProducts
ID
Product stream phases ProductStoreData 0 to N-1 InT 1-Vapor
2-Liquid
3-Solid
4-Mixed
Starting index shell side FirstProduct 0 InT Always has value of 1
products
Ending index shell side LastProduct 0 InT
products
Starting index of tube side FirstProduct 1 InT
product
Ending index tube side LastProduct 1 InT Always has value of N
products
Configuration, Class = HxRigIn
Calculation Type SpecType InT 0 – Rating mode
1 – Shell temperature
specified
2 – Tube temperature
specified
3 – Duty specified
Number of tubes per shell NumOfTubes InT
Area per shell UnitAreaPerShellIn AREA Real
Shell Inside diameter ShellID DFLT Real
Number of shells in series NumOfSerShells InT
Number of shells in NumOfParShells InT
parallel
Number of tube passes NumOfTubePasses InT
per shell

PRO II COM Server Reference Guide 189


Table 6.2 Rigorous Heat Exchanger Unit Operation
Read an attribute: Value=HXObject.GetAttribute(AttributeName, Index)
Write an attribute: HXObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Orientation PositionType InT 1 – Horizontal
2 - Vertical
Flow configuration FlowTypeFlag InT 0 – Countercurrent
1 – Cocurrent
TEMA Types – IJK
Front type “I” TEMATypeFrontEndFlag InT 0 UNDEF
1 A
2 B
3 C
4 N
5 D
7 F
Shell type “J” TEMATypeShellFlag InT 0 UNDEF
1 E
2 F
3 G
4 H
5 J
6 K
7 X
Rear type “K” TEMATypeRearEndFlag InT 0 UNDEF
1 S
2 T
3 U
4 L
5 M
6 N
7 P
8 W
Character TEMATypeChar Char i.e., “AES”
Representation of TEMA
Type
Tube Data, Class = HxRigIn
Tube thickness type flag TubeThckFlag InT 1 - Inside Diameter
2 - Wall thickness 3 -
BWG
Inside diameter TubeID FLEN Real
Tube wall thickness TubeThck FLEN Real
Tube BWG TubeBWG InT
Tube length TubeLen LENG Real
Tube outside diameter TubeOD FLEN Real
Tube pitch TubePitch FLEN Real
Tube pitch pattern PitchPattern InT 1 = 30
2 = 90
3 = 60
4 = 45
Tubesheet thickness TubeSheetThck FLEN Real
Fin area calc flag FinExistFlag InT 1 – No finned tubes
2 – Area from fin data
3 – Area per ft tube
supplied
Surface area FinArea AREA Real

190 Appendix B
Table 6.2 Rigorous Heat Exchanger Unit Operation
Read an attribute: Value=HXObject.GetAttribute(AttributeName, Index)
Write an attribute: HXObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Fins per inch FinsPerInch Real
Fin thickness FInthck FLEN Real
Fin height about root FinHgt FLEN Real
Fin root diameter FinRootDia FLEN Real
Baffle Data, Class = HxRigIn
Baffle type BaffleType InT 1 - Single
2 – Double
5 - No baffles
(3 and 4 not in use in
PRO/II)
Tubes in baffle windows TubesExistFlag InT 0 – Normal
1 – No tubes in
windows
Baffle geometry type BaffleGeometryFlag InT 1 – Based on baffle cut
2 – Based on Net free
area ratio
Baffle cut fraction BaffleCutFrac Real
Baffle net free area ratio NetFreeAreaRatio Real
Center spacing BaffleSpc DFLT Real
Inlet spacing InletBaffleSpc DFLT Real
Outlet spacing OutletBaffleSpc DFLT Real
Baffle thickness BaffleThck DFLT Real
Number of pairs of NumOfSealStripPairs InT
sealing strips
Film Coefficient Data, Class = HxRigIn
Overall U-value estimate UValEstIn Real
Overall U-value scale USclFct Real
factor
Tube-side film coefficient TubeFilmOption InT 1 – Use scale factor
method 2 – Use film coefficient
Tube-side film coefficient TubeFilmCoeff Real
Tube-side scale factor TubeFilmCoeffSclFct Real
Tube-side fouling TubeFoulFct Real
resistance
Tube-side fouling TubeFoulLayerThck Real
thickness
Shell-side film coefficient ShellFilmOption InT 1 – Use scale factor
method 2 – Use film coefficient
Shell-side film coefficient ShellFilmCoeff Real
Shell-side scale factor ShellFilmCoeffSclFct Real
Shell-side fouling ShellFoulFct Real
resistance
Shell-side fouling ShellFoulLayerThck Real
thickness
Pressure Drop Data, Class = HxRigIn
Tube-side pressure drop TubePressDropFlag InT 1 – Use DP scale
type flag factor
2 - Use DP/shell
3 - Use DP/Unit

PRO II COM Server Reference Guide 191


Table 6.2 Rigorous Heat Exchanger Unit Operation
Read an attribute: Value=HXObject.GetAttribute(AttributeName, Index)
Write an attribute: HXObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Tube-side pressure drop TubePressDropSclFct PDIF Real
scale factor
Tube-side pressure drop TubePressDropShell PDIF Real
per shell
Tube-side pressure drop TubePressDropUnit PDIF Real
per unit
Shell-side pressure drop ShellPressDropFlag Real 1 – Use DP scale
type flag factor
2 - Use DP/shell
3 - Use DP/Unit
Shell-side pressure drop ShellPressDropSclFct PDIF Real
scale factor
Shell-side pressure drop ShellPressDropShell PDIF Real
per shell
Shell-side pressure drop ShellPressDropUnit Real
per unit
Shell-side pressure drop ShellDPCorrMeth InT 0 – Use Bell method
calculation method 1 – Use stream method
(Wills and Johnston)
Material Data, Class = HxRigIn
Tube material TubeMatCode 1 - "Carbon - Steel"2 - "Carbon-moly - Steel"
Shell material ShellMatCode 3 - "Chrome-moly - Steel"
4 - "Low - Chrome - Steel"
5 - "Medium - Chrome - Steel"
6 - "Straight - Chrome - Steel"
7 - "304 - Stainless - Steel"
8 - "310 - Stainless - Steel"
9 - "316 - Stainless - Steel"
10 - "321 - Stainless - Steel"
20 - "Aluminum - 1060-H14"
21 - "Aluminum - 1100 - Annealed"
22 - "Aluminum - 3003 - H14 - Annealed"
23 - "Aluminum - 3003 - H25 - Annealed"
24 - "Aluminum - 6061 - T4 - Annealed"
25 - "Aluminum - 6061 - T6 - Annealed"
30 - "Copper"
31 - "Arsenical - Copper"
32 - "Copper - Nickel - 90/10"
33 - "Copper - Nickel - 80/20"
34 - "Copper - Nickel - 70/30"
35 - "Copper - Nickel - 60/40"
40 - "Red - Brass - 85 Cr, 15 Zn"
41 - "Admirality – 71 Cu, 28 Zn, 1Sn"
42 - "Commercia - Brass – 55 Cu, 34 Zn"
43 - "Muntz - Metal – 60 Cu, 40 Zn"
44 - "Aluminum – Bronze – 93 Cu, 5 Al"
45 - "Aluminum - Brass – 78 Cu, 2 Al"
50 - "Nickel - Annealed"
51 - "Low - Carbon - Nickel - Annealed"
52 - "Monel - Nickel - 70 Ni, 30 Cu"
53 - "Inconel - 600 - 76 Ni, 16 Cr, 8 Fe"
60 - "Titanium - Grade 2"

192 Appendix B
Table 6.2 Rigorous Heat Exchanger Unit Operation
Read an attribute: Value=HXObject.GetAttribute(AttributeName, Index)
Write an attribute: HXObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Tube material user- TubeMatName CHAR Char
supplied name
Tube material density TubeDens DENS Real
Tube material thermal TubeThermCond TCON Real
conductivity
Shell material user- ShellMatName CHAR Char
supplied name
Shell material density ShellDens DENS Real
PrInt Options, Class = HxRigIn
Extended TEMA sheet ExtendedPrIntFlag InT 1 – Do not prInt
prIntout flag extended report
2 – PrInt extended
report
Zones analysis flag ZonesPrIntFlag InT 1 – Do not run zones
analysis
2 – Run zones report
Plot zones analysis flag PlotFlag InT 0 – No zones plot
1 – Generate zones
plot
Nozzle Options, Class = HxRigIn
Use tube-side nozzles TubeNozzleType InT 0 – No nozzle
flag 1 – Program sized
2 – User supplied tube-
side nozzle sizes

Tube-side inlet nozzle TubeNozzleInletID FLEN


inside diameter
Tube-side outlet nozzle TubeNozzleOutletID FLEN
inside diameter
Use Shell-side nozzles ShellNozzleType InT 0 – No nozzle
flag 1 – Program sized
2 – User supplied shell-
side nozzle sizes
3 – Annular, user
sized.
Shell-side inlet nozzle ShellNozzleInletID FLEN Real
inside diameter
Shell-side outlet nozzle ShellNozzleOutletID FLEN Real
inside diameter
Annular inlet nozzle wall AnnInletClr FLEN Real
clearance
Annular inlet nozzle AnnInletLen FLEN Real
groove area
Annular inlet nozzle AnnInletArea FARE Real
length
Annular outlet nozzle wall AnnOutletClr FLEN Real
clearance
Annular outlet nozzle AnnOutletArea FLEN Real
groove area
Annular outlet nozzle AnnOutletLen FARE Real
length
PRO II COM Server Reference Guide 193
Table 6.2 Rigorous Heat Exchanger Unit Operation
Read an attribute: Value=HXObject.GetAttribute(AttributeName, Index)
Write an attribute: HXObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Attached Column Configuration, Class = HxRigIn
Attachment present AttachedSideFlag InT 0 - Not attached
1 - Hot side attached
2 - Cold side attached
Attached column ID AttachedUnit Unit ID
Attachment heater type AttachedTypeFlag InT 0 – Not attached
1 – Condenser
2 – Reboiler
3 – Pumparound
heater/cooler
4 - Side heater/cooler
Column side heater name ColuHeaterName Char
Column pumparound ColuPAName Char
heater/cooler name
Attached column tray AttTrayNumber InT
number
Phase of feed to attached AttFeedPhase InT
HX
Feed rate to attached AttachedFeedRate MRAT Real
heater/cooler
Calculated Properties
Operating Conditions, Class = HxRig
Duty ExchngHtDuty DUTY Real
LMTD LogMeanTempDiff TDIF Real
LMTD Correction factor Real
(Ft) FTFct
MTD (Ft * LMTD) MeanTempDiff TDIF Real
Overall heat transfer HTCO Real
coefficient (U) UValFoul
Exchanger area (A) AreaUsingUDirty AREA Real
U*A UAVal
Overall heat transfer HTCO Real
coefficient UValFoul
Clean heat transfer HTCO Real
coefficient UValNoFoul

Number of tubes per shell NumOfTubes InT


Tube side product TEMP Real
temperature TubeTempOut
Tube side pressure drop PDIF Real
per shell TubePressDropCalc
Tube side velocity TubeVel VELO Real
Tube side fouling factor TubeFoulFct FOUL Real
Tube side design
pressure TubeDsgnPress
Tube thickness type flag TubeThckFlag 1 - Inside Diameter
2 - Wall thickness
3 - BWG
Inside diameter TubeID FLEN Real
Tube wall thickness TubeThck FLEN Real
Tube BWG TubeBWG InT

194 Appendix B
Table 6.2 Rigorous Heat Exchanger Unit Operation
Read an attribute: Value=HXObject.GetAttribute(AttributeName, Index)
Write an attribute: HXObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Tube length TubeLen Real
Tube outside diameter TubeOD FLEN Real
Tube pitch TubePitch Real
Tube pitch pattern PitchPattern InT 1 = 30
2 = 90
3 = 60
4 = 45
Number of tube passes NumOfTubePasses InT
per shell
Tubesheet thickness TubeSheetThck Real
Fin area calc flag FinExistFlag InT 1 – No finned tubes
2 – Area from fin data
3 – Area per ft tube
supplied
Surface area FinArea Real
Fins per inch FinsPerInch Real
Fin thickness FInthck Real
Fin height about root FinHgt Real
Fin root diameter FinRootDia Real
Tube side Reynolds Real
number TubeReyNum
Tube side Prandtl Real
number TubePrnNum
Shell side Prandtl Real
number ShellPrnNum
Tube side film heat TubeFilmCoeff HTCO Real
transfer coefficient
Tube side film heat TubeFilmCoeffSclFct Real
transfer coefficient scaling
factor
Tube side fouling layer TubeFoulLayerThck DFLT Real
thickness
Shell data, Class = HxRig
Shell side product TEMP Real
temperature ShellTempOut
Shell side pressure drop PDIF Real
per shell ShellPressDropCalc
Shell side velocity ShellVel VELO Real
Shell side fouling factor ShellFoulFct FOUL Real
Shell side design
pressure ShellDsgnPress
Area per shell UnitAreaPerShell AREA Real
Shell Inside diameter ShellID DFLT Real
Number of shells in series NumOfSerShells InT
Number of shells in NumOfParShells InT
parallel
2
Shell inlet nozzle ρv ShellInletNozRhoV2 Real
Shell side Reynolds Real
number ShellReyNum
Shell side film heat ShellFilmCoeff HTCO Real
transfer coefficient
PRO II COM Server Reference Guide 195
Table 6.2 Rigorous Heat Exchanger Unit Operation
Read an attribute: Value=HXObject.GetAttribute(AttributeName, Index)
Write an attribute: HXObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Shell side film heat ShellFilmCoeffSclFct Real
transfer coefficient scaling
factor
Shell side fouling layer ShellFoulLayerThck DFLT Real
thickness
Weight data, Class = HxRig
Tube bundle weight TubeBundleWt WT Real
Empty shell weight ShellEmptyWt WT Real
Shell weight full with WT Real
water ShellWetWt
Baffle data, Class = HxRig
Baffle type BaffleType InT 1 - Single
2 – Double
5 - No baffles
(3 and 4 not in use in
PRO/II)
Number of baffles NumOfBaffles InT
Tubes in baffle windows TubesExistFlag InT 0 – Normal
1 – No tubes in
windows
Baffle geometry type BaffleGeometryFlag InT 1 – Based on baffle cut
2 – Based on Net free
area ratio
Baffle cut fraction BaffleCutFrac Real
Baffle net free area ratio NetFreeAreaRatio Real
Center spacing BaffleSpc DFLT Real
Inlet spacing InletBaffleSpc DFLT Real
Outlet spacing OutletBaffleSpc DFLT Real
Baffle thickness BaffleThck DFLT Real
Number of pairs of NumOfSealStripPairs InT
sealing strips
Combined Streams (Internal), Class = HxRig
Tube side Internal feed MergedFeed 0 STream
StreamID ID
Tube side Internal product MergedProduct 0 STream
StreamID ID
Shell side Internal feed MergedFeed 1 STream
StreamID ID
Shell side Internal product MergedProduct 1 STream
StreamID ID
Combined Stream Properties (Internal), Class = Stream
Temperature Temperature TEMP Real
Pressure Pressure PRES Real
Enthalpy TotalMolarEnthalpy ENTH Real
Entropy TotalMolarEntropy ENTR Real
Cp VaporMolarCp CP Real
All standard stream properties like Mole Fractions, Weight Fractions of various phases are accessible via the standard
Stream Class. See Table: 3-1
Zones Analysis, Class = HxRig
Number of zones for InT
zones analysis NumOfHtTrZones

196 Appendix B
Table 6.2 Rigorous Heat Exchanger Unit Operation
Read an attribute: Value=HXObject.GetAttribute(AttributeName, Index)
Write an attribute: HXObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Zones report prInt flag ZonesPrIntFlag InT 1 – Do not prInt zones
report
2- PrInt zones report
Zones report plot flag PlotFlag InT 0 – PrInt zones plot
1 – Do not prInt zones
plot
Heat transfer per zone ZoneHeatDuty 1 to N Real N = NumOfHtTrZones
Hot side temperatures ZoneHotTemp 1 to N+1 TEMP Real
Cold side temperatures ZoneColdTemp 1 to N+1 TEMP Real
Zone LMTD ZoneMeanTempDiff 1 to N Real
Hot side pressures ZoneHotPress 1 to N+1 PRESS Real
Cold side pressures ZoneColdPress 0 to N PRESS Real
Area per zone ZoneArea 1 to N Real
Zone LMTD correction ZoneFT 1 to N Real
factor
Zone U value ZoneUVal 0 to N-1 Real
Zone tube side film ZoneTubeFilmCoeff 1 to N Real
coefficient
Zone shell side film ZoneShellFilmCoeff 1 to N Real
coefficient

PRO II COM Server Reference Guide 197


Table 6.3 LNG Heat Exchanger Unit Operation
Read an attribute: Value=HXObject.GetAttribute(AttributeName, Index)
Write an attribute: HXObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Documentation, Class = LngHx
Descriptive name UnitName Char 40 char max
Configuration, Class = LngHx
Total cells in LNG heat TotalCellCount InT
exchanger
Total number of cold cells ColdCellCount InT
Total number of hot cells HotCellCount InT
Total number of cells with TotalSpecCellCount InT
specifications
Total number of cold cells ColdSpecCellCount InT
with specifications
Total number of hot cells HotSpecCellCount InT
with specifications
Cell name CellName 0 to N -1 Cell ID N = TotalCellCount
Cell hot/cold type CellType 0 to N -1 InT 0 – Undefined
1 – Hot side
2 – Cold side
Cell specification type CellSpecFlag 0 to N -1 InT 0 – No spec
1 – Outlet temperature
2 – Duty
Specified cell duty CellDuty 0 to N -1 DUTY Real
Specified cell outlet CellOutletTemp 0 to N -1 TEMP Real
temperature
Specified cell pressure CellPressDrop 0 to N -1 PDIF Real
drop
LNG thermo method set MethodData 0 to N -1 Meth ID Method used
Specified heat leak HLeakIn Real
fraction
Feeds, Class = LngHx
Number of feeds CurrentFeeds InT
Feed StreamIDs FeedData 0 to F -1 STream F = CurrentFeeds
ID
Starting index cell feeds FirstFeed 0 to N -1 InT N = TotalCellCount
Ending index cell feeds LastFeed 0 to N -1 InT
Merged cell feed label MergedFeed 0 to N -1 STream
ID
Products, Class = LngHx
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 to P -1 STream P=CurrentProducts
ID
Product stream phases ProductStoreData 0 to P -1 InT 1-Vapor
2-Liquid
3-Solid
4-Mixed
Starting index cell feeds FirstProduct 0 to N -1 InT
Ending index cell feeds LastProduct 0 to N -1 InT
Merged cell product label MergedProduct 0 to N -1 STream
ID

198 Appendix B
Table 6.3 LNG Heat Exchanger Unit Operation
Read an attribute: Value=HXObject.GetAttribute(AttributeName, Index)
Write an attribute: HXObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
PrInt Options, Class = LngHx
Include plots flag PlotOption InT 1 – No plots in output
report
2 – Include plots in
output report
Include temperature vs. TempDutyPlot InT 0 – Do not include plot
duty plot 1 – Include plot
Include UA vs. duty plot DutyUAPlot InT 0 – Do not include plot
1 – Include plot
Include UA vs. delta temp TempDiffUAPlot InT 0 – Do not include plot
1 – Include plot
Include delta temp. vs TempTempDiffPlot InT 0 – Do not include plot
temp. 1 – Include plot
Include delta temp. vs DutyTempDiffPlot InT 0 – Do not include plot
duty 1 – Include plot
Include duty vs. DutyTempPlot InT 0 – Do not include plot
temperature plot 1 – Include plot
Zones Options, Class = LngHx
Use zones analysis flag ZoneFlag InT 0 – Zones not used
1 – Zones calculated
during flowsheet
simulation
2 – Zones calculated
during output report
Specified number of NumZones InT
zones
Output Data
Performance data, Class = LngHx
Overall exchanger duty OverallCellDuty DUTY Real
Calculated heat duty of CellDutyCalc 0 to N -1 DUTY Real N = TotalCellCount
cell
Calculated outlet CellOutletTempCalc 0 to N -1 TEMP Real
temperature
Pressure drop used CellPressDropCalc 0 to N -1 PDIF Real

Heat leak fraction used by HLeakCalc


calculations
Products, Class = LngHx
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 to P -1 STream P=CurrentProducts
ID
Product stream phases ProductStoreData 0 to P -1 InT 1-Vapor
2-Liquid
3-Solid
4-Mixed
Starting index cell feeds FirstProduct 0 to N -1 InT
Ending index cell feeds LastProduct 0 to N -1 InT
Merged cell product label MergedProduct 0 to N -1 STream
ID

PRO II COM Server Reference Guide 199


Table 6.3 LNG Heat Exchanger Unit Operation
Read an attribute: Value=HXObject.GetAttribute(AttributeName, Index)
Write an attribute: HXObject.PutAttribute(Value,AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Combined Stream Properties (Internal), Class = Stream
Temperature Temperature TEMP Real
Pressure Pressure PRES Real
Enthalpy TotalMolarEnthalpy ENTH Real
Entropy TotalMolarEntropy ENTR Real
Cp VaporMolarCp CP Real
All standard stream properties like Mole Fractions, Weight Fractions of various phases are accessible via the standard
Stream Class. See Table 3-1
Zones analysis, Class = LngHx
Overall weighted duty OverallWtZoneDuty DUTY
from zones
Overall weighted U*A OverallWtZoneUA UA
from zones
Overall weighted LMTD OverallWtZoneLMTD TDIF
from zones
Minimum Internal ZoneMITA TDIF
temperature approach
from zones
Actual number of zone ZonePntCalc
poInts calculated.
Actual cold side zone ColdZonePntNum
poInts
Actual hot side zone HotZonePntNum
poInts
Duties for each zone ZoneDuty 1 to N – 1 DUTY N = ZonePntCalc
Number of pinch poInts PinchPtCountCalc
calculated
Hot side temperatures for ZoneHotSideTemp 0 to N - 1 TEMP 0 – Hot side outlet
each zone
Cold side temperatures ZoneColdSideTemp 0 to N - 1 TEMP 0 – Cold side inlet
for each zone

200 Appendix B
Table 7.1 Plug Flow Reactor(PFR) Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
PFR Documentation, Class = Plug
Descriptive name UnitName Char 40 char max
Feeds, Class = Plug
Number of feeds CurrentFeeds InT
Feed StreamIDs FeedData 0 to NF-1 STream NF=CurrentFeeds
ID
Products, Class = Plug
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 to NP-1 STream NP=CurrentProducts
ID
Product stream phases ProductStoreData 0 to NP-1 InT 0-Unspecified
1-Vapor
2-Liquid
3-Solid
4-Mixed
PFR Configuration, Class = Plug
Reactor length LengthIn FLEN Real
Reactor diameter DiamIn FLEN Real
Number of tubes TubesIn InT
Number of poInts in NumProfPrIntPts InT Default=10
reactor profile prIntout
PFR Reactor Tube Pressure Profile, Class = Plug
Reactor pressure flag PressureFlag InT 0 - Pressure given
1 - Pressure Drop (DP)
given
2 - Neither given
Reactor inlet pressure RxPresInFlag InT 1 - Lowest feed pressure
flag 2 - User input inlet
pressure
3 - Pressure drop below
feed
User supplied reactor InPresIn PRES Real
inlet pressure
Reactor outlet pressure RxPresOutFlag InT 1 - Lowest feed pressure
flag 2 - User input outlet
pressure
3 – Reactor pressure
drop
User supplied reactor PresIn PRES Real
outlet pressure
User supplied reactor InPresDropIn PDIF Real
inlet pressure drop
below feed pressure
User supplied reactor PresDropIn PDIF Real
pressure drop
Pressure profile flag PProfileFlag InT 0 - No pressure profile
1 - Pressure profile input
Number of pressure PresProfPoInts InT
profile poInts
Pressure profile PresProfile 0 to NP - TEMP Real NP = PresProfPoInts
1

PRO II COM Server Reference Guide 201


Table 7.1 Plug Flow Reactor(PFR) Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Pressure profile PresProfLocs 0 to NP - FLEN Real NP = PresProfPoInts
locations 1
Pressure profile location PProfileLocFlag InT 0 - Actual reactor length
basis 1 - Fraction of length
2 - Percent of length
PFR Thermal Conditions, Class = Plug
Operating phase flag RxOperPhaseIn InT 1 – Vapor (Default)
2 – Liquid
Reactor Operation Type RxOperTypeIn InT 1 – Thermal (isothermal
or temperature profile)
2 – Fixed duty
3 – External heat (co-
current)
4 - External heat
(countercurrent)
Isothermal operation flag IsoTempInFlag InT 0 = Not input – combined
feed temperature or from
profile if supplied
1 = Fixed temperature
supplied
Outlet temperature TempIn TEMP Real Fixed temperature
operation only
Temperature profile flag TProfileFlag InT 0 - Temperature Profile
Not Input
1 - Temperature Profile
Input
Number of temperature TempProfPoInts InT 0 - No temperature profile
profile poInts (feed temperature)
N - No. of temperature
profile locations input
Basis of location for TProfileLocFlag InT 0 - Actual Reactor Length
temperature profile 1 - Fraction of Length
2 - Percent of Length
Temperature profile TempProfLocs 0 to NP - FLEN Real NP = TempProfPoInts
locations 1
Input temperature profile TempProfile 0 to NP - TEMP Real NP = TempProfPoInts
1
Duty (DUTY) DutyIn DUTY Real RxOperTypeIn = 2 only
Cooling/heating stream ColdOutTempIn TEMP Real External heat option only
outlet temperature
External stream heat SideFlag InT 0 - None
type 1 - Cooling
2 - Heating
2
Input heat transfer HTCIn HTCO Real Default = 1 Btu/hr ft F
coefficient
Heating/cooling medium HotPresInFlag InT 1 - Combined feed
inlet pressure flag pressure (Default)
2 - User input inlet
pressure
3 - Pressure drop below
feed

202 Appendix B
Table 7.1 Plug Flow Reactor(PFR) Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Heating/cooling medium HotPresOutFlag InT 1 - Combined feed
outlet pressure flag pressure (Default)
2 - User input inlet
pressure
3 - Pressure drop below
feed
Heating/cooling medium ColdInPress PRES Real
inlet pressure
Heating/cooling medium ColdOutPress PRES Real
outlet pressure
Heating/cooling medium ColdPressDropIn PDIF Real
inlet pressure drop
Heating/cooling medium ColdPressDrop PDIF Real
pressure drop
Flag for prInting the heat PrIntPathFlagIn InT 0 – Heat path calculation
of reaction path not prInted
1 – Heat path calculation
prInted in output report
PFR Integration Method, Class = Define
Integration method flag IntMethodFlagIn InT 1 = Runge Kutta
2 = Gear
3 = LSODA
Runge Kutta option flag RungeKuttaOption InT 1=RungeKutta steps
2=RungeKutta step size
Number of Steps for RungeKuttaStepsIn InT Default =20
Runge Kutta Integration
Runge-Kutta step size IntStepSize Real
Gear/LSODA tolerance IntCalcTolIn Real Default = 0.1
PFR Unit Reaction Definitions, Class = Define
Reaction set selected RxnSetID RxnSet
ID
Reaction ids RxnID 0 to NR - 1
Number of components NumberOfRxnComps InT Number of components
in simulation in the simulation
Component ids CompID 0 to CID CompI NOC =
NOC-1 D NumberOfRxnComps
Calculation method for KIntypeFlagIn InT 1 - Power Law Equation
kinetic data 2 - User Kinetic
Subroutine
3 - In-Line Procedure
Reaction activity basis CompBasisFlagIn InT 1 = Concentration
2 = Partial pressure
3 = Vapor fugacity
4 = Liquid activity
Number of reactions in NumberOfReactions InT
the selected set
Reaction component BaseCompIDIn 0 to NR - 1 CID Char NR =
base NumberOfReactions
User supplied pre- PexpFactors 0 to NR - 1 Real
exponential factor (A)
User supplied activation ActivationEnergy 0 to NR - 1 Real
energy (E)

PRO II COM Server Reference Guide 203


Table 7.1 Plug Flow Reactor(PFR) Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
User supplied Texponents 0 to NR - 1 Real
temperature exponent
(n)
User supplied - rate PexpLiqvUOMIn 0 to NR - 1 LIQV Real
equation volume UoM
User supplied - rate PexpPresUOMIn 0 to NR - 1 PRES Real
equation pressure UoM
User supplied - weight PexpWtUOMIn 0 to NR - 1 WT Real
equation volume UoM
User supplied - time PexpTimeUOMIn 0 to NR - 1 TIME Real
equation volume UoM
User supplied order of ExpoRxnComps 0 to NOC Real NOC =
reaction -1 NumberOfRxnComps
User kinetic subroutine USKINIDIn InT 1 - User Kinetic
flag Subroutine = U1
2 - User Kinetic
Subroutine = U2
etc
Kinetic subroutine InT UserAddedIparm 0 to NP - InT NP = number of
parameter data (IPARM) 1 parameters (Default = 9)
Kinetic subroutine real UserAddedRparmIn 0 to NP - Real NP = number of
parameter data 1 parameters (Default = 69)
(RPARM)
Kinetic subroutine UserAddedSupple 0 to NP - Real NP = number of
supplemental parameter 1 parameters (Default =
data (SUPPLE) 199)
Kinetic procedure ID ProcedureIDIn Char
Kinetic procedure InT ProcIntVars 0 to NP - InT NP = number of
parameter data 1 parameters (Default = 9)
Kinetic procedure real ProcRealVars 0 to NP - Real NP = number of
parameter data 1 parameters (Default =
270)
Kinetic procedure InT ProcIntVars 0 to NP - InT NP = number of
parameter data 1 parameters (Default = 9)
Calculated Properties
Thermal Conditions, Class = Plug
Inlet temperature FeedTemp TEMP Real
Outlet temperature TempCalc TEMP Real
Inlet pressure FeedPress PRES Real
0 to NP - TEMP Real NP = TempProfPoInts
Temperature profile data TempProfile 1
Temperature profile 0 to NP - FLEN Real NP = TempProfPoInts
locations TempProfLocs 1
Outlet pressure PresCalc PDIF Real
Outlet pressure ProdPres PRES Real
Calculated pressure PDIF Real
drop PresDropCalc
0 to NP - PRES Real NP = PresProfPoInts
Pressure profile data PresProfile 1
Pressure profile 0 to NP - FLEN Real NP = PresProfPoInts
locations PresProfLocs 1

204 Appendix B
Table 7.1 Plug Flow Reactor(PFR) Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Duty DutyCalc DUTY Real
Calculated reactor LIQV Real
volume ReacVolume
Total heat of reaction TotalHOR ENER Real
Individual reactions heat HeatsOfRxn 0 to NR – ENTH Real NR = number of
of reaction 1 reactions
Base component name BaseCompNumbers 0 to NR - 1 CompID NR = number of
reactions
Individual component ReactionRates 0 to NC - 1 MRAT Real NC = number of
reaction rates components
Calculated activation ActualActEnergy 0 to NR - 1 ENER Real NR = number of
energy reactions
Calculated (-E/RT) terms ERTs 0 to NR - 1 Real NR = number of
reactions
Feed component rates FeedCompRates 0 to NC – MRAT Real NC = number of
1 components
Product component ProdCompRates 0 to NC – MRAT Real NC = number of
rates 1 components
Fractional conversion FracConversions 0 to NR - 1 Real NR = number of
reactions
Maximum velocity VmaxCalc VELO Real
Residence time ResidenceTime TIME Real
Heat transfer coefficient HTCCalc HTCO Real
Array for storing prInt PrIntResults 0 to 69 Real
results
Reference Conditions, Class = Plug
Reference conditions RefTempHOR TEMP Real
temperature for heat of
reaction calculations
Reference conditions RefPhaseFlag InT 1 – vapor
phase 2 – liquid
Feed reference RxFeedRefISN SID Char
conditions stream
Product reference RxProdRefISN SID Char
conditions stream
Reference temperature RefTemp TEMP Real
for enthalpy calculations
Individual reaction HeatOfRxnRefTemp 0 to NR - 1 TEMP Real NR = number of
reference temperatures reactions
for enthalpy calculations
Base component for HeatOfRxnBaseComp 0 to NR - 1 CompI NR = number of
heat of reaction D reactions
Merged Streams, Class = Plug
Internal stream MergedFeed SID Char
containing feed
conditions
Feed stream enthalpy FeedEnthalpy DUTY Real
Internal stream MergedProduct SID Char
containing product
conditions
Product stream enthalpy ProdEnthalpy DUTY Real

PRO II COM Server Reference Guide 205


Table 7.1 Plug Flow Reactor(PFR) Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Combined Stream Properties (Internal), Class = Stream
Temperature Temperature TEMP Real
Pressure Pressure PRES Real
Enthalpy TotalMolarEnthalpy ENTH Real
Entropy TotalMolarEntropy ENTR Real
Cp VaporMolarCp CP Real
All standard stream properties like Mole Fractions, Weight Fractions of various phases are accessible via the standard
Stream Class. See Table: 3-1

206 Appendix B
Table 8.1 Conversion Reactor Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Conversion Reactor Documentation, Class = ConReactor
Descriptive name UnitName Char 40 char max
Feeds, Class = ConReactor
Number of feeds CurrentFeeds InT
Feed StreamIDs FeedData 0 to NF-1 STream NF=CurrentFeeds
ID
Products, Class = ConReactor
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 to NP-1 STream NP=CurrentProducts
ID
Product stream phases ProductStoreData 0 to NP-1 InT 0-Unspecified
1-Vapor
2-Liquid
3-Solid
4-Mixed
Conversion Reactor Conditions, Class = ConReactor
Reactor Operation Type RxOperTypeIn InT 1 - Fixed outlet
temperature
2 - Fixed duty
3 - Temperature rise
Shift/Methanator flag RxType 0 – User specified
stoichiometry
1 – Shift reactor
2 – Methanator reactor
Outlet temperature delta IsoDTFeedIn TDIF Real
above feed
Outlet temperature OutTempIn TEMP Real
Duty ReactorDutyIn DUTY Real
Maximum temperature AdiaTmaxIn TEMP Real
Minimum temperature AdiaTminIn TEMP Real
Heat balance flag HeatBalanceFlagIn InT 1 - No heat balance
otheise - perform heat
balance
Flag for prInting the heat PrIntPathFlagIn 0 – Heat path
of reaction path calculation not
prInted
1 – Heat path calculation
prInted in output
report
Stop option XoptionFlagIn InT 1(MISS) - Stop
calculation
2 - Continue calculations
with no reaction
3 - Add makeup for
limiting reactant
4 - Reduce conversion
Pressure flag PressureFlagIn 1 - Reactor pressure
drop given
2 - Reactor outlet
pressure given

PRO II COM Server Reference Guide 207


Table 8.1 Conversion Reactor Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Pressure drop ReactorPresDropIn PDIF Real
Outlet pressure OutPresIn PRES Real
Input conversion basis ConvBasisFlagIn InT 1 - Feed based
conversion
2 - Reaction based
conversion
Reaction type RxTypeIn InT 0 – User specified
reaction set
1 - Shift reaction
2 – Methanation reaction

Reaction set selected RxnSetID RxnSet


ID
Number of reactions in NumberOfReactions InT
the selected set
Reaction ids RxnID 0 to NR - 1
Reaction component BaseCompID 0 to NR - 1 CID Char NR =
base NumberOfReactions
User supplied ConvCoeffIn 0 to 3*NR Real
conversion coefficients -1
Temperature basis for 0 to NR - 1 0 to NR - 1 Char
conversion coefficients
Conversion Reactor Define Stoichiometry, Class = Define
Number of components NumberOfComponents InT (Not available in v5.61)
in simulation
CompID 0 to NC-1 CID Char (Not available in v5.61)
Stoichiometry StoiCoefIn 0 to NC =
Coefficients actually NC * NR -1 NumberOfComponents*
used NR =
NumberOfReactions
Index =
NOC *( j - 1) + i -1
i = component number
j = reaction number
* You can obtain the NOC by executing the GetObjectCount method on object CompIn.
For example: NOC = P2File.GetObjectCount(“CompIn”)
Primary Unit for Define PriUnitID UnitID Contains Calculator UID
Starting element PriVectorVatEntry InT Contains starting
element for
stoichiometry
Calculated Properties
Thermal Conditions, Class = ConReactor
Inlet temperature RxIntemp TEMP Real
Outlet temperature OutTempCalc TEMP Real
Inlet pressure RxInPres PRES Real
Outlet pressure OutPresCalc PRES Real
Calculated pressure Real
drop ReactorPresDropCalc PDIF
Duty AdiaDutyCalc Duty Real
Total heat of reaction HeatOfReaction ENTH Real

208 Appendix B
Table 8.1 Conversion Reactor Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Negative component NegCompFlag InT 0 – No negative
rate flag components
1 – Negative component
rate detected
Number of reactions NumberOfReactions InT
Calculated conversions CalcConversions 0 to NR - 1 Real NR =
NumberOfReactions
Base component BaseCompNumbers 0 to NR - 1 InT
number
Base component name BaseCompID 0 to NR - 1 SID Char
Amount of base BaseCompRxnRates 0 to NR - 1 Real
component reacted
Conversion basis flag ConvBasisFlag 1 - Feed based
conversion
2 - Reaction based
conversion
Reference Conditions, Class = ConReactor
Reference conditions RefTemp TEMP Real
temperature for heat of
reaction calcultations
Reference conditions RefPhaseFlag InT 1 – vapor
phase 2 – liquid
Feed reference RefFeedISN SID Char
conditions stream
Feed reference condition RefFeedPres PRES Real
pressure
Feed reference condition RefFeedEnthalpy ENTH Real
enthalpy
Product reference RefProdISN SID Char
conditions stream
Product reference RefProdPres PRES Real
condition pressure
Product reference RefProdEnthalpy ENTH Real
condition enthalpy
Base component for HeatOfRxnBaseComp 0 to NR - 1 InT NR =
heat of reaction NumberOfReactions
Reference temperature HeatOfRxnRefTemp 0 to NR - 1 Real
for heat of reaction
Merged Streams, Class = ConReactor
Internal stream MergedFeed SID Char
containing feed
conditions
Feed stream enthalpy FeedEnthalpy Enth Real
Internal stream MergedProduct SID Char
containing product
conditions
Product stream enthalpy ProdEnthalpy Enth Real

Combined Stream Properties (Internal), Class = Stream


Temperature Temperature TEMP Real
Pressure Pressure PRES Real

PRO II COM Server Reference Guide 209


Table 8.1 Conversion Reactor Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Enthalpy TotalMolarEnthalpy ENTH Real
Entropy TotalMolarEntropy ENTR Real
Cp VaporMolarCp CP Real
All standard stream properties like Mole Fractions, Weight Fractions of various phases are accessible via the standard
Stream Class. See Table: 3-1

210 Appendix B
Table 8.2 Gibbs Reactor Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Gibbs Reactor documentation, Class = Gibbs
Descriptive name UnitName Char 40 char max
Feeds, Class = Gibbs
Number of feeds CurrentFeeds InT
Feed StreamIDs FeedData 0 to NF-1 Strm ID NF=CurrentFeeds
Products, Class = Gibbs
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 to NP-1 Strm ID NP=CurrentProducts
Product stream phases ProductStoreData 0 to NP-1 InT 0-Unspecified
1-Vapor
2-Liquid
3-Solid
4-Mixed
Operating Conditions, Class = Gibbs
Flag for form of input PressureFlagIn InT 1 - Pressure Drop (DP)
pressure given
2 - Pressure given
Flag for form of input PressDropFlag InT 0 – User specified
pressure pressure
1 – Pressure Drop (DP)
given.
User supplied reactor OutPressIn PRES Real
outlet pressure
User supplied reactor PressDropIn PDIF Real
pressure drop
Elimination criterion DropPhaseIn Real
Of a fluid phase
Reactor operation flag OperFlagIn InT 1 – User specified
temperature
2 – Adiabatic
3 – Feed temperature
Reactor temperature OutTempIn TEMP Real
Allowed maximum MaxTempIn TEMP Real
temperature
Allowed minimum MIntempIn TEMP Real
temperature
Global Temperature GlobalTempApprIn TDIF Real
Approach

Duty DutyIn DUTY Real


PrInt flag PrIntPathFlagIn InT 1 = PrInt heat balance

Reactor Data, Class = Gibbs


Maximum iteration MaxIterIn InT
allowed
Iteration number before StartTrialIn InT
Start of phase split trial

PRO II COM Server Reference Guide 211


Table 8.2 Gibbs Reactor Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Frequency of phase split TrialFreqIn InT
trial
Convergence tolerance ConvergeTolerIn Real
Convergence tolerance FibboTolerIn Real
for Fibonacci search
Product estimate flag ProdEstimFlagIn InT 0 – PRO/II default initial
estimate
1 – Average of all feeds
2 – User estimate (use
values given by the
REACTANTS entry on
the ELEMENT statement
Physical property ThermoUpdateFgIn InT 0 – Use values from
Evaluation option previous iteration
1 – Reevaluate values at
each step of the search
Reaction Definitions, Class = Gibbs
Element Names ElementNames 0 to Char NE – Number of element
NE - 1 groups
Operating phase flag RXNPhaseFlagIn InT 1 – Vapor
2 – Liquid
3 - Vapor – Liquid
4 – Liquid – Liquid
5 – Vapor – Liquid –
Liquid
6 – Calculated (Default)

Guessed phase when GuessPhaseIn InT 1 – Vapor


phase is unknown 2 – Liquid
3 - Vapor – Liquid
(Default)
4 – Liquid – Liquid
5 – Vapor – Liquid –
Liquid
6 – Calculated
Phase keyword flag PhaseSpecifiedFg InT 0 – Phase is specified
1 – phase is not
specified.
In GUI, always equal to
"1".

Individual reaction RxnTempApprIn 0 to TEMP Real NR = number of reactions


Temperature approach NR - 1
Component reaction flag CompReactantFlag 0 to NOC = Number of
NOC-1 Components
0 – Not Participate in
reaction
1 – Participate in reaction
Component Index ID CompID 0 to InT NOC = Number of
NOC-1 Components

212 Appendix B
Table 8.2 Gibbs Reactor Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Element coefficient ElementMatrixIn 0 to Real MASIZE = Element
matrix. stored as MASIZE Matrix size.
(element group,
component ID)
Each column stores the
value of each element
group based on which a
participating component
is constituted.
Individual reaction RxnTempApprIn 0 to Real NRXN – Number of
temperature approach NRXN - 1 reactions
Input individual reaction RxnExtentIn 0 to MRAT Real NRXN – Number of
extent NRXN - 1 reactions
Amount of fixed FixCompMoleIn 0 to MRAT Real NOC = Number of
component NOC-1 Components

Product estimate ProdRateEstimIn 0 to MRAT Real NOC = Number of


NOC-1 Components
Fixed-amount FixMassCompIn 0 to InT NOC = Number of
component ID NOC-1 Components
Unit flag for fixed- FixedMassUnitIn 0 to InT NOC = Number of
amount components NOC-1 Components
-1 – Percentage
0 – Weight
1 - Mole
Component ID for RxnExtentCompIn 0 to InT NRXN – Number of
reaction extent NRXN - 1 reactions
specification
Unit type for reaction RxnExtentBasisIn 0 to InT NRXN – Number of
extent specification NRXN - 1 reactions
0 – Weight
1 - Mole
Unit type for product flow ProdEstimBasisIn 0 to InT NOC = Number of
rate estimate NOC-1 Components
0 – weight
1 - Mole
Reaction set number RxnSetNumber InT
Reaction stoichiometry RxnStoichFlag InT 0 – No stoichiometry data
data source flag 1 – From reaction data
section
Number of components NumOfRxnComp InT
Reaction Internal RxnID 0 to InT NRXN – Number of
number for specified NRXN - 1 reactions
reactions
Number of stoich NumRxn InT
reactions
Number of element NumElement InT
groups either from
user input or from
call of DTNELM.FOR

PRO II COM Server Reference Guide 213


Table 8.2 Gibbs Reactor Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Maximum number of MaxFluidPhaseNo InT The value is determined
fluid phases by "RXNPhaseFgIn".
If "1" or "2" --> value = 1
"3" or "4" --> value = 2
"5" or "6" --> value = 3
IMISS --> value = 3
Flag for Element ElemtGroupFlag InT 0 = Element composition
composition not provided
1 = Element composition
Provided by the user.

Calculated Properties
Operating Conditions, Class = Gibbs
Calculated reactor outlet OutPressCalc PRES Real
pressure
Calculated reactor PressDropCalc PDIF Real
pressure drop
Calculated Phase RXNPhaseFlagCalc Real
Phase type PhaseTypeVector 0 to Real NPH = Maximum no of
NPH - 1 fluid phases
1 – Vapor
2 - Liquid
Operating phase flag RXNPhaseFlagCalc InT
calculated
Guessed phase when GuessPhaseCalc InT
phase is unknown
(calculated)
Elimination criterion DropPhaseCalc Real
Of a fluid phase
Initial split ratio for phase PhaseSplitRatioEst Real
split trial
Reactor operation flag OperFlagCalc InT
calculated
Reactor temperature OutTempCalc TEMP Real
calculated
Allowed maximum MaxTempCalc TEMP Real
temperature calculated
Allowed minimum MIntempCalc TEMP Real
temperature calculated
Global Temperature GlobalTempApprCalc TDIF Real
Approach calculated

Individual reaction RxnTempApprCalc 0 to NR - 1 TEMP Real NR = number of


Temperature approach reactions
calculated
Duty DutyCalc DUTY Real
Calculated duty CalcDuty DUTY Real

214 Appendix B
Table 8.2 Gibbs Reactor Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Merged stream feed FeedTemp TEMP Real
temperature
Merged stream feed InletPress PRES Real
pressure
Total heat of reaction TotalHOR DUTY Real
generated.
Reference state HORRefTemp TEMP Real
temperature for Heat of
reaction
Flash tolerance FlashTolerance Real
Dimensionless free GRT Real
energy (G/RT)
Elimination criterion DropPhaseCalc Real
Of a fluid phase
Initial split ratio for phase PhaseSplitRatioEst Real
split trial

Reactor Data,
Class = Gibbs
Unit ID UnitID Char
Maximum iteration MaxIterCalc InT
allowed
Iteration number before StartTrialCalc InT
Start of phase split trial
Frequency of phase split TrialFreqCalc InT
trial
Convergence tolerance ConvergeTolerCalc Real
Convergence tolerance FibboTolerCalc Real
for Fibonacci search

Gibbs energy FibonacciFlag InT 0 = "Interval Search"


minimization search 1 = "Fibonacci Search"
method.
Fugacity override flag FugacityOverrideFg InT
Product estimate flag ProdEstimFlagCalc InT 0 – PRO/II default initial
estimate
1 – Average of all feeds
2 – User estimate (use
values given by the
REACTANTS entry on
the ELEMENT
statement
Physical property ThermoUpdateFgCalc InT 0 – Use values from
Evaluation option previous iteration
1 – Reevaluate values
at each step of the
search
Step change factor for X StepChangeLimit Real
lambda update

PRO II COM Server Reference Guide 215


Table 8.2 Gibbs Reactor Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Convergence record (Y) YvalueRecord Real
at adiabatic conditions.
Convergence record (X) XvalueRecord Real
at adiabatic conditions
Feed stream number at FeedAtRefer InT
Reference conditions
Product stream number ProdAtRefer InT
at Reference conditions
Calculated phase CalcFluidPhaseNo InT
number
Reaction
Definitions, Class
= Gibbs
Element coefficient ElementMatrixCalc 0 to Real MSIZE = Global
matrix. stored as MSIZE component number
(element group, times element number
component ID)
Each column stores the
value of each element
group based on which a
participating component
is constituted.
Individual reaction RxnTempApprCalc 0 to NRXN TEMP Real NRXN – Number of
temperature approach -1 reactions
Input individual reaction RxnExtentCalc 0 to MRAT Real NRXN – Number of
extent NRXN - 1 reactions
Amount of fixed FixCompMoleCalc 0 to MRAT Real NRXNC = No of
component NRXNC -1 reacting components in
each reaction
Maximum number of MaxReactant InT
reactants in each
reaction (not used).
Stored as "1" if no
reaction has been
specified.
Product estimate ProdRateEstimCalc 0 to MRAT Real NRXNC = No of
NRXNC -1 reacting components in
each reaction
Fixed-amount FixMassCompCalc 0 to InT NRXNC = No of
component ID NRXNC-1 reacting components in
each reaction
Unit flag for fixed- FixedMassUnitCalc 0 to InT NRXNC = No of
amount components NRXNC-1 reacting components in
each reaction
Component ID for RxnExtentCompCalc 0 to InT NRXN – Number of
reaction extent NRXN - 1 reactions
specification
Unit type for reaction RxnExtentBasisCalc 0 to InT NRXN – Number of
extent specification NRXN - 1 reactions
0 – Weight
1 - Mole

216 Appendix B
Table 8.2 Gibbs Reactor Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Unit type for product flow ProdEstimBasisCalc 0 to InT NRXNC = No of
rate estimate NRXNC -1 reacting components in
each reaction
0 – weight
1 - Mole
Stoichiometric matrix for StoichRxnMatrix 0 to Real NRXGLO = Stoich.
Coefficients. NRXGLO -1 matrix size
Stored as data pairs:
(Component stoich
coefficient, reaction
number). Each column
stores the stoichiometric
coefficients of each
participating component
in a particular reaction.
Holds feed composition VECB 0 to Real NRXNC = No of
NRXNC -1 reacting components in
each reaction
Component order for GibbCompOrder 0 to InT NRXNC = No of
Gibbs variables NRXNC -1 reacting components in
each reaction
Phase type PhaseTypeVector 0 to InT NUMPHS = Max no. of
NUMPHS-1 fluid phase
1 = Vapor
2 = Liquid
Kvalue method flag FugacityMethod 0 to InT NRXNC = No of
NRXNC -1 reacting components in
each reaction
Number of reactions with NumOfRxnExtent InT
Extent specification.
No. of comps with fixed NumFixedMass InT
rates
Number of fixed NumFixCompDeriv InT
components including
inerts
Derived component DerivCompReactFg 0 to InT NRXNC = No of
reaction flag. NRXNC -1 reacting components in
each reaction
1. If Stoich data is
specified then flag =1for
specified components
Else flag = 0
2. Else If element
reactant is specified
then flag = 1 for
specified components
Else flag = 0
3.Else If element
composition is specified
then flag = 1 for
specified components
Else flag = 0

PRO II COM Server Reference Guide 217


Table 8.2 Gibbs Reactor Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Compact stoichiometry StoichRxnID 0 to Char NRXGLO - Stoich.
matrix for reactant ID NRXGLO-1 matrix size (compact)
copied from Reaction
Data section.
Stored as (component
ID, reaction). Each
column stores the
component ID of each
participating component
in a particular reaction.
Adiabatic error flag AdiabaticErrorFlag InT
Phase error flag PhaseErrorFlag InT
Heat Balance FLAG NoHeatBalanceFlag InT
Merged Streams,
Class = Gibbs
Internal stream MergedFeed SID Char
containing feed
conditions
Internal stream MergedProduct SID Char
containing product
conditions
Combined Stream
Properties
(Internal), Class =
Stream
Temperature Temperature TEMP Real
Pressure Pressure PRES Real
Enthalpy TotalMolarEnthalpy ENTH Real
Entropy TotalMolarEntropy ENTR Real
Cp VaporMolarCp CP Real
All standard stream properties like Mole Fractions, Weight Fractions of various phases are accessible via the standard Stream
Class. See Table 3-1

218 Appendix B
Table 8.3 Equilibrium Reactor Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Equilibrium Reactor Documentation, Class = EquReactor
Descriptive name UnitName Char 40 char max
Feeds, Class = EquReactor
Number of feeds CurrentFeeds InT
Feed StreamIDs FeedData 0 to NF-1 STream NF=CurrentFeeds
ID
Products, Class = EquReactor
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 to NP-1 STream NP=CurrentProducts
ID
Product stream phases ProductStoreData 0 to NP-1 InT 0-Unspecified
1-Vapor
2-Liquid
3-Solid
4-Mixed
Equilibrium Reactor Conditions, Class = EquReactor
Reactor Operation Type RxOperTypeIn InT 1 - Fixed outlet
temperature
2 - Fixed duty
3 - Temperature rise
Shift/Methanator flag RxType 0 – User specified
stoichiometry
1 – Shift reactor
2 – Methanator reactor
Outlet temperature delta IsoDTFeedIn TDIF Real
above feed
Outlet temperature OutTempIn TEMP Real
Duty ReactorDutyIn DUTY Real
Maximum temperature AdiaTmaxIn TEMP Real
Minimum temperature AdiaTminIn TEMP Real
Reaction phase RxOperPhaseFlagIn InT 1 – Vapor phase
reaction
2 – Liquid phase
reaction
Heat balance flag HeatBalanceFlagIn InT 1 - No heat balance
otheise - perform heat
balance
Flag for prInting the heat PrIntPathFlagIn InT 0 – Heat path
of reaction path calculation not
prInted
1 – Heat path calculation
prInted in output
report
Pressure flag PressureFlagIn InT 1 - Reactor pressure
drop given
2 - Reactor outlet
pressure given
Pressure drop ReactorPresDropIn PDIF Real
Outlet pressure OutPresIn PRES Real

PRO II COM Server Reference Guide 219


Table 8.3 Equilibrium Reactor Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Reaction type RxTypeIn InT 0 – User specified
reaction set
1 - Shift reaction
2 – Methanation reaction

Reaction set selected RxnSetID RxnSet


ID
Number of reactions in NumberOfReactions InT
the selected set
Reaction ids RxnID 0 to NR - 1
Reaction component BaseCompID 0 to NR - 1 CID Char NR =
base NumberOfReactions
Equilibrium coefficients EquilCoeff 0 to 7 InT
A through H
Approach
Conversion Reactor Define Stoichiometry, Class = Define
Number of components NumberOfComponents InT (Not available in v5.61)
in simulation
CompID 0 to NC-1 CID Char (Not available in v5.61)
Stoichiometry StoiCoefIn 0 to InT NC =
Coefficients actually NC * NR -1 NumberOfComponents*
used NR =
NumberOfReactions
Index =
NOC *( j - 1) + i -1
i = component number
j = reaction number
* You can obtain the NOC by executing the GetObjectCount method on object CompIn.
For example: NOC = P2File.GetObjectCount(“CompIn”)
Primary Unit for Define PriUnitID UnitID Contains Calculator UID
Starting element PriVectorVatEntry InT Contains starting
element for
stoichiometry
Calculated Properties
Thermal Conditions, Class = EquReactor
Inlet temperature RxIntemp TEMP Real
Outlet temperature OutTempCalc TEMP Real
Inlet pressure RxInPres PRES Real
Outlet pressure OutPresCalc PRES Real
Calculated pressure PDIF Real
drop ReactorPresDropCalc
Duty AdiaDutyCalc Duty Real
Total heat of reaction HeatOfReaction ENTH Real
Negative component NegCompFlag InT 0 – No negative
rate flag components
1 – Negative component
rate detected
Reference Conditions, Class = EquReactor

220 Appendix B
Table 8.3 Equilibrium Reactor Unit Operation
Read an attribute: ReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: ReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Reference conditions RefTemp TEMP Real
temperature for heat of
reaction calcultations
Reference conditions RefPhaseFlag InT 1 – vapor
phase 2 – liquid
Feed reference RefFeedISN SID Char
conditions stream
Feed reference condition RefFeedPres PRES Real
pressure
Feed reference condition RefFeedEnthalpy ENTH Real
enthalpy
Product reference RefProdISN SID Char
conditions stream
Product reference RefProdPres PRES Real
condition pressure
Product reference RefProdEnthalpy ENTH Real
condition enthalpy
Base component for HeatOfRxnBaseComp 0 to NR - 1 InT NR =
heat of reaction NumberOfReactions
Reference temperature HeatOfRxnRefTemp 0 to NR - 1 Real
for heat of reaction
Merged Streams, Class = EquReactor
Internal stream MergedFeed SID Char
containing feed
conditions
Feed stream enthalpy FeedEnthalpy Enth Real
Internal stream MergedProduct SID Char
containing product
conditions
Product stream enthalpy ProdEnthalpy Enth Real
Combined Stream Properties (Internal), Class = Stream
Temperature Temperature TEMP Real
Pressure Pressure PRES Real
Enthalpy TotalMolarEnthalpy ENTH Real
Entropy TotalMolarEntropy ENTR Real
Cp VaporMolarCp CP Real
All standard stream properties like Mole Fractions, Weight Fractions of various phases are accessible via the standard
Stream Class. See Table: 3-1
Number of reactions NumberOfReactions InT
Calculated conversions CalcConversions 0 to NR - 1 Real NR =
NumberOfReactions
Base component BaseCompNumbers 0 to NR - 1 InT
number
Base component name BaseCompID 0 to NR - 1 SID Char
Amount of base BaseCompRxnRates 0 to NR - 1 Real
component reacted
Conversion basis flag ConvBasisFlag InT 1 - Feed based
conversion
2 - Reaction based
conversion

PRO II COM Server Reference Guide 221


Table 9.1 Batch Distillation Unit Operation
Read an attribute: BatchDistil Object.GetAttribute(AttributeName, Index)
Write an attribute: BatchDistil Object.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Batch distillation Documentation, Class = BatchDistil
Descriptive name UnitName Char 40 char max
Column and Calculation parameters, Class = BatchDistil
Number of trays NumColumnTrays InT Number of column
trays input
Indicator for upper vessel UpperVesselIndicator InT 0 = not present, 1 =
Present
Number of trays in upper NumUpperColumnTrays InT Number of trays in
column upper column
Total number of stages NumStagesInput InT Total number of stages
- input
Update Interval for Energy EnergyBalUpdIntvlInp TIME Real Update Interval for EB -
balance scalar input

Tray efficiency method TrayEfficFlag InT 1 – No tray efficiency


scalar 2 – Murphree efficiency
3 – Equilibrium
efficiency
4 – Vaporization
efficiency
Tray thermo method VlleTrayMethod InT Tray thermo method

Thermo method flag ColThermoMethod InT Column thermo method

Efficiency input code EffFlg InT 0 – none,


1 – TEFF,
2 - CEFF,
3 – Both TEFF & CEFF
Component efficiency CompEff1 Real Vectors of component
vector efficiencies - set 1

Tray efficiency TrayEfficiency Real Tray efficiency vector


vector
Maximum number of VLLE VlleCheckMaxNewTrays InT Default = No. of trays
stages
Component ID set 1 CompIdsCEffic1 InT Vector of comp IDs for
Vector component efficiency
set 1
Tray numbers for TrayNumsCEffic1 InT Vector of tray numbers
efficiency Vector for component
efficiency set 1
Efficiency factor TrayEfficiencyFactor Real efficiency factor for tray
scalar efficiencies

Number of tray comp NumOfCompEfCompsSet1 InT


efficiency components - scalar
set
Number of tray comp NumOfCompEffTrays1 InT
efficiency trays - set 1 scalar

222 Appendix B
Table 9.1 Batch Distillation Unit Operation
Read an attribute: BatchDistil Object.GetAttribute(AttributeName, Index)
Write an attribute: BatchDistil Object.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Feed data, Class = BatchDistil
Number of feeds CurrentFeeds InT Number of feeds
Feed StreamIDs FeedData 0 to N -1 STream N=CurrentFeeds
ID
Products data, Class = BatchDistil
Number of products CurrentProducts InT Number of products
Product StreamIDs ProductData 0 to N - 1 STream N =CurrentProducts
ID
VLLE check for condenser VllecondenserCheck InT
product
VLLE check flag ThermoClassVLLEFlg InT 0 – No VLLE,
1 - VLLE
Flag to check phase split VlleTrayChkFlag InT Flag to check phase
on a tray with condenser Vector split on a tray with
thermo condenser thermo
Product definition vector ProdDefinition InT 1 - Heel, 2 –
Vector Accumulator, 3 -
Overhead
Equimolal-overflow flag EquiMolOverflowFlag InT 1 = Specified, 2 = not
specified

Condenser Specifications, Class = BatchDistil


Condenser Option CondenserTypeInput InT 1 = Partial, 2 = Mixed,
3 = Bubble, 4 = fixed
temp. , 5 = DTBB
Condenser HX check CondHXCheck InT

Tube passes CondHXTubePassIn InT Tube Passes of Hx


used as Condenser
Shell passes CondHxShellPassIn InT Shell Passes of Hx
used as Condenser
Condenser thermo method ConThermoMethod InT

Condenser temperature CondenserTemperature TEMP Real Input condenser


scalar temperature

Condenser limiting vapor CondVapFracLimInput FRAC Real Input condenser


fraction scalar limiting vapor fraction

Condenser temperature CondenserTempDrop TDIF Real condenser temperature


drop scalar drop - Input

Condenser pressure CondenserPressure PRES Real Condenser pressure -


scalar Input

Condenser holdup CondenserHoldup Real condenser holdup -


scalar Input

PRO II COM Server Reference Guide 223


Table 9.1 Batch Distillation Unit Operation
Read an attribute: BatchDistil Object.GetAttribute(AttributeName, Index)
Write an attribute: BatchDistil Object.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Condenser area CondHxAreaIn AREA Real Area of Hx used as
scalar Condenser - Input

U Value for Condenser CondHxUvalueIn HTCO Real U Value of Hx used as


scalar Condenser

Ft Factor of Condenser CondHxFtFactorIn Real Ft Factor of Hx used as


scalar Condenser

condenser HX tolerance HxConvergeTol Real condenser HX


scalar tolerance

condenser holdup Liquid CondensL1Holdup Real condenser holdup


L1 scalar Liquid L1

condenser holdup Liquid CondensL2Holdup Real condenser holdup


L2 scalar Liquid L2

Reboiler Specifications, Class = BatchDistil


Reboiler HX check ReboilHXCheck InT

Check for Heat media ReboilerSpecFlag InT Index: check for Heat
spec Vector media spec

Stream reference for ReboilerStreamRef InT Stream reference


reboiler charge Vector (StreamID) for reboiler
charge
Area of Reboiler ReboilHxAreaIn AREA Real Area of Hx used as
scalar Reboiler

U Value of Reboiler ReboilHxUvalueIn HTCO Real U Value of Hx used as


scalar Reboiler

Reboiler HX tolerance ReboilConvergeTol Real Reboiler HX tolerance


scalar

Rate of reboiler utility ReboilerRateIn Real Rate of reboiler utility -


vector Input
Reboiler fluid pressure ReboilerPressDpIn PDIF Real Reboiler fluid pressure
drop vector drop - Input
Thermo method ID for StageThermoMethodIn InT Thermo method ID for
ending stage Vector ending stage

Pressure profile data, Class = BatchDistil


Top tray pressure TopTrayPressure PRES Real Top tray pressure -
scalar Input

Stillpot pressure StillpotPressure PRES Real Stillpot pressure - Input


scalar

224 Appendix B
Table 9.1 Batch Distillation Unit Operation
Read an attribute: BatchDistil Object.GetAttribute(AttributeName, Index)
Write an attribute: BatchDistil Object.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Pressure drop per stage PressureDropPerStg PDIF Real pressure drop per
scalar stage - Input

Pressure drop per column PressureDropPerColu PDIF Real pressure drop per
scalar column - Input

Stage pressures StagePressures PRES Real Stage Pressures (top


vector down) - pressure
values
Stage liquid holdup specifications, Class = BatchDistil
Tray holdup TrayHoldup Real tray holdup - Input
scalar

UOM basis for holdups HoldupBasisInp InT 1 = Molar, 2 = Weight,


3 = Liquid volume
Stage Holdups StageHoldups Real Stage Holdups (top
vector down) - holdup values

Stop criteria data, Class = BatchDistil


Number of triggers in NumOfStopTriggers InT Number of triggers in
STOP statements scalar STOP statements
Maximum time stop MaxTime TIME Real maximum time stop
criterion scalar criterion

Minimum charge fraction MinChargeFractionInp FRAC Real Minimum charge


stop criterion scalar fraction stop criterion-
input
Stop trigger values StopTrigValue Real
vector
Policy ID StopChgFracGoPSInp InT Policy segment ID for
Vector GOTO associated with
STOP CHGFRAC
Stop trigger basis StopTrigBasisInp InT 1 = Molar, 2 = Weight,
Vector 3 = Liquid volume

UOM basis for change ChgFracBasisInp InT 1 = Molar, 2 = Weight,


fraction 3 = Liquid volume
Policy ID StopTrigGoPolSegInp InT Policy segment ID for
Vector GOTO associated with
stop trigger
Stop trigger type StopTrigType InT 4 – Amount,
Vector 5 – Fraction,
6 – Percent,
7 – PPM,
8 - Temperature
Stop trigger location index StopTrigLocation InT 1 – Pot,
Vector 2 – top vapor,
3 – inst. Distillate,
4 - accumulator

PRO II COM Server Reference Guide 225


Table 9.1 Batch Distillation Unit Operation
Read an attribute: BatchDistil Object.GetAttribute(AttributeName, Index)
Write an attribute: BatchDistil Object.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Stop trigger component StopTrigCompIndex InT
index Vector

Stop trigger 2nd StopTrigCompIndex2 InT


component index Vector

Stop trigger approach StopTrigApproach InT 1 – from either


direction Vector direction,
2 – from above
3 – from below
Snapshot specifications, Class = BatchDistil
Snapshot data flag SnapInterdataFlag InT Flag for creating file for
snapshot Intermittant
data
Policy ID flag SnapdataPolicyID InT Policy ID for which
Snapshot data is
selected - input
Storage type flag SnapTypeFlag InT Flag for tpye of
storeage for
snapshot(average/end
of policy)
Data file name DataFileName InT File name for data
access of trend and
snap shots
Time to begin saving DataTimeStart TIME Real Time to begin saving
scalar

Time to end saving DataTimeEnd TIME Real Time to end saving


scalar

Frequency to end saving DataTimeFreq TIME Real Frequency to end


scalar saving

Names of the input save SaveObjNameIn InT Names of the input


objects Vector save objects

Trend graph flag TrendInterdataFlag InT Flag for creating file for
trend graph Intermittant
data

Operational Policy data, Class = BatchDistil


Number of policy NumOfPolicySegments InT Number of policy
segments scalar segments
Policy segment ID PolSegID InT Policy segment ID
Vector

Policy segment sequential PolSegSequenFlag InT 0 - not sequential,


flag Vector 1 - sequential

226 Appendix B
Table 9.1 Batch Distillation Unit Operation
Read an attribute: BatchDistil Object.GetAttribute(AttributeName, Index)
Write an attribute: BatchDistil Object.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Policy segment use PolSegUseInp InT 1 = Single, 2 = Multiple
indicator Vector

Policy ID PolStartWithSegID InT Policy segment ID for


Vector WITH associated with
policy START
Policy ID PolStartPendedSegID InT Policy segment ID for
Vector PENDED associated
with policy START
Policy start incidence PolStartIncidence InT
matrix Vector

Position of first trigger PolStartTriggerOff InT Position in policy start


Vector trigger vector of first
trigger for given policy
segment

Number triggers in NumOfStartTriggers InT Number triggers in


POLICY STARTs scalar POLICY STARTs
Start trigger basis StartTrigBasisInp InT 1 = Molar, 2 = Weight,
Vector 3 = Liquid volume

Start trigger values StartTrigValue Real


vector
Start trigger type StartTrigType Real 2 – time,
vector 4 – Amount,
5 – Fraction,
6 – Percent,
7 – PPM,
8 - temperature
Start trigger location index StartTrigLocation Real 1 – Pot,
vector 2 – top vapor,
3 – inst. Distillate,
4 - accumulator
Start trigger component StartTrigCompIndex Real
index vector
Start trigger 2nd StartTrigCompIndex2 Real
component index vector
Start trigger approach StartTrigApproach Real 1 – from either
direction vector direction,
2 – from above
3 – from below
Start trigger policy StartTrigPolSeg Real Policy segment (psn) in
segment vector which start trigger
occurs
Ordinal number of start StartTrigSeqInPol Real
trigger in policy segment vector

Total number of charges NumOfCharges InT Total number of


scalar charges

PRO II COM Server Reference Guide 227


Table 9.1 Batch Distillation Unit Operation
Read an attribute: BatchDistil Object.GetAttribute(AttributeName, Index)
Write an attribute: BatchDistil Object.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Charge Type ChargeType InT 1 – Only amount given,
Vector 2- Only rate given,
3 – Amount and rate
given,
4 – Amount and
duration given
5 – rate and duration
given
Charge incidence matrix ChargeIncidence InT
Vector

Charge ID ChargeIDInp InT Charge ID - input


Vector

Stream reference for ChargeStreamRef InT Stream reference


charge Vector (StreamID) for charge

Destination stage number ChargeStage InT Destination stage


for charge Vector number for charge

Charge amount UOM ChargeAmountBasisInp InT 1 = Molar, 2 = Weight,


basis Vector 3 = Liquid volume

Charge rate UOM basis ChargeRateBasisInp InT 1 = Molar, 2 = Weight,


Vector 3 = Liquid volume

Amount of charge ChargeAmount Real


vector
Rate of charge ChargeRateInput Real Rate of charge - input
vector
Charge duration ChargeDurationInput TIME Real Charge duration - input
vector

Total number of draws NumOfDraws InT Total number of draws


scalar
Draw Type DrawType InT 1 – Only amount given,
Vector 2- Only rate given,
3 – Amount and rate
given,
4 – Amount and
duration given
5 – rate and duration
given
Product stream reference DrawProdStreamRef InT Product stream
for draw Vector reference (StreamID)
for draw
Source stage number for DrawStageInp InT Source stage number
draw Vector for draw - input

Draw amount UOM basis DrawAmountBasisInp InT 1 = Molar, 2 = Weight,


Vector 3 = Liquid volume

228 Appendix B
Table 9.1 Batch Distillation Unit Operation
Read an attribute: BatchDistil Object.GetAttribute(AttributeName, Index)
Write an attribute: BatchDistil Object.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Draw rate UOM basis DrawRateBasisInp InT 1 = Molar, 2 = Weight,
Vector 3 = Liquid volume

Draw incidence matrix DrawIncidence InT


Vector

Flag for draw from DrawAccumFlag InT 0 – not specified,


accumulator Vector 1 - specified

Amount of draw DrawAmount Real Amount of draw


vector
Rate of draw DrawRateInput Real Rate of draw - input
vector
Draw duration DrawDurationInput TIME Real Draw duration - input
vector

Number triggers in NumOfRunUntlTriggers InT Number triggers in


POLICY RUNUNTILs scalar POLICY RUNUNTILs
Rununtil trigger basis RunuTrigBasisInp InT 1 = Molar, 2 = Weight,
Vector 3 = Liquid volume

Policy ID RunuTrigGoPolSegInp InT Policy segment ID for


Vector GOTO associated with
rununtill trigger
Rununtil trigger values RunuTrigValue Real
vector
Rununtil trigger type RunuTrigType InT 2 – time,
vector 3 - DTIME
4 – Amount,
5 – Fraction,
6 – Percent,
7 – PPM,
8 - temperature
Rununtil trigger location RunuTrigLocation InT 1 – Pot,
index vector 2 – top vapor,
3 – inst. Distillate,
4 - accumulator
Rununtil trigger RunuTrigCompIndex InT
component index vector
Rununtil trigger 2nd RunuTrigCompIndex2 InT
component index vector
Rununtil trigger approach RunuTrigApproach InT 1 – from either
direction vector direction,
2 – from above
3 – from below
Policy segment (psn) in RunuTrigPolSeg InT
which rununtil trigger vector
occurs
Ordinal number of rununtil RunuTrigSeqInPol InT
trigger in policy segment vector
RunUntil incidence matrix RunUntilIncidence InT
vector
PRO II COM Server Reference Guide 229
Table 9.1 Batch Distillation Unit Operation
Read an attribute: BatchDistil Object.GetAttribute(AttributeName, Index)
Write an attribute: BatchDistil Object.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
UOM for top vapor rate TopVapRateUOMBasis InT 1 = Mole, 2 = WT, 3 =
Vector LV, 4 = GV

UOM for ditillate DistilRateUOMBasis InT 1 = Mole, 2 = WT, 3 =


Vector LV, 4 = GV

Number of specs in NumOfPolDistillSpecs InT Number of specs in


POLICY DISTILLs scalar POLICY DISTILLs
Distill occurrence vector DistilOccurrence InT 0 – not present,
Vector 1 - present

Distill incidence matrix DistilIncidence InT


Vector

Distill spec type DistilSpecType InT 1 – top vapor rate


Vector 2 – distillate rate
3 – reflux ratio
4 – prInt Interval
5 – step size
6 – max. step size
7 – error tolerance
8 – liquid1 dist. Rate
9 – liquid2 dist. Rate
10 – liquid1 reflux ratio
11 – liquid2 reflux ratio
Distill spec values DistilSpecValue Real Distill spec values
vector
Controller incidence flag ControllerIncidence InT 0 – not specified
Vector 1 - specified

Controller spec UOM basis ControlSpecBasisInp InT 1 = Molar, 2 = Weight,


Vector 3 = Liquid volume

Controller - stage for ControlStage InT Controller - stage for


specified variable Vector specified variable

Controller component ControlCompNums InT Controller component


number codes Vector number codes

Controller component ControlCompNumIncid InT


number incidence Vector

Controller vary type ControlVaryType InT 1 = reflux ratio, 2 =


Vector distillate rate

Controller spec type ControlSpecType InT 1 – Temperature


Vector 2 – DTEMP
3 – Fraction
4 – Percent
5 - PPM

230 Appendix B
Table 9.1 Batch Distillation Unit Operation
Read an attribute: BatchDistil Object.GetAttribute(AttributeName, Index)
Write an attribute: BatchDistil Object.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Specified value for ControlSpecValue Real Specified value for
controller vector controller
Controller - min. value for ControlMinVary Real Controller - min. value
varied variable vector for varied variable
Controller - max. value for ControlMaxVary Real Controller - max. value
varied variable vector for varied variable
Controller gain ControllerGainInp Real Controller gain - input
vector
Number of comp.numbers NumOfControllerCnos InT Number of
in controller specs scalar comp.numbers in
controller specs
Check for coolant spec CoolantSpecFlag InT Index: check for
Vector coolant spec

Stream reference for CoolantStreamRef InT Stream reference


Coolent charge Vector (StreamID) for Coolent
charge
Rate of coolant Real Rate of coolant - input
CoolantRateIn
vector
coolant Pressure drop CoolantPressDpIn PDIF Real coolant Pressure drop -
vector input
UOM for cooling stream CoolantstrmBasis InT 1 = Mole, 2 = WT, 3 =
Vector LV, 4 = GV

UOM for heating stream HeatingstrmBasis InT 1 = Mole, 2 = WT, 3 =


Vector LV, 4 = GV

Product ID EndcutProduct InT Product stream


Vector reference (StreamID)
for endcut
selection of Liquid phase EndcutLiqphase InT 0 = both L1 & L2, 1 =
for End cut Vector L1, 2 = L2

Endcut incidence flag EndcutIncidence InT 0 – not specified


Vector 1 - specified

Policy segment ID for GoPolSegInput InT Policy segment ID for


GOTO Vector GOTO

Policy GoTo incidence flag GoToIncidence InT 0 – not specified


Vector 1 - specified

Check for policy pressure PressTimeCheck InT Index: check for policy
time Vector pressure time

Check for policy pressure IndexSegPress InT Index: check for policy
Vector pressure

condenser pressure for CondenserPolyPress PRES Real condenser pressure for


policy vector policy
top tray pressure for policy TopTrayPolyPress PRES Real top tray pressure for
vector policy
PRO II COM Server Reference Guide 231
Table 9.1 Batch Distillation Unit Operation
Read an attribute: BatchDistil Object.GetAttribute(AttributeName, Index)
Write an attribute: BatchDistil Object.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
stillpot pressure for policy StillpotPolyPress PRES Real stillpot pressure for
vector policy
pressure drop per stage PolyPressDropPerStg PDIF Real pressure drop per
for policy vector stage for policy
pressure drop per column PolyPressDropPerCol PDIF Real pressure drop per
for policy vector column for policy
Stage Pressures - StagePOLYPressures PRES Real Stage Pressures (top
pressure values vector down) - pressure
values
Time for pressure change PressTimePeriod TIME Real
from the previous policy vector
value
Calculation method data, Class = BatchDistil
Integration method IntegMethodInp InT 1 = SIT, 2 = LSODA
indicator
Starting Integration step IntegStepSizeInp Real starting Integration step
size scalar size - input

Integration max. step size IntegMaxStepSizeInp Real Integration max. step


scalar size - input

Integration error tolerance IntrorTolInp Real Integration error


scalar tolerance - input

Liquid density calculation data, Class = BatchDistil


Liquid Density Calculation LiqDensityCalcInp InT 1 = rigorous, 2 =
Indicator shortcut
Reference temperature for RefTempForVolumeInp TEMP Real reference temperature
volume calculations scalar for volume calculations
- input
Output options data, Class = BatchDistil
PrInt level PrIntLevelInput InT 1 = none, 2 = events, 3
= all
Time step (DTIME) for PrIntTimeStep TIME Real time step for PRINT
PRINT scalar

Start time for PRINT PrIntStartTime TIME Real start time for PRINT
scalar

End time for PRINT PrIntEndTime TIME Real end time for PRINT
scalar

Batch cycle time, Class = BatchDistil


Batch cycle time BatchCycleTime TIME Real batch cycle time - Input
scalar

Calculated data, Class = BatchDistil


VLE/VLLE FLAG StageVLLEThermoMeth InT 1 – VLE
vector 2 - VLLE

232 Appendix B
Table 9.1 Batch Distillation Unit Operation
Read an attribute: BatchDistil Object.GetAttribute(AttributeName, Index)
Write an attribute: BatchDistil Object.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Number of liquid phases StageNumLiqPhases InT 1 – one liquid Phase on
on tray vector tray
2 – two liquid phases
on tray
Thermo method code for StgThermoMethod InT
each tray vector
Calculation method CalculationMethod InT 1 – SURE, 2 – FAST, 3
scalar – IO, 4 - EXDIST
Index of object containing SummaryObjInd InT
data for a given vector
summary
Index in given object for SummaryIndInObj InT Index in a given object
time vector for the time-slice
corresponding to a
given summary
Total number of summary NumOfSummaries InT
(snapshot) reports scalar
Index: calculation order to IndexCalcToInside InT
inside order vector
Index: inside order to IndexInsideToCalc InT
calculation order vector
Top vapor rate TopVaporRate Real current top vapor rate
scalar
Reflux ratio RefluxRatio Real current reflux ratio
scalar
Distillate rate DistillateRate Real current distillate rate
scalar
PrInt Interval PrIntInterval TIME Real current prInt Interval
scalar
Actual maximum ActualMaxTime TIME Real Actual max. time
simulation time scalar reached in simulation
Condenser Tube passes CondHXTubePass InT Tube Passes of Hx
scalar used as Condenser
Condenser Shell passes CondHxShellPass InT Shell Passes of Hx
scalar used as Condenser
Condenser area CondHxAreaCalc AREA Real Area of Hx used as
scalar Condenser

U Value of Hx used as CondHxUvalueCalc HTCO Real U Value of Hx used as


Condenser scalar Condenser

Ft Factor of Hx used as CondHxFtFactorCalc Real Ft Factor of Hx used as


Condenser scalar Condenser

LMTD OF HX LmtdFactor TDIF Real LMTD OF HX


scalar
HX duty HxDuty DUTY Real HX duty
scalar
Area of Hx used as ReboilAreaCalc AREA Real Area of Hx used as
Reboiler scalar Reboiler

PRO II COM Server Reference Guide 233


Table 9.1 Batch Distillation Unit Operation
Read an attribute: BatchDistil Object.GetAttribute(AttributeName, Index)
Write an attribute: BatchDistil Object.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
U Value of Hx used as ReboilHxUvalueCalc HTCO Real U Value of Hx used as
Reboiler scalar Reboiler

Reboiler LMTD factor ReboilLmtdFactor Real Reboiler LMTD factor


scalar
efficiency factor for tray TrayEffFactCalc Real efficiency factor for tray
efficiencies scalar efficiencies
Reboiler HX DUTY ReboilHxDuty DUTY Real Reboiler HX DUTY
scalar
Component efficiencies for TrayCompEffThird Real Component efficiencies
second methods vector for second methods
Secondary tray efficiency TrayEffSecondary Real Secondary tray
vector efficiency
Rate of charge ChargeRate Real Rate of charge
vector
Charge duration ChargeDuration TIME Real Charge duration
vector
Rate of draw DrawRate Real Rate of draw
vector
Draw duration DrawDuration TIME Real Draw duration
vector
Time for summary report SummaryTime TIME Real Time for a given
vector summary (snapshot)
report
Final cumulative amount ChargeAmountFinal Real Final cumulative
used for charge vector amount used for
charge
Final cumulative amount ProductAmountFinal Real Final cumulative
sent to product vector amount sent to product
Rate of coolant CoolantRate Real Rate of coolant
vector
coolant Pressure drop CoolantPressDp PDIF Real coolant Pressure drop
vector
Rate of reboiler utility ReboilerRate Real Rate of reboiler utility
vector
Reboiler fluid pressure ReboilerPressDp PDIF Real Reboiler fluid pressure
drop vector drop - Input

234 Appendix B
Table 10.1 Batch Reactor Unit Operation
Read an attribute: BatReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: BatReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Batch reactor Documentation, Class = BatReactor
Descriptive name UnitName Char 40 char max
Feeds, Class = BatReactor
Number of feeds CurrentFeeds InT
Feed StreamIDs FeedData 0 to NF-1 STream NF=CurrentFeeds
ID
Products, Class = BatReactor
Number of products CurrentProducts InT
Product StreamIDs ProductData 0 to NP-1 STream NP=CurrentProducts
ID
Product stream phases ProductStoreData 0 to NP-1 InT 0-Unspecified
1-Vapor
2-Liquid
3-Solid
4-Mixed
Batch Reactor Conditions, Class = BatReactor
Reaction set number RxnSetNumIn InT

Number of reactions NumOfRxn InT

Kinetics Type KineticsTypeIn InT 1 - Power Law Model,


2 - User Added
Subroutine,
3 - In-Line Procedure
Composition basis for BasisForKineticsIn InT 1 – Concentration,
kinetic rate 4 – Liquid activity
Number of utilities NumOfUtilities InT
specified
Flag for Integration IntMethodFlag InT 1 - LSODA
method
Flag for All components AllFlagIn InT 0 – No components,
profile 1 – All components,
2 – Selected components
Basis for concentration BasisForConcProfIn InT 1 – Mole, 2 - Weight
profile
Flag for policy prInt out PolicyPrIntFlagIn InT 1 – Partial,
2 - Complete
Number of components for NumOfCompPrIntIn InT
concentration profile
Number of poInts for NumOfPntForProf InT
profile prIntout
Number of policies NumOfPolicy InT
specified
Local count of number of NumOfComp InT
components
User added kinetics vec. IDATACount InT
len. IDATA
User added kinetics vec. RDATACount InT
len. RDATA

PRO II COM Server Reference Guide 235


Table 10.1 Batch Reactor Unit Operation
Read an attribute: BatReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: BatReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
User added kinetics vec. SuppleCount InT
len. SUPPLE
user-added in-line ProcedureIDIn InT
procedure number
user-added kinetics USKINIDIn InT
subroutine number
Reaction number RxnNum InT
Vector

Base component number BaseCompIn InT


Vector

Index number of IndexNumOfComp InT


component Vector

ID for user added kinectics KineticsIDIn InT


Vector

Utility ID UtilityID InT


Vector

Flag for utility type UtilityTypeFlag InT 1 – Water,


Vector 2 – Air,
3 – Refrigerant,
4 – Steam,
5 – heating medium
Component number for UtilityCompNumIn InT
heating medium or Vector
refrugerant
IDATA entries for user UserAddedIDATAIn InT
added kinetics Vector

Component number for PrIntCompNumIn InT


concentration Vector

Policy ID PolicyID InT


Vector

Policy analysis execution PolicyExecFlag InT 1 – Single,


flag Vector 2 - Multiple

Reactor flag on START StartReactorFlag InT


statement Vector

Basis for variables on StartBasisFlagIn InT 1 – Mole, 2 –Weight, 3 -


START Vector LV

Approach flag on START StartApprFlagIn InT 1 – Either, 2 – Above, 3 -


statement Vector Below

236 Appendix B
Table 10.1 Batch Reactor Unit Operation
Read an attribute: BatReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: BatReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
All/Any flag on START StartAllAnyFlag InT 1 – Any, 2 - All
statement Vector

Starting component StartingCompNumIn InT


numbe Vector

Ending component EndingCompNumIn InT


number Vector

Trigger type on START StartTriggerType InT 1 – Time,


statement Vector 2 – Temperature,
3 – Fraction,
4 – Percent,
5 - Amount
Flag for RXUNTIL PolicyRxuntilFlag InT 0 – Not specified,
statement Vector 1 - Specified

Approach flag on RxuntilApprFlagIn InT 1 – From either above or


RXUNTIL statement Vector below.
2 – From above,
3 – From below
Component number RxuntilCompNumIn InT
Vector

Basis for variables on RxuntilBasisFlagIn InT 1 – Mole, 2 - Weight


RXUNTIL Vector

Flag for CHARGE PolicyChargeFlag InT 0 – Not specified,


statement Vector 1 - Specified

StreamID for CHARGE StrmIDForCharge InT


statement Vector

Basis for AMOUNT on ChargeBasisFlagIn InT 1 – Mole, 2 –Weight, 3 -


CHARGE Vector LV

Basis for RATE on RateBasisFlagIn InT 1 – Mole, 2 –Weight, 3 -


CHARGE Vector LV

Flag for DISCHARGE PolicyDischgFlag InT 0 – Not specified,


statement Vector 1 – Specified,
2 – Specified with
DTIME,
3 – Specified with Rate
Basis for RATE on DischgBasisFlagIn InT 1 – Mole, 2 –Weight, 3 -
DISCHARGE Vector LV

Flag for HEAT/COOL PolicyHeatCoolFlag InT 0 – Not specified,


statement Vector 1 – Heat specified,
2 – Cool specified

PRO II COM Server Reference Guide 237


Table 10.1 Batch Reactor Unit Operation
Read an attribute: BatReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: BatReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Utility ID on HEAT/COOL HeatCoolUtilityID InT
statement Vector

Number of values NumOfValIn InT


specified for Vector
FRACTION,PERCENT
or AMOUNT on START
Preexponential Factor WT PEXPWTUOMIn InT
UOM Vector
Preexponential Factor PEXPLIQVUOMIn InT
LIQV UOM Vector

Preexponential Factor PEXPPRESUOMIn InT


PRES UOM Vector

Preexponential Factor PEXPTEMPUOMIn InT


TEMP UOM Vector

Preexponential Factor PEXPTIMEUOMIn InT


TIME UOM Vector

Total cycle time TotalCycleTimeIn TIME Real


scalar

Average charge time AvgChargeTimeIn TIME Real


scalar

Average heating time AvgHeatTimeIn TIME Real


scalar

Average cooling time AvgCoolTimeIn TIME Real


scalar

Average discharge time AvgDischgTimeIn TIME Real


scalar

Average cleaning time AvgCleanTimeIn TIME Real


scalar

Standard deviation - StdDevChargeTimeIn TIME Real


charge time scalar

Standard deviation - StdDevHeatTimeIn TIME Real


heating time scalar

Standard deviation - StdDevCoolTimeIn TIME Real


cooling time scalar

Standard deviation - StdDevDischgTimeIn TIME Real


discharge time scalar

238 Appendix B
Table 10.1 Batch Reactor Unit Operation
Read an attribute: BatReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: BatReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Standard deviation - clean StdDevCleanTimeIn TIME Real
time scalar

Time increment TimeIncrementIn TIME Real


scalar

Step size Runge Kutta RungeStepSizeIn TIME Real


method scalar

Tolerance for Gear & ToleranceIn Real


LSODA methods scalar

Maximum overall time MaximumTimeIn TIME Real


scalar

Maximum process MaximumTempIn TEMP Real


temperature scalar

Minimum process MinimumTempIn TEMP Real


temperature scalar

Start time for profiles StartTimeProfIn TIME Real


scalar

Time increment for profiles TimeIncreProfIn TIME Real


scalar

Reactor volume Input ReactorVolIn LIQV Real


scalar

Tolerance for ConcToleranceIn FRAC Real


concentration scalar

Tolerance for temperature TempToleranceIn TEMP Real


scalar

Tolerance for pressure PresToleranceIn PRES Real


scalar

Preexponential factors PexpFactorsIn Real


vector

Activation energy ActivationEnergyIn ENTH Real


vector

Temperature exponent TempExponentIn Real


vector

Reaction order RxnOrderIn Real Reaction order of


vector component in each
reaction

PRO II COM Server Reference Guide 239


Table 10.1 Batch Reactor Unit Operation
Read an attribute: BatReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: BatReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Inlet temperature of utility InletTempUtilityIn TEMP Real
vector

Outlet temperature of OutletTempUtilityIn TEMP Real


utility vector

Saturation temperature of SaturationTempIn TEMP Real


utility vector

Saturation pressure of SaturationPressIn PRES Real


utility vector

RDATA entries for use- UserAddedRDATAIn Real


added kinetics vector

Supplemental entries for UserAddedSuppleIn Real


user added kinetics vector

Time trigger on START StartTimeIn TIME Real


statement vector

Temp trigger on START StartTempIn TEMP Real


statement vector

Fraction trigger on START StartFracIn FRAC Real


statement vector

Percent trigger on START StartPctIn PCT Real


statement vector
Amount trigger on START StartAmountIn Real
statement vector

Time trigger on RXUNTIL RxuntilTimeIn TIME Real


statement vector

Incremental time on RxuntilIncrTimeIn TIME Real


RXUNTIL statement vector

Temp trigger on RXUNTIL RxuntilTempIn TEMP Real


statement vector

Fraction trigger on RxuntilFracIn FRAC Real


RXUNTIL statement vector

Percent trigger on RxuntilPctIn PCT Real


RXUNTIL statement vector

Conversion trigger on RxuntilConversionIn Real


RXUNTIL vector

240 Appendix B
Table 10.1 Batch Reactor Unit Operation
Read an attribute: BatReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: BatReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Amount on CHARGE ChargeAmountIn Real
statement vector

Rate on CHARGE ChargeRateIn Real


statement vector

Incremental time on ChargeIncrTimeIn TIME Real


CHARGE statement vector

Rate on DISCHARGE DischgRateIn Real


statement vector

Incremental time on DischgIncrTimeIn TIME Real


DISCHARGE statement vector

Temperature on HEAT HeatTempIn TEMP Real


statement vector

Tempearture difference on HeatTempDiffIn TDIF Real


HEAT statement vector

Duty on HEAT statement HeatDutyIn DUTY Real


vector

Incremental time on HEAT HeatIncrTimeIn TIME Real


statement vector

Calculated Properties, Class = BatReactor


Number of profile poInts NumOfActualPnt InT Number of actual poInts
for profile poInts
Number of policy PolicyExecCounter InT Number of policy
executions Vector executions
Total heat of reaction TotalHeatOfRxn ENTH Real Total heat of reaction
Reactor volume ReactorVol LIQV Real Reactor volume
Overall rates for each OverallCompRates Real Overall rates for each
component Vector component
The (-E/RT) term for each ERTs Real The (-E/RT) term for
reaction Vector each reaction
Flowrate of utility FlowRateOfUtility MRAT Real Flowrate of utility
Vector
Concentration profile ConcProfile Real Concentration profile for
Vector all components
Temperature profile TempProfile TEMP Real Temperature profile
Vector
Heat profile HeatProfile DUTY Real Heat profile
Vector
Volume profile VolProfile LIQV Real Volume profile (liquid
Vector phase)
Moles of components in FeedCompMoles Real Moles of components in
feed Vector feed

PRO II COM Server Reference Guide 241


Table 10.1 Batch Reactor Unit Operation
Read an attribute: BatReactorObject.GetAttribute(AttributeName, Index)
Write an attribute: BatReactorObject.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Moles of component CompMolesReacted Real Moles of component
reacted Vector reacted
Moles of component in ProdCompMoles Real Moles of component in
product Vector product
Start time for an action ActionStartTime TIME Real Start time for an action
Vector
End time for an action ActionEndTime TIME Real End time for an action
Vector
Time for profile poInts TimeProfile TIME Real Time for profile poInts
Vector
Total volume profile TotalVolProfile Real Total volume profile
Vector
Amount of feed stream AmtOfFeedUsed Real Amount of feed stream
Vector fed to reactor
Vapor volume profile VaporVolProfile Real Vapor volume profile
Vector
Pressure profile PressureProfile PRES Real Pressure profile
Vector
Merged Streams, Class = BatReactor
Internal stream MergedFeed SID Char
containing feed
conditions
Feed stream enthalpy FeedEnthalpy DUTY Real
Internal stream MergedProduct SID Char
containing product
conditions
Product stream enthalpy ProdEnthalpy DUTY Real
Combined Stream Properties (Internal), Class = Stream
Temperature Temperature TEMP Real
Pressure Pressure PRES Real
Enthalpy TotalMolarEnthalpy ENTH Real
Entropy TotalMolarEntropy ENTR Real
Cp VaporMolarCp CP Real
All standard stream properties like Mole Fractions, Weight Fractions of various phases are accessible via the standard
Stream Class. See Table: 3-1

242 Appendix B
Table 11. 1 Depressure Unit Operation
Read an attribute: Depressure Object.GetAttribute(AttributeName, Index)
Write an attribute: Depressure Object.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Depressure Documentation, Class = Depressure
Descriptive name UnitName Char 40 char max
Depressure Configaration, Class = Depressure
- Vessel volume type VessVolTypeFlg InT 1 = Spherical
flag 2 = Horizontal
3 = Vertical
Liquid holdup height flag LiqHeightPresentFlg InT 1 = Specified else none

liquid holdup present flag LiqHoldupPresentFlg InT 1 = Specified else none

Vessel volume VessVolume LIQV Real Input vessel volume

Vessel vertical height VessVertHt LENG Real Input vessel vertical


height
Vessel diameter VessDiam LENG Real Input vessel diameter

Vessel weight VessWt WT Real Input vessel weight

Vessel volume factor VessVolFac Real Input vessel volume


factor
Vessel holdup VessHoldup LIQV Real Input vessel holdup

Vessel horizontal length VessHoraLn LENG Real Input vessel horizontal


length
Vessel liquid height VessLiqHt LENG Real Input vessel liquid
height
Vessel specific heat VessCp CP Real Input vessel specific
heat
Depressure Conditions, Class = Depressure
- Liquid holdup basis flag LiqHoldupBasisFlg InT 0 = No holdup
1 = Mole holdup
2 = Wt holdup
3 = LV holdup
- Calculation stop flag StopFlagOpt InT 1 = Continue
2 = Stop
Maximum poInts MaxPoInts InT Maximum number of
poInts calculated
Valve calculation method ValveOptFlg InT 0 = supersonic
1 = subsonic
2 = constant
3 = user
Heat calculation method HeatOptFlg InT 0 = User
1 = API2
2 = ApiS
3 = Isot
4 = Rp52
5 = Rpsc
6 = Blow
7 = Fire

PRO II COM Server Reference Guide 243


Table 11. 1 Depressure Unit Operation
Read an attribute: Depressure Object.GetAttribute(AttributeName, Index)
Write an attribute: Depressure Object.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Weight output request flag WtOutReqFlg InT 1 = Present, else none

Composition output CompOutReqFlg InT 1 = All


request flag 2 = Part
3 = None
Maximum number of MaxIter InT Iterrations
iterations
Calculation option CurrNewOptFlg InT 0 = Current
1 = New
Time step calculation TimeStepOptFlg InT 0 = Total
option flag 1 = Vapor
2 = Choice
Pressure plot request PressPlotFlg InT 1 = Specified else none

Temperature plot request TempPlotFlg InT 1 = Specified else none

Combined plot request CombinedPlotFlg InT 1 = Specified else none

Property calculation option PropsPrntOptFlg InT 0 = Semi rigorous


1 = Rigorous
Relief conditions input flag ReliefCondFlg InT 1 = Relief specified
2 = Prelief specified
Depressuring time FinalDeprTime TIME Real Input depressuring time

Time step TimeStep TIME Real Input time step

Relief time ReliefTime TIME Real Input relief time

Valve constant ValveConst Real Input valve constant

Valve Cv ValveCV Real Input Valve Cv

Fire wetted area FireWetArea AREA Real Input fire wetted area

Lagging factor LagFact Real Input lagging factor

Gas blowdown heat HtTrnArFactCoef HTCO Real Input gas blowdown


transfer coefficient heat transfer coefficient
Gas blowdown vapor heat VaporHTC HTCO Real Input gas blowdown
transfer coefficient vapor heat transfer
coefficient
User heat model A HeatModelCoefA Real input user heat model
coefficient A coefficient
User heat model C HeatModelCoefC Real input user heat model
coefficient C coefficient
Pressure step IntPresOutStep PDIF Real Input intermediate
pressure step for
output
Time step IntTimeOutStep TIME Real Input intermediate time
step for output

244 Appendix B
Table 11. 1 Depressure Unit Operation
Read an attribute: Depressure Object.GetAttribute(AttributeName, Index)
Write an attribute: Depressure Object.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Temparature Temperature TEMP Real Input temperature in
VAT
Volume tolerance VolumeTol Real Input volume tolerance

Temperature tolerance TemperatureTol Real Input temperature


tolerance
Enthalpy tolerance EnthalpyTol Real Input enthalpy
tolerance
Time step size TimeStepSize Real Input time step size

Final pressure FinalPres PRES Real Input final pressure

Final time FinalTime TIME Real Input final time

Isentropic efficiency IsenEff PCT Real Input isentropic


eficiency
Relief pressure ReliefPres PRES Real Input relief pressure

Valve back pressure ValveBackPres PRES Real Input valve back


pressure
Valve CF ValveCF Real Input valve CF

Fire wetted area factor FireWetAreaFac Real Input fire wetted area
factor
Heat transfer area HeatTranArea AREA Real Input gas blowdown
heat transfer area
Heat transfer area factor HeatTranAreaFact Real Input gas blowdown
heat transfer area
factor
Gas blowdown liquid HTC LiquidHTC HTCO Real Input gas blowdown
liquid htc
Heat model B coefficient HeatModelCoefB Real input user heat model
B coefficient
Heat model D coefficient HeatModelCoefD Real input user heat model
D coefficient
Heat model E coefficient HeatModelCoefE Real input user heat model
E coefficient
Duty Duty DUTY Real Input duty

Valve rate Rate MRAT Real Input valve rate

Valve constant for ConValveConIn Real Input valve constant for


constant constant
Feeds, Class = Depressure
Number of feeds CurrentFeeds InT Number of feeds
Feed StreamID’s FeedData 0 to N-1 STream N=CurrentFeeds
ID
Makeup StreamID MakeupStrmID InT Makeup stream
number
Products, Class = Depressure
Number of products CurrentProducts InT Number of products

PRO II COM Server Reference Guide 245


Table 11. 1 Depressure Unit Operation
Read an attribute: Depressure Object.GetAttribute(AttributeName, Index)
Write an attribute: Depressure Object.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Product StreamID’s ProductData 0 to N-1 STream N=CurrentProducts
ID
ProductStoreData 0 to N-1 InT 1-Vapor
2-Liquid
3-Solid
4-Mixed
Calculated data, Class = Depressure
Vessel volume VessVolumeCalc LIQV Real Calculated vessel
volume
Vessel vertical height VessVertHtCalc LENG Real Calculated vessel
vertical height
Vessel diameter VessDiamCalc LENG Real Calculated vessel
diameter
Vessel weight VessWtCalc WT Real Calculated vessel
weight
Vessel volume factor VessVolFacCalc Real Calculated vessel
volume factor
Depressuring time FinalDeprTimeCalc TIME Real Calculated
depressuring time
Time step TimeStepCalc TIME Real Calculated time step

Relief time ReliefTimeCalc TIME Real Calculated relief time

Valve constant ValveConstCalc Real Calculated valve


constant
Valve Cv ValveCVCalc Real Calculated Valve Cv

Fire wetted area FireWetAreaCalc AREA Real Calculated fire wetted


area
Lagging factor LagFactCalc Real Calculated lagging
factor
Gas blowdown heat HtTrnArFactCoefCalc HTCO Real Calculated gas
transfer coefficient blowdown heat transfer
coefficient
Gas blowdown vapor heat VaporHTCCalc HTCO Real Calculated gas
transfer coefficient blowdown vapor heat
transfer coefficient
User heat model A HeatModelCoefACalc Real Calculated user heat
coefficient model A coefficient
User heat model C HeatModelCoefCCalc Real Calculated user heat
coefficient model C coefficient
Temperature TemperatureCalc TEMP Real Calculated temperature
in VAT
Vessel holdup VessHoldupCalc LIQV Real Calculated vessel
holdup
Vessel horizontal length VessHoraLnCalc LENG Real Calculated vessel
horizontal length
Vessel liquid height VessLiqHtCalc LENG Real Calculated vessel liquid
height

246 Appendix B
Table 11. 1 Depressure Unit Operation
Read an attribute: Depressure Object.GetAttribute(AttributeName, Index)
Write an attribute: Depressure Object.PutAttribute(AttributeName, Index)

Property Attribute Name Index Units Type Description


Input Data
Vessel specific heat VessCpCalc CP Real Calculated vessel
specific heat
Final pressure FinalPresCalc PRES Real Calculated final
pressure
Final time FinalTimeCalc TIME Real Calculated final time

Isentropic efficiency IsenEffCalc PCT Real Calculated isentropic


eficiency
Relief pressure ReliefPresCalc PRES Real Calculated relief
pressure
Valve back pressure ValveBackPresCalc PRES Real Calculated valve back
pressure
Valve CF ValveCFCalc Real Calculated valve CF

Fire wetted area factor FireWetAreaFacC Real Calculated fire wetted


area factor
Heat transfer area HeatTranAreaCalc AREA Real Calculated gas
blowdown heat transfer
area
Heat transfer area factor HeatTranAreaFactCalc Real Calculated gas
blowdown heat transfer
area factor
Gas blowdown liquid HTC LiquidHTCCalc HTCO Real Calculated gas
blowdown liquid htc
Heat model B coefficient HeatModelCoefBCalc Real Calculated user heat
model B coefficient
Heat model D coefficient HeatModelCoefDCalc Real Calculated user heat
model D coefficient
Heat model E coefficient HeatModelCoefECalc Real Calculated user heat
model E coefficient
Duty DutyCalc DUTY Real Calculated duty

Valve rate RateCalc MRAT Real Calculated valve rate

Valve constant for ConValveConCalc Real Calculated valve


constant constant for constant

PRO II COM Server Reference Guide 247

You might also like