Professional Documents
Culture Documents
Users Guide
Version Number: V8.0
December 2012
Copyright (c) 2003-2012 by Aspen Technology, Inc. All rights reserved.
Aspen Plus ReformerTM, Aspen Plus CatCrackerTM, Aspen Plus HydrocrackerTM, Aspen Plus HydrotreaterTM, Aspen
Plus, Aspen PIMSTM, aspenONE, the aspen leaf logo and Plantelligence and Enterprise Optimization are
trademarks or registered trademarks of Aspen Technology, Inc., Burlington, MA.
All other brand and product names are trademarks or registered trademarks of their respective companies.
This document is intended as a guide to using AspenTech's software. This documentation contains AspenTech
proprietary and confidential information and may not be disclosed, used, or copied without the prior consent of
AspenTech or as set forth in the applicable license agreement. Users are solely responsible for the proper use of
the software and the application of the results obtained.
Although AspenTech has tested the software and reviewed the documentation, the sole warranty for the software
may be found in the applicable license agreement between AspenTech and the user. ASPENTECH MAKES NO
WARRANTY OR REPRESENTATION, EITHER EXPRESSED OR IMPLIED, WITH RESPECT TO THIS DOCUMENTATION,
ITS QUALITY, PERFORMANCE, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
Contents iii
Standard Worksheets ........................................................................... 26
Hidden Worksheets .............................................................................. 27
Specification Buttons and ComboBoxes ............................................................. 28
Buttons on Worksheet "Flow Diagram" .................................................... 29
ComboBoxes on Worksheet "Feeds"........................................................ 30
Customizing with the Worksheets ..................................................................... 31
The SendVars Sheet ............................................................................. 32
The ReceiveVars Sheet ......................................................................... 33
The EB Scripts Sheet ............................................................................ 35
Receive Vars........................................................................................ 35
Send Vars ........................................................................................... 35
Check Receive Vars .............................................................................. 36
Check Send Vars .................................................................................. 36
8 LP Vectors .........................................................................................................55
Overview of LP Vector Generation .................................................................... 55
Objective of Running LP Vectors....................................................................... 55
LP Vector Generation ...................................................................................... 56
Generating a Sample PIMS Table...................................................................... 59
iv Contents
9 Optimization......................................................................................................60
Overview....................................................................................................... 60
Optimization Basics ........................................................................................ 60
Setting Up Objective Functions ........................................................................ 61
Setting Up Optimizations................................................................................. 65
Executing Optimization Cases .......................................................................... 68
Analyzing Optimization Solutions...................................................................... 71
Contents v
Basic DMO Parameters.................................................................................... 98
DMO Solver Output to the Command Window .................................................... 98
DMO Solver Log Files ...................................................................................... 99
ATSLV File Problem Information ..................................................................... 100
Basic Iteration Information .................................................................. 100
Largest Unscaled Residuals.................................................................. 100
Constrained Variables ......................................................................... 101
General Iteration Information .............................................................. 102
Nonlinearity Ratios ............................................................................. 102
Troubleshooting ........................................................................................... 103
Usage Notes ...................................................................................... 103
Dealing With Infeasible Solutions ......................................................... 103
Scaling ............................................................................................. 105
Dealing with Singularities .................................................................... 105
Notes on Variable Bounding................................................................. 107
Run-Time Intervention ........................................................................ 107
13 Troubleshooting ............................................................................................123
Aspen Plus Reformer Stops Responding .......................................................... 123
The Model Isn't Solving................................................................................. 123
License Errors .............................................................................................. 124
Index ..................................................................................................................125
vi Contents
About This Document
Technical Support
AspenTech customers with a valid license and software maintenance
agreement can register to access the online AspenTech Support Center at:
http://support.aspentech.com
This Web support site allows you to:
Access current product documentation
Search for tech tips, solutions, and frequently asked questions (FAQs)
Search for and download service packs and product updates
Submit and track technical issues
Send suggestions
Report product defects
Review lists of known deficiencies and defects
Registered users can also subscribe to our Technical Support e-Bulletins.
These are used to alert users to important technical support information such
as:
Technical advisories
Product updates and releases
Equation-Oriented Modeling
Aspen Plus Reformer is based on an equation-oriented (EO) formulation, so
you need to understand some EO concepts in order to use it effectively. The
EO approach is also known as open-form and can be contrasted with the
closed-form or sequential-modular (SM) technique. The equations in an EO
model are solved simultaneously using an external solver, which iteratively
manipulates the values of the model variables until all the equations are
satisfied within a convergence tolerance. The solver will work for any well-
posed set of variable specifications. A variables specification labels it as
known (fixed) or unknown (calculated) for a given solution mode. An SM
model is solved procedurally one equation at a time, and the solution
procedure depends on a given specification set. For a different grouping of
known and unknown variables the solution procedure will be different, since
the equations will be solved in a different order.
Note: f is the name of the vector of residuals and it has length equal to the
number of equations...
The solver prefers to work with vectors and equation index numbers, while we
find it easier to use equation names. The model defines names for each
residual that can be used in reports and solver debugging output. In this
case, we choose the names:
f(1) = ESTIMATE_DELTAP
f(2) = DELTAP_DEFINITION
Similarly, the five variables in this model can also be addressed as elements
of a vector x having length 5:
x(1) = DELTAP
x(2) = PRES_IN
x(3) = PRES_OUT
Optimization
Optimization is a prediction mode, so it is similar to simulation. The main
difference is that:
There are positive DOF in optimization mode.
The solver uses those DOF to maximize or minimize an objective function
within limits on certain variables.
Note: Aspen Plus Reformer does not support having multiple versions of itself
or Aspen Plus installed at the same time.
When the Aspen Plus Reformer workbook is loaded, there is no active
connection to the Aspen Plus Reformer model, which is an Aspen Plus
flowsheet. The workbook consists of several spreadsheets where various
data can be entered and retrieved. The application also creates a new
menu item on the Excel menu bar called AspenPlusReformer. This menu
provides access to all of the GUIs primary functions including connecting
to the model. Through the Startup Aspen Plus Reformer menu
command, you can load the flowsheet, modify start-up options, or reset
the Aspen Plus connection. Most of the other menu commands will be
inactive until the flowsheet is loaded.
Note: You can easily determine the computer name if it is not known:
Win2000: Right-click the My Computer icon on the computer desktop
and select Properties from the pop-up menu. Click the Network
Identification tab where the full computer name will be listed near the
top.
Windows XP: Right-click the My Computer icon on the computer
desktop and select Properties from the pop-up menu. Click the
Computer Name tab. The computer name will be listed in the Full
Computer Name field.
5 Click the Browse button.
6 Navigate into the Apinit directory, select the file catref.appdf; and then
click the Open button.
You should be returned to the Connect dialog box where the
catref.appdf file name and directory should now appear in the Problem
area in the Filename field.
7 At the bottom of the Connect dialog box, click the OK button.
On a 750 MHz Pentium III PC, a Dell Inspiron 8000, it requires
approximately 3.5 minutes to initialize the Reformer flowsheet and load
the data into the Excel GUI. During this time, the Excel cursor will become
the hour-glass symbol and the Excel status line will display the message
Loading Aspen Plus Reformer flowsheet. The cursor will return to the
normal cross shape and the status line will read Ready when the process
is complete.
2 When warned on the Reset Aspen Plus dialog that resetting the
connection may terminate an active connection, click the OK button.
2 In the File Name field, enter the name under which you want to save the
file.
3 Click the Browse button to select the path (and filename if you are
resaving a file) for the generated data file.
The Save As dialog box appears.
4 Enter the path and filename if they are not already correct; then click the
Save button to return to the Save User Data to File dialog box.
5 Click the Save button to save the model data.
The file is saved as a .var file.
Note: You can save all of the data currently in the model or just the input
data from the spreadsheet. Typically, you use the default option to save all of
the model data. The data is saved to an ASCII file, which can be greatly
compressed to save disk space.
1 On the Aspen Plus Reformer toolbar, click the Load User Data ( )
button.
-or-
Click AspenPlusReformer | File | Load User Data from Var File.
The Load User Data from File dialog box appears.
2 Browse to the file you want to load.
-or-
Type in the file name and path directly in the filename and path text
boxes.
3 Click Load to load the values from the data file into the Reformer
flowsheet.
Abort Button
If you click the Abort button while a case is running, you must wait until the
following messages appear in the command line window:
Error return due to an ABORT message from the user communications
file DMO.MSG
And then finally:
No Creep Button
When running a case, the default is to creep the solver (take small steps) for
a few iterations to provide robust behavior. Once you have gained experience
with the model and are confident that a particular case will solve well without
the default number of creep steps, you can manually turn the creep steps off
by clicking the No Creep button.
Clicking the No Creep button takes the DMO solver out of creep mode. You
can use this to expedite solving when the current run is close to the final
solution, in which case both the Residual Convergence Function and
Objective Convergence Function are small and close to convergence criteria
Close Button
This Close button closes the Command Line window and return to the user
interface. Click the Close button only after a run has failed to converge or
you have aborted a case and the command line message run aborted by the
user appears, or if you opened the Command Line window manually and are
you are done using it.
Execute Button
Use the Execute button on the Command Line window to execute commands
manually.
To Run A Command:
1 Select AspenPlusReformer | Tools | Display Command Line.
The Aspen Plus command line window appears.
Command Function
At the top of the Startup Options dialog box are two options from which
you can choose to make a connection to the Reformer model either
manually or automatically. Select Automatic Startup to instruct the
Note: The Load User Data From File option is inactive unless the
Automatic Startup option is selected.
The Reset ApMain command causes the workbook to break the
connection with the server. This is necessary if you want to use the Excel
File menu. If you do not close the workbook at this point, you can use the
Load Reformer Flowsheet command to reconnect the workbook.
2 In the Host box, enter the name of the host computer (normally your
computer) using all lower case letters.
If the correct computer name is entered, the Browse button in the
Problem area will become enabled.
Note: You can easily determine the computer name if it is not known:
Win2000: Right-click the My Computer icon on the computer desktop
and select Properties from the pop-up menu. Click the Network
Identification tab where the full computer name will be listed near the
top.
File Submenu
The second submenu on the AspenPlusReformer menu is File. There are
four commands in this menu, which are summarized below.
The first two commands display dialog boxes that you can use to retrieve or
save a case file. You can use the last two commands to retrieve or save
information you have entered in the Param or Simulation worksheets.
Command Function
Load User Data from Var File Brings up a dialog box to load a case file
Save User Data to Var File Brings up a dialog box to save a case file
Load User Input Sheet Loads data you previously entered on a Parameter
or Simulation worksheet
Save User Input Sheet Saves data you previously entered on a Parameter
or Simulation worksheet
It is very important for you to be familiar with the Load User Data from Var
File and Save User Data to Var File commands.
The Reformer model is an equation-based model and can be moved from a
base solution to another base solution, if the move is not too large. Normally,
as a very general rule, too large means a move of about 20% to 30% on
values other than temperatures. Temperatures changes can be in the range
of 10 to 20 F.
Overview
A Microsoft Excel workbook, the Aspen Plus Reformer Workbook, is the
user interface to the Aspen Plus Reformer model. This workbook is
organized in worksheets that provide a guide to setting up various cases for
Reformer modeling:
Parameterization.
Simulation
Optimization
Case Studies
LP Vectors
There are also worksheets that provide reports for feed and catalyst blending.
In addition, an Analysis worksheet is provided that is used to verify the
validity of a calculation. Another worksheet provides a set of options that are
used in the case modes listed above.
The workbook communicates with the engine or equation solver through a
client-server architecture. DCOM is used as the basis for this client-server
connection. All cases culminate with a transmission through DCOM of data
from the workbook to the equation solver and the return of data to the
workbook of results from the equation solver.
Standard Worksheets
The standard worksheets are by default visible in the Aspen Plus Reformer
workbook. They can be scanned by selecting or clicking on the normal Excel
tabs that appear at the bottom of the workbook. They are arranged in the
order of customary usage. However, you can change this order with the
normal Excel methods.
Worksheet Name Description
Besides displaying the logo for the workbook, the Introduction worksheet
provides version data about the workbook. This data is located below the
opening display and is displayed by moving the slide bar, or paging, down.
Located below the version information is a place for notes and/or comments.
Global calculation options are set in the Options worksheet.
Param1 Links Direct cell links to the model variables available in the
workbook for the Param1 worksheet
Param1 UserInput Contains a copy of your input for the Param1 worksheet
ParamPass1 IO Structures the layout for the ParamPass1 worksheet
ParamPass1 Links Direct cell links to the model variables available in the
workbook for the Streams worksheet
ParamPass1 UserInput Contains a copy of your input for the ParamPass1
worksheet
ParamPass2 IO Structures the layout for the Streams worksheet
ParamPass2 Links Direct cell links to the model variables available in the
workbook for the ParamPass2 worksheet
ParamPass2 UserInput Contains a copy of your input for the ParamPass2
worksheet
EB Scripts Contains script that for execution of the calculation
engine
EB Scripts Rx Contains script that for execution on RxSection
Worksheet
EB Scripts Catalyst Contains script that for execution on Catalyst Worksheet
EB Scripts Stab Contains script that for execution on Stab Worksheet
EB Scripts Feeds Contains script that for execution on Feeds Worksheet
EB Scripts User Contains script that for execution on User Worksheet
EB Scripts ParamPass1 Contains script that for execution on Parampass2
Worksheet
EB Scripts ParamPass2 Contains script that for execution on Parampass2
Worksheet
ReceiveVars Contains and manages variables that are sent from the
calculation engine to the workbook through DCOM
SendVars Contains and manages variables that are sent to the
calculation engine from the workbook through DCOM
Registry Contains a collection of data and parameters for the
Aspen Plus Reformer workbook
A number of buttons are designed to guide you to different data sheets and
areas to display information. The functions of these buttons are explained
below.
Process OverView. Guides you to the ProcessOverView sheet to see
the processes basic data.
Specification Options. Click this button to pop up the Select
Specification Options dialog. You can select an item and click the
Select button to reset a group of specifications properly. If you click the
Cancel button, the specification changes do not take place.
A valid Validity
B Variable name Name
C value Value
D spec Specification
E Attributes upper Upper limit
F lower Lower limit
G step Step limit
H uom Unit of Measure
I init Not used
J Not used
K Not used
L Not used
M Not used
N Not used
O Not used
P Not used
Q LP LP flag
R Opt Optimization Flag
S Obj1 Incremental Value 1 flag
T Obj2 Incremental Value 2 flag
U Aliases Aliases
V Titles Titles
W Case Select Flag if used in case study
X LP Select Flag if used in LP
Y Opt Select Flag if used in LP
Z Obj1 Select Flag if used in LP - incremental
value 1
Receive Vars
Receive Vars updates the valid selected variables located on the
ReceiveVars sheet with the variable information from the RT-Opt server. The
attributes updated depend on the mask selected under the Setup
Send/Receive Vars dialog, and the valid attribute columns found in the
sheet.
There is no need to verify the validity or existence of the variables on the
sheet. Receive Vars always executes a Check Receive Vars before issuing
the receive command itself.
Send Vars
Send Vars moves the attribute information from the valid selected variables
located in the SendVars sheet to the RT-Opt server. The attributes updated
Overview
You can run five types of cases in the Aspen Plus Reformer model:
Simulation Case
Parameterization Case
Optimization Case
Case Studies
LP Vector Generation Case
The Simulation Case is a simple what-if study. What changes to dependent
variables result from a specified set of independent variables?
The Parameterization Case fits the models kinetic rate constants and base
operating data to match an observed process operation, feed properties, and
product yields. This case is often referred to generically as a calibration
case.
The Optimization Case varies a defined set of independent variables to
maximize (or minimize) a specified dependent variable, the Objective
Function.
The Case Studies are a user-specified series of Simulation Cases. You can
vary independent variable values between cases. Specifications can not be
varied between cases.
The LP Vector Generation Case generates a set of derivatives between
specified dependent and independent variables that can then be used in the
formulation of LP vectors.
You can run all case types from either the Reformer toolbar or the Aspen
Plus Reformer menu.
To Do This:
1 On the AspenPlusReformer menu, click Setup Cases | Case Study.
This activates the Case Study worksheet and opens displays the Setup
Case Study dialog box from which you can choose:
The independent variables that will be varied.
The variables that will be reported.
Solver Settings
A script file embedded in the EB Scripts spreadsheet (hidden by default)
controls the execution of each case. For Aspen Plus Reformer, the following
solver settings are recommended for the simulation case type.
solver settings maxiter = 50
solver settings miniter = 0
solver settings creepflag = 1
solver settings creepiter = 10
solver settings creepsize = 0.1
solver settings searchmode = 3
solver settings factorspeed = 1
solver settings pivotsearch = 10
solver settings rescvg = 1.E10
solver settings objcvg = 1.E6
solver settings HESSIANUPDATES = 0
For most Simulation Cases, the Creepiter variable can be set to 3.
Key variables are:
Variable Meaning
Overview
Once the model is satisfactorily tuned to match plant data, it can be used to
predict how changes in the feed rates, feed types and composition, catalyst
type, and operational conditions affect yields and product properties.
Simulation Sheets
The simulation sheets are:
Flow Diagram
ProcessOverView
RxSection
Catalyst
Stabilizer Feeds
Yields
Streams
Typically, you enter data into the cells highlighted in blue for each section.
Severity Options
The severity options are accessed via the Select Spec Options ComboBox.
6 Introduction to Simulation 41
1 Highlight the desired specification.
2 Activate it by clicking the Select button.
Feed Data
The FEEDS section contains inputs for up to three feeds. Each feed flow can
be specified on a mass or volume basis. All feeds must be specified on a
component basis. Feed 3 can alternately be specified on an N+2A or N+3A
basis in weight or volume percent.
42 6 Introduction to Simulation
Yields
The YIELDS section contains only model output and so you need not enter
any information in this section. Yields are reported on a weight and volume
basis. The H2, C1, C2 and O2 volumes are on a user-defined basis. This
allows user-defined FOE volumes or standard volumes to be used. If zero
values are given, the default values are used. These values should be set
during model calibration.
Variable Spec Default
Catalyst Data
The CATALYST DATA section lets you change catalyst coke loadings or
catalyst age depending on the mechanical configuration.
6 Introduction to Simulation 43
For CCR operations, the Coke on Catalyst or the Catalyst Circulation Rate
can be specified.
The coke on catalyst in each reactor is calculated as well as the regenerator
air requirement.
44 6 Introduction to Simulation
Running a Simulation Case
Before You Start
Once the model is satisfactorily tuned to match plant data, you may use the
model to predict how changes in feed rates, feed composition, and
operational conditions affect the yields. Typically, AspenTech would have
executed a project which included analyzing plant test run data and tuning
Aspen Plus Reformer to match the operating unit performance. The result of
this project is delivered as a data file containing a parameterized Aspen Plus
Reformer case.
The Feed composition type (weight, mole volume) can also be specified from
a menu for each individual feed.
6 Introduction to Simulation 45
feed gravity
molecular weight
distillation
are reported on the same Feeds sheet. The combined feed rate, composition
and properties are reported along with the individual feed data. The combined feed
rate can be specified by allowing any one feed to vary.
Feed 3 has an optional specification of fixing the feed N+2A or N+3A and
allowing the model to vary the feed composition.
The carbon number distribution will remain constant. That is, if 5% of the
feed is specified as C6, the resulting composition will be 5% C6. Also, the
Paraffin, Naphthene, and Aromatic distribution will be proportional
through the Carbon number distribution. If 20% of the aromatics are specified
as C7, the resulting feed will have 20% of the aromatics as C7. The
naphthenes-to-aromatics ratio remains constant between the specified and
resultant feed.
46 6 Introduction to Simulation
Example: Dummy Feed 3 Specification
Component - % Specified Resultant Feed
Specification Options
To Set Operating Specifications For The Reformer:
Click the Specifications Options button on the Flow Diagram sheet.
The Select Specification Options dialog box appears, with four tabs:
Rx-Section
Catalyst
Stabilizer
User Scripts
The Rx-Section tab lets you specify a combination of one of five severity
definitions:
Stabilizer Bottoms RON
C5+ RON
WAIT
Base Inlet Temperature
Aromatics Wt. Percent
You can also set up two recycle rate definitions:
rate
H2HC ratio
6 Introduction to Simulation 47
Once a specification pair has been selected, Aspen Plus Reformer displays the
Rx-Section sheet, switches the variable specifications as required, and
highlights those fields where you can enter data.
The Catalyst tab lets you specify catalyst activity. In the case of a CCR
operation, the catalyst circulation rate can be specified (then carbon on
catalyst is calculated) or carbon on catalyst is specified (then catalyst
circulation rate is calculated).
48 6 Introduction to Simulation
Switches the variable specifications as needed.
Highlights the fields for data entry.
Saving Solutions
There are two ways to save data after a successful model run. The two save
options have different consequences.
Option 1: Save the results to a new VAR file. Do this from the command
line or by using the Save Data button ( ). To review the results at a
later time the data can be read back into the workbook. Supplemental
cases can be run from this type of save.
6 Introduction to Simulation 49
Option 2: Save the EXCEL workbook. This type of save does not require
the Aspen Plus Reformer workbook to be re-connected to review the
data. Supplemental cases CANNOT be run from this type of save.
Error Recovery
You should check the convergence status shown at the top of the simulation
sheet after running the simulate case. The results on the simulation sheet are
only meaningful if the convergence status is converged. If the status is not
converged, then it is generally desirable to return the simulation sheet and
model to their pre-solution states.
50 6 Introduction to Simulation
7 Running Multiple Cases
Note: When a new case study is set up or run, the data that are currently in
the worksheet are not erased automatically.
The dialog box consists of two listboxes, each of which contains a list of
variables that can be selected.
Use the upper listbox to select the independent variables that will be
varied. You can select as many variables as desired from the list using the
checkboxes beside the variable descriptions. You can deselect a variable
be by clearing the check-box.
Use the lower listbox to select the variables that will be reported on the
Cases page; it works exactly like the upper listbox.
Note: When a new case study is set up or run, the data that are currently in
the worksheet do not automatically get erased. To remove any unwanted
data, you must manually highlight and delete the data.
Each step of the case study will typically require about one minute to solve
and update the spreadsheet. A single case study will be somewhat faster
than a corresponding simulation because less data is sent to and retrieved
from the model.
Overview of LP Vector
Generation
In addition to letting you determine yields, temperatures, product properties,
and so on., this model offers the capability of generating LP (Linear
Programming) vectors.
Objective of Running LP
Vectors
The main purpose of generating LP vectors is to provide shift factors for LP
planning and scheduling tools, such as Aspen PIMSTM.
In LP planning and scheduling tools for the refining industry, every processing
unit is represented by a simplified linear model. Like all linear models, a
catalytic reformer model can use fixed gains (base model and shift factors) to
represent the relationship between operating conditions and product flow
rates and properties.
The standard Aspen Plus Reformer model is a rigorous nonlinear model
with detailed kinetic description and it is well suited for providing accurate
shift factors. The Aspen Plus Reformer model has build-in function of
generating LP vectors, which are equal to the shift factors in a LP model.
The LP vectors can also act as the accuracy indicator of the Aspen Plus
Reformer model. The LP vectors can be compared to a gain matrix in APC
(Advanced Process Controller). The gain matrix in APC is obtained from plant
step tests and it should closely represent the real relationship between
independent variables and dependent variables in the process. By comparing
to gain matrix in APC model, you can observe how closely the model
simulates reality.
8 LP Vectors 55
LP Vector Generation
From the model point of view, LP vectors are the gains between a set of
independent variables and a set of dependent variables. LP vectors are
calculated by doing a sensitivity analysis on the model. In the Aspen Plus
Reformer model, LP vector generation is executed by:
Issuing a sensitivity analysis command to the command line.
Retrieving the results back to EXCEL interface.
LP vector generation is run in simulation mode. The independent and
dependent variables you choose for LP vector generation must correspond to
fixed and free variables in the simulation mode.
The fixed variables in simulation mode have the specification of CONST or
PARAM. However, the PARAM variables are normally internal to the model
and have no physical meaning. Therefore, they do not appear in the set of
independent variables in LP generation.
All independent variables have the specification of CONST.
The free variable in simulation mode has the specification of CALC or MEAS.
Therefore, a dependent variable has the specification of CALC or MEAS.
Aspen Plus Reformer provides a pick list of independent variables and a pick
list of dependent variables. Aspen Plus Reformer presents only CONST
variables in the pick list of independent variable and only CALC and MEAS
variables in the pick list of dependent variables in order to ensure that
whatever set you choose will lead to a well-posed problem.
The two lists that Aspen Plus Reformer model provide should be able to
satisfy most of cases. However, you can add variables to those two lists if
necessary. Any variable in the independent variable list is marked LP in
Column Q (with title LP) on the SendVars page. You can add variables to
this list by entering Yes in Column Q on the SendVars page for the desired
independent variables. Any variable in the dependent variable list is labeled
LP in Column Q (with the title LP) on the ReceiveVars page. You can add
variables to this list by entering Yes in Column Q on the ReceiveVars page
for the desired dependent variables.
Generating LP vectors is a two-step process.
1 Specify what the independent and the dependent variables are
2 Run the LP vector generation command
56 8 LP Vectors
The top list box is used to select the independent variables. You can select
any or all of the variables listed. To Select A Variable:
o Check the check box to the right of the variable name.
The lower list box is used to select the dependent variables and works
exactly the same as the independent variable list box.
3 When you have selected all the desired independent and dependent
variables, click the OK button.
-or-
Click the Cancel button to exit the Setup LP Vectors dialog without
saving your changes
If you clicked the OK button, the LP Vectors page is cleared. The
independent variables appear in the seventh row and the dependent variables
appear in Column C, as shown below
To save the changes made to the LP Vectors page, you must save the
worksheet.
8 LP Vectors 57
After the independent and dependent variables have been set up, you can
generate LP vectors.
To Generate LP Vectors:
1 On the Aspen Plus Reformer toolbar, selecting LP Vectors.
58 8 LP Vectors
Generating a Sample PIMS
Table
To Generate A Sample PIMS Table:
1 Select appropriate options (const C5+ RON and N+2A for Feed 3).
2 Make sure all feed is in Feed 3.
3 Set up appropriate PIMS vectors (N+2A is the independent variable,
yields).
4 Run a case study for the four different RON values. For each case, have
the LP vectors calculated for each step of the case study with N+2A as the
independent variable.
5 Make the appropriate transformations of the results to generate the PIMS
table.
8 LP Vectors 59
9 Optimization
Overview
Another key feature of the Aspen Plus Reformer model is the ability to
optimize yields, conversions, flow rates, and so on, by increasing the number
of degrees of freedom. The Excel interface lets you easily:
Set up objective (profit) functions.
Specify degrees of freedom.
Specify bounds.
Run optimization studies.
This section discusses the basics of the optimization and how to set up and
run optimization cases in Aspen Plus Reformer excel interface.
Optimization Basics
Optimization is to maximize or minimize a user-specified objective function by
manipulating independent variables (feed stream, block input, or other input
variables). The objective function is an equation that is used by the
optimization engine to determine the manner in which to manipulate the
degrees of freedom (independent variable) in a problem. You may have more
than one objective function in a problem, but only one is used by the engine
during the solution. Objective functions for Optimize cases in the Reformer
model are normally economic type (that is, maximize operating profit,
minimize operating cost, and so on.). Aspen Plus has three different kinds of
objective functions that can be defined:
Linear.
Sum of Squares.
Symbolic.
The Reformer model only uses objection functions that are in linear form.
Independent variables are those variables can be changed independently. For
instance, the feed rates in the Reformer unit. The optimizer then can vary the
values of independent variables to push the values of the object function in
the defined direction (maximize profit or minimize cost) until some bounds
are reached. Each independent variable accounts for a degree of freedom.
The number of degrees of freedom is equal to the number of independent
60 9 Optimization
variables in an optimization run if no independent variable is at its bound. You
may impose upper and lower bounds on independent variables to prevent the
final solution to deviate too far away from the starting point. You may also
impose step bound on independent variables.
Aspen Plus lets you bound every variable in the problem as shown below:
xl < x < xu
The step bound of an independent variable defines how much the value of the
variable can be changed in a single optimization run. The step bound is used
along with the initial value, lower bound and upper bound to compute the
actual bounds to be used in the run:
Xl = max(X - |Xstep|, Xlower )
Xu = min(X + |Xstep|, Xupper )
Upper and lower bounds should be defined from all independent variables.
You can also define the step bounds for independent variables.
Most of dependent variables in the Reformer model have very wide bound,
for instance, 1.E20 for upper bound and 1.E20 for lower bound. However,
some dependent variables have physical meaning. Appropriate bounds should
be set up for them to prevent the solution from getting into infeasible
operating conditions. For instance, there is metallurgic limit on regenerator
cyclone temperature. Hence, upper bound should be set for this variable. Only
those constrained dependent variables needs be defined in setting up
optimization case in Reformer model.
In general it is not recommended to heavily bind an optimization problem for
reasons that are both practical and algorithmic. Bounds on independent
variables are recommended in order to avoid unbounded problems. All other
bounds should be used only if they are absolutely necessary. The optimization
engine for Reformer model is DMO solver.
9 Optimization 61
Again, if F1 is considered to be the reformate flow rate, IP1_1 might be the
RON, IP1_2 might be the MON, and IP1_3 might be the RVP. BV1_1,
BV1_2, and BV1_3 are the base values of RON, MON and RVP.
The difference between the calculated value and base value for each
incremental property is the multiplied by the corresponding values (IV1_1,
IV2_1, and IV3_1). For instance, if the base value of RON (BV1_1) is 92, the
calculated value (IP1_1) is 93, and the value (IV1_1) is 0.25, the value of
reformate (V1) would be increased by 0.25.
To Select Variables:
1 Check the check box to the right of the variable name.
Clearing the check box of a selected variable will deselect it.
You can specify as many principal properties as desired.
2 When you have selected the desired variables, click the OK button.
Clicking the Cancel button closes the dialog box without making any
changes to the Profit1 worksheet.
62 9 Optimization
Any variable in this list has a name in column AE (with title "I1 name") on
the ReceiveVars page. The label, base, and price of the incremental property
are list in Column AF to AH on the ReceiveVars page. The default list
includes most of important product properties. You can add variables to this
list by editing column AE through AH on the ReceiveVars page for the
desired variables.
To Select A Variable:
1 Check the checkbox to the right of the variable name.
Clicking on the checkbox of a selected variable deselect sit.
Any number of incremental properties (up to three) is valid for each
principal property. In the case described above where F2 represented the
9 Optimization 63
reformate flow rate, you may want to have only one incremental property
IP1_2, such as RON.
2 Check the desired variables; then click the OK button.
You are returned to the previous dialog box.
Clicking on the Cancel button will close the dialog box without making
any changes to the object function Profit1.
After selection, all of the principle properties and incremental properties that
compose the objective function appear on the Profit1 worksheet.
You must now enter values for each principal property and incremental
property.
For all principal property variables, the variable name, the units of the
variables, and the price unit will appear in Columns C, D and G, respectively,
of the Profit1 worksheet,. Each principal property occupies one row. Only
one value is needed for each principal property. You must enter the
appropriate price value in Column E. In the example shown, all flow rates
were in thousands of barrels per day and consequently the values were
entered as dollars per thousands of barrels. If you select a unitless variable
for the objective function such as conversion, the value will also be unitless.
If the principal property is a cost (such as feed value), the value would be
negative.
The incremental properties are listed to the right of principal properties on the
Profit1 worksheet. For all incremental property variables, the variable name
will appear in Column H. Each incremental property is in the same row of the
principal property that the incremental property is associated with.
Two values are needed for incremental properties. The base value is the value
of the incremental property of which the value of the principal property is
estimated. In other words, the base is the value at which the incremental
property has no effect on the principal property.
To identify each incremental property, you may want to assign a label for
each incremental property. The label can be entered in Column G. If a
principal property has more than one incremental property, the second and
64 9 Optimization
the third one lie to the right on the same row. The entry for the second and
the third incremental properties is similar to that for the first incremental
property.
Setting Up Optimizations
In addition to setting up the objective functions used to optimize, you must
also set up the optimization variables and any bounds that are necessary. For
instance, you may choose to optimize profit 1 by varying the feed rate of
feed 1. However, the unit may have constraints to how much wet gas can be
processed, so the wet gas volume would be selected as a dependent
constraint variable.
The independent variables have the specification of Const if optimization has
never been set up before. However, not all variables with Const specification
in the model are included in independent variable list. Only those variables
that can be manipulated in the Reformer model will appear. Those variables
are identified by Opt in Column R (with title Opt) on the SendVars page.
The default list of independent variables should be able to handle most of
optimization run. If you want to use other variables as independent variables,
you should manually set up those variables on the SendVars page.
After a variable is selected on the independent list, the corresponding column
V (with the title Opt Select) on the SendVars page will be marked YES for
this variable. When solving the optimization case, the variable will be sent to
Command Line with the Optim specification. However, SendVars still keeps
the original Const specification for this variable.
The dependent constraint variables have the specification of Meas or Calc.
However, not all variables with Meas and Calc specification appear in the list.
Only those variables that represent operation constraints in Reformer appear.
Those variables are identified by Opt in Column R (with the title Opt) on the
ReceiveVars page. The default list of dependent variables represents all
9 Optimization 65
constraints commonly met in Reformer operation. If you have a particular
constraint that is not represented by any variable on the list, you can
manually set up those variables on the ReceiveVars page. After a variable is
selected on the dependent list, the corresponding Column Y (with the title
Opt Select) on the ReceiveVars page is be marked YES for this variable.
Aspen Plus Reformer presents only CONST variables in the pick list of
independent variable and only CALC and MEAS variables in the pick list of
dependent variables in order to ensure that whatever set you choose will lead
to a well-posed problem.
To Set Up An Optimization:
1 From the AspenPlusReformer menu, select the Setup Cases option.
2 Select the Optimization option from the sub-menu.
66 9 Optimization
To Select A Variable:
Check the check box to the right of the variable name.
To Deselect A Variable:
1 Clear the check box to the right of the variable name.
2 When the independent variables and the dependent constraint variables
have been selected, click the OK button to complete the setup.
The selected variables and their current values will then appear on the
Optimize spreadsheet. Clicking the Cancel button will close the dialog
box without making any changes to the optimization problem.
After setting up optimization, a message box will appear to remind you to
Make sure the profit function is defined before running the optimize
case.
After selecting the desired independent variables and dependent constraint
variables, you should now input lower and upper bounds in Columns C and F
by the appropriate variables. You can also input step bounds for the
independent variables in Column G.
The optimization is now ready to solve.
In order to save the changes made to the Optimize pages, save the
worksheet.
9 Optimization 67
Executing Optimization Cases
To Solve The Optimization:
1 On the AspenPlusReformer toolbar, select the Optimize option
68 9 Optimization
3 On this dialog, select an active objective function. Only one active
objective function can be selected.
4 Select the direction of the optimization by selecting maximizing or
minimizing function.
If the objective function is set up as a profit function, select Max.
If the objective function is set up as a cost function, select Min.
5 Select the profit reports to update. Normally only the active objective
function is selected.
6 Click the OK button to complete the setup.
-or-
Click the Cancel button to close the dialog box and return to the
Optimize worksheet.
If you clicked the OK button, in Step 6, the data from the optimization
spreadsheet is sent to the model, and the Command Line dialog box opens.
9 Optimization 69
You can change the behavior of the DMO solver by selecting one of the three
buttons at the bottom of the command window. The selection will take effect
at the start of the next DMO iteration.
Clicking the Abort button will force the model to quit solving.
Clicking the Close Residuals button will cause the model to close the
residuals without minimizing the objective function convergence. The
Close Residuals button is useful in cases where the objective function
very nearly reaches a maximum value but the convergence of the
objective does not close.
Clicking the No Creep button will take the DMO solver out of creep mode.
This is used to expedite solving when current run is close to the final
solution, in which case both Residual Convergence Function and Objective
Convergence Function are small and close to convergence criteria.
There is another button, Close, at the very bottom of the dialog box. This
button is deactivated during the optimization run. It is only activated when no
run is being executed. Clicking the Close button will close the dialog box and
return the Excel interface.
After the model solves the optimization, the solution values are retrieved into
the optimization page and the spreadsheet is updated. The corresponding
report page, the Optimize page, and the Simulation page are updated to
the current values in the model, but the Param page is not updated. On the
Optimize page, the values after the optimized values are placed into Column
E. If any upper or lower bound is reached, that value will be highlighted in
red.
A typical optimization will take three to five minutes, but this could be higher
or lower depending on how difficult it is to reach a solution.
70 9 Optimization
Analyzing Optimization
Solutions
There is one profit report worksheet (Profit1Report, Profit2Report,
Profit3Report) for each objective function.
The profit report worksheet is designed to show the change between the
starting point and the optimization solution. All the principal properties and
incremental properties used in the corresponding objective function are listed
in Column A of the worksheet. Each property occupies one row. The
incremental properties of a specific principal property occupy the rows below
the row of related principal property. The rates, prices, and cash flow are
listed to the right of the principal properties and incremental properties in a
profit report worksheet.
On the worksheet you can see clearly how each property contributes to the
objective function in term of case flow for both the starting point and
optimization solution. You can also observe how optimization adjusts the
values of properties to maximize the profit.
You can further analyze the optimization results by comparing the results to
engineering knowledge of Reformer operation. For instance, suppose the
Reformer unit is operated in a Gasoline Mode. You will probably assign a
high value to gasoline. You would expect to see the gasoline production to be
maximized and the riser outlet temperature is increased from its initial value.
In another case, If the Reformer unit is operated in Heating Oil Mode and
heating oil is assigned a higher value than gasoline, you would expect to see
the Reformer unit maximize heating oil production. The riser outlet
temperature may not hit the upper limit in this case. You can also examine
the Optimize worksheet to see if any independent or dependent variable is at
its limit. Normally at least one independent variable or dependent variable is
at its bound in the optimization solution. For instance, the riser temperature
or the wet gas rate may hit its upper bound in the example of Gasoline
Mode.
9 Optimization 71
10 Model Parameterization
Calibration Steps
Calibration Step 1 - Open Command Screen
Starting from the loaded Aspen Plus Reformer model, open the command
line:
On the main menu, click AspenPlusReformer | Tools | Display
Command Line.
72 10 Model Parameterization
Calibration Step 2 - Switch to PAR mode
When the Command Line is displayed, enter the following command to switch
to the PAR mode:
INVOKE PAR_MODE <enter>
This command invokes the script file PAR_MODE.EBS that is at the end of
this section. The solver settings can be changed from the command line by
entering commands similar to the following:
SOLVER SETTINGS CREEPITER = 3 <enter>
10 Model Parameterization 73
Calibration Step 5 - Initiate model solution
Entering the command SOLVE into the command line will initiate execution of
the PARAM case.
At this point the results are in the model engine, but have not been
transferred to the Excel Interface
74 10 Model Parameterization
Use the following command to write the results of the run to a user specified
file. In this example, the file name is SAMPLE_1.VAR. Note the position of
the double quotation marks.
WRITE VARFILE [VALUE, UNITS, SPEC] TO "SAMPLE_1.VAR" <ENTER>
10 Model Parameterization 75
The Load User Data from File dialog appears.
2 On the Load User Data from File dialog, use the Browse function to
find the file written in Step 6.
3 Select the correct file; then click the Open button.
The Load User Data from File dialog reappears.
4 Click the Load button. It will take a short time to load the data into the
Excel Interface.
Application Note:
When the model is opened for future operations, the old data file will be
loaded. You must do one of the following three actions to read the new data
into the model.
Rename the new data file to the original model data file name. In the
example above, the SAMPLE_1.VAR file would be renamed
CCRBASE18.VAR.
Each time the model is loaded, use the loading technique described above
to load the new data file.
Modify the PLANT.EBS script to read the new file name rather than the
original file
76 10 Model Parameterization
Recommended
PARAMETIZATION Script File
PAR_MODE.EBS file contents
set mode=par
//
Solver settings rescvg = 1.0d-10 // 2.0D-4
Solver settings objcvg = 5.0d-8 // 1.0D-3
//
Solver settings creepiter = 10
Solver settings creepflag = 1
Solver settings creepsize = 0.03
Solver settings searchmode = 2 // 1=Normal, 2=Advanced,
//3=Scaled, 0=Aggressive
Solver settings LineSearch =2 // default=3
Solver settings MinIter =3
Solver settings MaxIter =125 //50
Solver settings factorspeed = 2 // normal factorization= 1
// fast =2
Solver settings HESSIANUPDATES =5
Solver settings factorspace = 7 // default is 6
//
Solver settings adcvmeth = 5 // 0=none 1=any 2=iter 3=obj
//4= res 5=all
Solver settings adcvIter = 4
Solver settings adcvObjCvg = 5.0E-10
Solver settings adcvResCvg = 1.0E-14
set number_width=20
10 Model Parameterization 77
// SET REACTOR INLET TEMPS
REFCTL.BLK.REF_TEMP_SPEC.UOM = "F"
REFCTL.BLK.TEMP_BIAS_RX_1.UOM = "DELTA-F"
REFCTL.BLK.TEMP_BIAS_RX_2.UOM = "DELTA-F"
REFCTL.BLK.TEMP_BIAS_RX_3.UOM = "DELTA-F"
REFCTL.BLK.TEMP_BIAS_RX_4.UOM = "DELTA-F"
REFCTL.BLK.REF_TEMP_SPEC = 950.
REFCTL.BLK.TEMP_BIAS_RX_1 = -10.
REFCTL.BLK.TEMP_BIAS_RX_2 = -5.
REFCTL.BLK.TEMP_BIAS_RX_3 = +5.
REFCTL.BLK.TEMP_BIAS_RX_4 = +10.
The following section of the xxx_PARAM.EBS file sets the correct
temperature variable specifications for a PARAM case.
OPERCAL.BLK.WAIT.spec = CALC
REFCTL.BLK.REF_TEMP_SPEC.spec = CONST
REFCTL.BLK.TEMP_BIAS_RX_1.spec = CONST
REFCTL.BLK.RX_1_TEMPERATURE.spec = CALC
REFCTL.BLK.TEMP_BIAS_RX_2.spec = CONST
REFCTL.BLK.RX_2_TEMPERATURE.spec = CALC
REFCTL.BLK.TEMP_BIAS_RX_3.spec = CONST
REFCTL.BLK.RX_3_TEMPERATURE.spec = CALC
REFCTL.BLK.TEMP_BIAS_RX_4.spec = CONST
REFCTL.BLK.RX_4_TEMPERATURE.spec = CALC
NETCALW.BLK.SUM_AROM.spec = CALC
CCRDMO.BLK.OCTCAL_C5_RON.spec = CALC
CCRDMO.BLK.OCTSTAB_STREAM_RON.spec = CALC
78 10 Model Parameterization
In terms of H2/HC molar ratio.
H2/HC molar ratio is recommended.
REC1AN.BLK.VOLUME.spec = CALC
REC1AN.BLK.MASS.spec = CALC
H2HC.BLK.TOTAL_H2HC_MOL.spec = CONST
RCMP2.BLK.OUT_MOLES.spec = CALC
H2HC.BLK.TOTAL_H2HC_MOL = 3.5
The heater efficiencies set in Aspen Plus Reformer are the radiant heater
efficiencies. These can be taken from the fired heater data sheets, or
calculated from the fire box operation.
// SET HEATER EFFICIENCIES
RXR1.RX1OPER.BLK.HEATEREFF = 0.6
RXR2.RX1OPER.BLK.HEATEREFF = 0.6
RXR3.RX1OPER.BLK.HEATEREFF = 0.6
RXR4.RX1OPER.BLK.HEATEREFF = 0.6
10 Model Parameterization 79
Reactor weights are specified as MEAS variables and the reactor lengths are
specified. The reactor diameters parameterized to match the catalyst
weights.
//Reactor Weights
RXR1.RX1OPER.BLK.CAT_WT.SPEC = MEAS
= MEAS
RXR2.RX1OPER.BLK.CAT_WT.SPEC
= MEAS
RXR3.RX1OPER.BLK.CAT_WT.SPEC
= MEAS
RXR4.RX1OPER.BLK.CAT_WT.SPEC
= PARAM
RXR1.RX1OPER.BLK.DIA.SPEC
= PARAM
RXR2.RX1OPER.BLK.DIA.SPEC
= PARAM
RXR3.RX1OPER.BLK.DIA.SPEC
= PARAM
RXR4.RX1OPER.BLK.DIA.SPEC
= 10000.
RXR1.RX1OPER.BLK.CAT_WT
= 20000.
RXR2.RX1OPER.BLK.CAT_WT
= 30000.
RXR3.RX1OPER.BLK.CAT_WT
= 40000.
RXR4.RX1OPER.BLK.CAT_WT
Reactor Lengths are set to the actual values. Care needs to be taken to use
the correct engineering units.
// SET REACTOR LENGTHS
RXR1.RX1OPER.BLK.LENGTH.spec = CONST
= CONST
RXR2.RX1OPER.BLK.LENGTH.spec
= CONST
RXR3.RX1OPER.BLK.LENGTH.spec
= CONST
RXR4.RX1OPER.BLK.LENGTH.spec
= 10.
RXR1.RX1OPER.BLK.LENGTH
= 20.
RXR2.RX1OPER.BLK.LENGTH
= 30.
RXR3.RX1OPER.BLK.LENGTH
= 40.
RXR4.RX1OPER.BLK.LENGTH
Set the void fraction of the catalyst to 0.6 unless the exact value is known.
// SET CATALYST VOID FRACTION
RXR1.RX1OPER.BLK.VOIDFRAC.SPEC = CONST
= 0.6
RXR1.RX1OPER.BLK.VOIDFRAC
The LHSV calculation is calibrated by parameterizing the catalyst density.
Note: The catalyst density is the actual catalyst density, not the loaded
density.
80 10 Model Parameterization
= 1.5
OPERCAL.BLK.LHSV
Pinning Specifications
The Pinning correlation factors are used only for CCR units. In most
applications these will not be used.
//Pinning
//RXR1.PINNING.BLK.PIN_COEF.SPEC = PARAM
//RXR1.PINNING.BLK.PERC_PINNING.SPEC = MEAS
//RXR1.PINNING.BLK.PERC_PINNING = 1.
10 Model Parameterization 81
//RXR2.PINNING.BLK.PIN_COEF.SPEC = PARAM
//RXR2.PINNING.BLK.PERC_PINNING.SPEC = MEAS
//RXR2.PINNING.BLK.PERC_PINNING = 2.
//RXR3.PINNING.BLK.PIN_COEF.SPEC = PARAM
//RXR3.PINNING.BLK.PERC_PINNING.SPEC = MEAS
//RXR3.PINNING.BLK.PERC_PINNING = 3.
//RXR4.PINNING.BLK.PIN_COEF.SPEC = PARAM
//RXR4.PINNING.BLK.PERC_PINNING.SPEC = MEAS
//RXR4.PINNING.BLK.PERC_PINNING = 4.
Lightends Gravities
If the lightends (H2, C1, C2 and 2) gravities are left at zero value, the default
gravities are used in the CCRDMO__NETCAL_VOLUME calculations. If you
want the volume yields on an FOE basis, use the FOE gravities.
CCRDMO.BLK.NETCAL_USER_H2_SG = 0.0000000 // 0.3413
CCRDMO.BLK.NETCAL_USER_C1_SG = 0.0000000 // 0.8237
CCRDMO.BLK.NETCAL_USER_C2_SG = 0.0000000 // 0.8649
CCRDMO.BLK.NETCAL_USER_O2_SG = 0.0000000 // 0.8736
82 10 Model Parameterization
The COKRXMULT_ACT variables are set to 1 for CCR units. These are
calculated for cyclic and semi-regen reformers.
// COKRXMULT = multipliers for units with high coke make (cyclic
and semiregen)
RXR1.RX1.BLK.COKRXMULT_ACT = 1.0
RXR2.RX1.BLK.COKRXMULT_ACT = 1.0
RXR3.RX1.BLK.COKRXMULT_ACT = 1.0
RXR4.RX1.BLK.COKRXMULT_ACT = 1.0
The coke levels in each reactor in a CCR operation are parameterized using
the General Coke Activity Factor and the reactor activity factors (reactors
2 through 4). The coke levels are in units mass/time for reactors 1 through 3.
The last reactor coke is in percent coke on catalyst. Catalyst circulation rate
must be given a value.
RXR1.RX1.BLK.GENCOKEACT_ACT.SPEC = PARAM
RXR2.RX1.BLK.COKGENRXACT_ACT.SPEC = PARAM
RXR3.RX1.BLK.COKGENRXACT_ACT.SPEC = PARAM
RXR4.RX1.BLK.COKGENRXACT_ACT.SPEC = PARAM
RXR2.COKESPL.BLK.STRM_3_MASS.SPEC = MEAS
RXR3.COKESPL.BLK.STRM_3_MASS.SPEC = MEAS
RXR4.COKESPL.BLK.STRM_3_MASS.SPEC = MEAS
CCR1.BLK.R4_COC_PCT.SPEC = MEAS
RXR2.COKESPL.BLK.STRM_3_MASS = 10.
RXR3.COKESPL.BLK.STRM_3_MASS = 20.
RXR4.COKESPL.BLK.STRM_3_MASS = 30.
CCR1.BLK.R4_COC_PCT = 5.00
CCR1.BLK.CAT_CIRC_RATE_A = 123.
Octane Calibration
RON calibration is performed on the C5+ and/or the C6+ of the reactor
effluent and on the stabilizer bottoms.
//RON and RVP Factors
// C5+ RON Calibration
CCRDMO.BLK.OCTCAL_C5_RON.spec = MEAS
CCRDMO.BLK.OCTCAL_AF_C5_RON.spec = PARAM
CCRDMO.BLK.OCTCAL_C5_RON = 95.
// C6+ RON Calibration
//CCRDMO.BLK.OCTCAL_C6_RON.spec = MEAS
//CCRDMO.BLK.OCTCAL_AF_C6_RON.spec = PARAM
//CCRDMO.BLK.OCTCAL_C6_RON = 100.
// Stabilizer Bottoms RON
CCRDMO.BLK.OCTSTAB_STREAM_RON.spec = MEAS
CCRDMO.BLK.OCTSTAB_AF_STREAM_RON.spec = PARAM
CCRDMO.BLK.OCTSTAB_STREAM_RON = 98.
10 Model Parameterization 83
CCRDMO.BLK.REACT_B_MULT_LN_A_HYDCRAC.spec = PARAM
NETCALW.BLK.SUM_C5PLUS.spec = MEAS
NETCALW.BLK.SUM_C5PLUS = 80.00
The net hydrogen yield is calibrated by parameterizing the cracking frequency
factor against the measured hydrogen yield or the aromatics production.
//Net Hydrogen Production
CCRDMO.BLK.REACT_B_MULT_LN_A_DEHYDGEN.spec = PARAM
NETCALW.BLK.H2_WTPCT.spec = MEAS
NETCALW.BLK.H2_WTPCT = 3.0
//NETCALW.BLK.SUM_AROM.spec = MEAS
//NETCALW.BLK.SUM_AROM = 65.
Calibration of the naphthenes consists of parameterizing the ring closure and
ring expansion frequency factors against the measure C5 and C6 rings in the
reactor effluent.
CCRDMO.BLK.REACT_B_MULT_LN_A_RINGEXP.SPEC = Param
NETCALW.BLK.SUM_NAP6R.SPEC = Meas
NETCALW.BLK.SUM_NAP6R = 0.2
The cyclopentane (5N5) yield is adjusted up from the base operation by
parameterizing the C5 ring closure, and down by parameterizing the
reversibility. The net cyclopentane yield is the measured value.
84 10 Model Parameterization
C4, C5, A8 and Olefin Isomer Calibration
The C4 and C5 isomerization factors are parameterized against the measured
iC4:nC4 and ic5:nC5 equilibrium ratios.
//C4, C5 equilibrium ratios
CCRDMO.BLK.ISOMCAL_PARA_IC4.spec = PARAM
CCRDMO.BLK.ISOMCAL_PARA_IC5.spec = PARAM
NETCALW.BLK.RATIO_C4IN.spec = MEAS
NETCALW.BLK.RATIO_C5IN.spec = MEAS
NETCALW.BLK.RATIO_C4IN = 1.0
NETCALW.BLK.RATIO_C5IN = 2.0
The A8 distribution factors are parameterized against the measured A8
distribution of EB, meta and ortho xylene in fractions.
// A8 distribution
NETCALW.BLK.RATIO_EBC8A.spec = MEAS
NETCALW.BLK.RATIO_MXC8A.spec = MEAS
NETCALW.BLK.RATIO_OXC8A.spec = MEAS
NETCALW.BLK.RATIO_EBC8A = 0.15
NETCALW.BLK.RATIO_MXC8A = 0.40
NETCALW.BLK.RATIO_OXC8A = 0.25
CCRDMO.BLK.ISOMCAL_PARA_EB.spec = PARAM
CCRDMO.BLK.ISOMCAL_PARA_META.spec = PARAM
CCRDMO.BLK.ISOMCAL_PARA_ORTHO.spec = PARAM
The olefin isomerization factors are parameterized against the measured
quantities in the net product yield.
NETCALW.BLK.OL2_WTPCT.spec = MEAS
NETCALW.BLK.O3_WTPCT.spec = MEAS
NETCALW.BLK.O4_WTPCT.spec = MEAS
NETCALW.BLK.O5_WTPCT.spec = MEAS
NETCALW.BLK.O6_WTPCT.spec = MEAS
NETCALW.BLK.O7_WTPCT.spec = MEAS
NETCALW.BLK.O8_WTPCT.spec = MEAS
NETCALW.BLK.OL2_WTPCT = 0.1
NETCALW.BLK.O3_WTPCT = 0.2
NETCALW.BLK.O4_WTPCT = 0.3
NETCALW.BLK.O5_WTPCT = 0.4
NETCALW.BLK.O6_WTPCT = 0.5
NETCALW.BLK.O7_WTPCT = 0.6
NETCALW.BLK.O8_WTPCT = 0.7
CCRDMO.BLK.ISOMCAL_PARA_O2.spec = PARAM
CCRDMO.BLK.ISOMCAL_PARA_O3.spec = PARAM
CCRDMO.BLK.ISOMCAL_PARA_O4.spec = PARAM
CCRDMO.BLK.ISOMCAL_PARA_O5.spec = PARAM
CCRDMO.BLK.ISOMCAL_PARA_O6.spec = PARAM
CCRDMO.BLK.ISOMCAL_PARA_O7.spec = PARAM
CCRDMO.BLK.ISOMCAL_PARA_O8.spec = PARAM
10 Model Parameterization 85
Notes:
This requires very accurate measurement of the C10 concentrations in the
reformate.
The naphthene yield is very small and is very difficult to analyze. It is
recommended that the default values be used.
//C10 Yields
NETCALW.BLK.SUM_P10.spec = MEAS
CCRDMO.BLK.REACT_C_C10_CRACKING.spec = PARAM
NETCALW.BLK.A10_WTPCT.spec = MEAS
CCRDMO.BLK.REACT_C_10RINGC.spec = PARAM
NETCALW.BLK.SUM_P10 = 0.05
NETCALW.BLK.A10_WTPCT = 5.00
C9 Yield Calibration
C9 yields are calibrated via parameterization of the C9 reaction rates against
the measured yields.
Notes
This requires very accurate measurement of the C9 concentrations in the
reformate.
The naphthene yield is very small and is very difficult to analyze. It is
recommended that the default values be used.
//C9 Yields
NETCALW BLK.SUM_P9.spec = MEAS
CCRDMO.BLK.REACT_C_C9_CRACKING.spec = PARAM
NETCALW.BLK.A9_WTPCT.spec = MEAS
CCRDMO.BLK.REACT_C_9RINGC.spec = PARAM
NETCALW.BLK.SUM_P9 = 0.05
NETCALW.BLK.A9_WTPCT = 10.0.
C8 Yield Calibration
C8 yields are calibrated via parameterization of the C8 reaction rates against
the measured yields.
Notes:
This requires very accurate measurement of the C8 concentrations in the
reformate.
The total C8 aromatics is calibrated in this section
The naphthene yield is very small are is very difficult to analyze. It is
recommended that the default values be used.
At this point it may be necessary to include closure on the 5N8
concentration.
Do not attempt to calibrate the 6N8 concentration.
//C8 Yields
NETCALW.BLK.SUM_P8.spec = MEAS
CCRDMO.BLK.REACT_C_C8_CRACKING.spec = PARAM
NETCALW.BLK.SUM_A8.spec = MEAS
86 10 Model Parameterization
CCRDMO.BLK.REACT_C_8RINGG.spec = PARAM
NETCALW.BLK.SUM_P8 = 0.5
NETCALW.BLK.SUM_A8 = 20.00
//
//C8 5N8 Closure
//NETCALW.BLK.5N8_WTPCT.spec = MEAS
//NETCALW.BLK.5N8_WTPCT = 0.1
//CCRDMO.BLK.REACT_C_N8RINGEX.spec = PARAM
C7 Yield Calibration
C7 yields are calibrated via parameterization of the C7 reaction rates against
the measured yields.
Notes:
The C7 Paraffin is normally the only C7 calibrated.
Because of inaccuracies in laboratory data, one aromatic must be used as
a degree of freedom. Normally the best choice is Toluene.
The C7 naphthenes concentrations are very low. It is recommended that
the default values be used.
// C7 Yield
NETCALW.BLK.SUM_P7 = 2.00
NETCALW.BLK.SUM_P7.spec = MEAS
CCRDMO.BLK.REACT_C_C7_CRACKING.spec = PARAM
//
//C7 Aromatics Yield
// NETCALW.BLK.A7_WTPCT = 15.00
// NETCALW.BLK.A7_WTPCT.spec = MEAS
//CCRDMO.BLK.REACT_C_7RINGC.spec = PARAM
//
//C7 Naphthene Yield calibration variables
//NETCALW.BLK.5N7_WTPCT = 0.001
//NETCALW.BLK.5N7_WTPCT.spec = MEAS
//CCRDMO.BLK.REACT_C_7RINGC.spec = CONST //PARAM
//
//NETCALW.BLK.6N7_WTPCT = 0.002
//NETCALW.BLK.6N7_WTPCT.spec = MEAS
//CCRDMO.BLK.REACT_C_N7RINGEX.spec = PARAM
C6 Yield Calibration
C6 yields are calibrated via parameterization of the C6 reaction rates against
the measured yields.
Notes:
Because of inaccuracy of laboratory data and the material balance, either
the C5 Paraffin or the C6 Paraffin must be used as a degree of freedom
and not calibrated to measured values. Use only the C5 Paraffin closure
options or the C6 Paraffin Closure option.
10 Model Parameterization 87
The C6 paraffin closure is preferred because of the inaccuracy of the
calculated split of C5 paraffin between the stabilizer overhead and
bottoms.
In a depentanizer operation, and possibly in a debutanizer operation, MCP
(methyl cyclopentane) and CH (cyclohexane) will be in the overhead
liquid. Be careful to ensure the measured yield calculations are correct.
The calculated value of MCP is allowed to float in the problem solution as
the degree of freedom in the total naphthenes balance.
// C6 Yield Calibration
NETCALW.BLK.A6_WTPCT.spec = MEAS
CCRDMO.BLK.REACT_C_N6RINGEX.spec = PARAM
NETCALW.BLK.5N6_WTPCT.spec = MEAS
CCRDMO.BLK.REACT_C_6RINGC.spec = PARAM
NETCALW.BLK.A6_WTPCT = 5.0
NETCALW.BLK.5N6_WTPCT = 0.1
//
//C5 Paraffin Closure
//
// NETCALW.BLK.SUM_P5.spec = MEAS
// CCRDMO.BLK.REACT_C_C5_CRACKING.spec = PARAM
// NETCALW.BLK.SUM_P5 = 5.00
//
//C6 Paraffin Closure
NETCALW.BLK.SUM_P6.spec = MEAS
CCRDMO.BLK.REACT_C_C6_CRACKING.spec = PARAM
NETCALW.BLK.SUM_P6 = 7.00
Note: Calibrating the SBP/MBP ratio and the i/n ratio may be the most
difficult part of calibrating Aspen Plus Reformer. The success in tuning these
ratios is highly dependent upon the quality of the user data. If you do not
have EXCELLENT feed and reformate isomer identification, the ratios cannot
be properly solved. WHEN IN DOUBT USE THE ASPEN PLUS REFORMER
DEFAULT VALUES.
//NETCALW.BLK.RATIO_C6PSBMB.spec = MEAS
//CCRDMO.BLK.REACT_B_MULT_LN_A_ISO_MBP.spec = PARAM
//NETCALW.BLK.RATIO_C6PIN.spec = MEAS
//CCRDMO.BLK.REACT_B_MULT_LN_A_ISO_SBP.spec = PARAM
//NETCALW.BLK.RATIO_C6PSBMB = 3.
//NETCALW.BLK.RATIO_C6PIN = 2..
88 10 Model Parameterization
NETCALW.BLK.P1_WTPCT.spec = MEAS
CCRDMO.BLK.LTEND_C1_FACT.spec = PARAM
NETCALW.BLK.P1_WTPCT = 0.7625
Ethane Yield
NETCALW.BLK.P2_WTPCT.spec = MEAS
CCRDMO.BLK.LTEND_C2_FACT.spec = PARAM
NETCALW.BLK.P2_WTPCT = 2.1023
Propane Yield
NETCALW.BLK.P3_WTPCT.spec = MEAS
CCRDMO.BLK.LTEND_C3_FACT.spec = PARAM
NETCALW.BLK.P3_WTPCT = 3.8426
USERRVP.BLK.USER_RVP.UOM = "PSIA"
USERRVP.BLK.USER_RVP = 2.35
Feed Specifications
//FEED
FEED1.BLK.MASS.SPEC = CALC
FEED1.BLK.VOLUME.SPEC = CONST
FEED1.BLK.STDVOL.SPEC = CALC
FEED2.BLK.MASS.SPEC = CALC
FEED2.BLK.VOLUME.SPEC = CONST
FEED2.BLK.STDVOL.SPEC = CALC
FEED3.BLK.MASS.SPEC = CALC
FEED3.BLK.VOLUME.SPEC = CONST
FEED3.BLK.STDVOL.SPEC = CALC
//
FEED1.BLK.VOLUME = 53626.
10 Model Parameterization 89
FEED2.BLK.VOLUME = 0.001
FEED3.BLK.VOLUME = 0.001
//
FRFDWP.BLK.ANLZR_TEMP = 60.
FRFDWP.BLK.ANLZR_PRES = 500.
FRFDVP.BLK.ANLZR_TEMP = 60.
FRFDVP.BLK.ANLZR_PRES = 500.
FRFDMP.BLK.ANLZR_TEMP = 60.
FRFDMP.BLK.ANLZR_PRES = 500.
FD3VP.BLK.ANLZR_TEMP = 60.
FD3VP.BLK.ANLZR_PRES = 500.
FDANV3.BLK.ANLZR_TEMP = 60.
FDANV3.BLK.ANLZR_PRES = 500.
FDANW3.BLK.ANLZR_TEMP = 60.
FDANW3.BLK.ANLZR_PRES = 500.
// Feed 1
FEED1.BLK.MASS.SPEC = CALC
//FEED1.BLK.MASS = // LB/HR
FEED1.BLK.VOLUME.SPEC = CONST
FEED1.BLK.VOLUME = 53626.0 // BBL/DAY
//enter component data as weight fraction - should add to 1.00000
FDANW1.BLK.H2_WTPCT = 0.0
FDANW1.BLK.P1_WTPCT = 0.0
FDANW1.BLK.P2_WTPCT = 0.0
FDANW1.BLK.P3_WTPCT = 0.0
FDANW1.BLK.P4_WTPCT = 0.0
FDANW1.BLK.P5_WTPCT = 2.099
FDANW1.BLK.5N5_WTPCT = 0.270
FDANW1.BLK.MBP6_WTPCT = 0.648
FDANW1.BLK.SBP6_WTPCT = 4.693
FDANW1.BLK.NP6_WTPCT = 4.980
FDANW1.BLK.5N6_WTPCT = 2.392
FDANW1.BLK.A6_WTPCT = 0.801
FDANW1.BLK.6N6_WTPCT = 2.611
FDANW1.BLK.MBP7_WTPCT = 1.590
FDANW1.BLK.SBP7_WTPCT = 5.492
FDANW1.BLK.NP7_WTPCT = 6.272
FDANW1.BLK.5N7_WTPCT = 3.559
FDANW1.BLK.A7_WTPCT = 2.930
FDANW1.BLK.6N7_WTPCT = 6.713
FDANW1.BLK.MBP8_WTPCT = 1.796
FDANW1.BLK.SBP8_WTPCT = 5.127
FDANW1.BLK.NP8_WTPCT = 6.032
FDANW1.BLK.5N8_WTPCT = 5.985
FDANW1.BLK.A8_WTPCT = 4.418
FDANW1.BLK.6N8_WTPCT = 2.400
FDANW1.BLK.IP9_WTPCT = 5.953
FDANW1.BLK.NP9_WTPCT = 4.216
FDANW1.BLK.5N9_WTPCT = 0.227
FDANW1.BLK.A9_WTPCT = 2.851
FDANW1.BLK.6N9_WTPCT = 4.139
FDANW1.BLK.IP10_WTPCT = 6.078
FDANW1.BLK.NP10_WTPCT = 2.302
FDANW1.BLK.5N10_WTPCT = 0.000
FDANW1.BLK.A10_WTPCT = 1.836
FDANW1.BLK.6N10_WTPCT = 0.808
FDANW1.BLK.IP11_WTPCT = 0.401
90 10 Model Parameterization
FDANW1.BLK.NP11_WTPCT = 0.096
FDANW1.BLK.5N11_WTPCT = 0.285
FDANW1.BLK.A11_WTPCT = 0.0
FDANW1.BLK.6N11_WTPCT = 0.0
FDANW1.BLK.P12_WTPCT = 0.0
FDANW1.BLK.N12_WTPCT = 0.0
FDANW1.BLK.A12_WTPCT = 0.0
FDANW1.BLK.P13_WTPCT = 0.0
FDANW1.BLK.N13_WTPCT = 0.0
FDANW1.BLK.A13_WTPCT = 0.0
FDANW1.BLK.P14_WTPCT = 0.0
FDANW1.BLK.N14_WTPCT = 0.0
FDANW1.BLK.A14_WTPCT = 0.0
//
// Feed 2
FEED2.BLK.MASS.SPEC = CALC
//FEED2.BLK.MASS = // LB/HR
FEED2.BLK.VOLUME.SPEC = CONST
FEED2.BLK.VOLUME = 0.001 // BBL/DAY
//enter component data as weight fraction - should add to 1.00000
FDANW2.BLK.H2_WTPCT = 0.0
FDANW2.BLK.P1_WTPCT = 0.0
FDANW2.BLK.P2_WTPCT = 0.0
FDANW2.BLK.P3_WTPCT = 0.0
FDANW2.BLK.P4_WTPCT = 0.0
FDANW2.BLK.P5_WTPCT = 2.099
FDANW2.BLK.5N5_WTPCT = 0.270
FDANW2.BLK.MBP6_WTPCT = 0.648
FDANW2.BLK.SBP6_WTPCT = 4.693
FDANW2.BLK.NP6_WTPCT = 4.980
FDANW2.BLK.5N6_WTPCT = 2.392
FDANW2.BLK.A6_WTPCT = 0.801
FDANW2.BLK.6N6_WTPCT = 2.611
FDANW2.BLK.MBP7_WTPCT = 1.590
FDANW2.BLK.SBP7_WTPCT = 5.492
FDANW2.BLK.NP7_WTPCT = 6.272
FDANW2.BLK.5N7_WTPCT = 3.559
FDANW2.BLK.A7_WTPCT = 2.930
FDANW2.BLK.6N7_WTPCT = 6.713
FDANW2.BLK.MBP8_WTPCT = 1.796
FDANW2.BLK.SBP8_WTPCT = 5.127
FDANW2.BLK.NP8_WTPCT = 6.032
FDANW2.BLK.5N8_WTPCT = 5.985
FDANW2.BLK.A8_WTPCT = 4.418
FDANW2.BLK.6N8_WTPCT = 2.400
FDANW2.BLK.IP9_WTPCT = 5.953
FDANW2.BLK.NP9_WTPCT = 4.216
FDANW2.BLK.5N9_WTPCT = 0.227
FDANW2.BLK.A9_WTPCT = 2.851
FDANW2.BLK.6N9_WTPCT = 4.139
FDANW2.BLK.IP10_WTPCT = 6.078
FDANW2.BLK.NP10_WTPCT = 2.302
FDANW2.BLK.5N10_WTPCT = 0.000
FDANW2.BLK.A10_WTPCT = 1.836
FDANW2.BLK.6N10_WTPCT = 0.808
FDANW2.BLK.IP11_WTPCT = 0.401
FDANW2.BLK.NP11_WTPCT = 0.096
10 Model Parameterization 91
FDANW2.BLK.5N11_WTPCT = 0.285
FDANW2.BLK.A11_WTPCT = 0.0
FDANW2.BLK.6N11_WTPCT = 0.0
FDANW2.BLK.P12_WTPCT = 0.0
FDANW2.BLK.N12_WTPCT = 0.0
FDANW2.BLK.A12_WTPCT = 0.0
FDANW2.BLK.P13_WTPCT = 0.0
FDANW2.BLK.N13_WTPCT = 0.0
FDANW2.BLK.A13_WTPCT = 0.0
FDANW2.BLK.P14_WTPCT = 0.0
FDANW2.BLK.N14_WTPCT = 0.0
FDANW2.BLK.A14_WTPCT = 0.0
//
// Feed 3
FEED3.BLK.MASS.SPEC = CALC
//FEED3.BLK.MASS = // LB/HR
FEED3.BLK.VOLUME.SPEC = CONST
FEED3.BLK.VOLUME = 0.001 // BBL/DAY
//enter component data as weight fraction - should add to 1.00000
FDANW3.BLK.5N5_WTPCT = 0.270
FDANW3.BLK.MBP6_WTPCT = 0.648
FDANW3.BLK.SBP6_WTPCT = 4.693
FDANW3.BLK.NP6_WTPCT = 4.980
FDANW3.BLK.5N6_WTPCT = 2.392
FDANW3.BLK.A6_WTPCT = 0.801
FDANW3.BLK.6N6_WTPCT = 2.611
FDANW3.BLK.MBP7_WTPCT = 1.590
FDANW3.BLK.SBP7_WTPCT = 5.492
FDANW3.BLK.NP7_WTPCT = 6.272
FDANW3.BLK.5N7_WTPCT = 3.559
FDANW3.BLK.A7_WTPCT = 2.930
FDANW3.BLK.6N7_WTPCT = 6.713
FDANW3.BLK.MBP8_WTPCT = 1.796
FDANW3.BLK.SBP8_WTPCT = 5.127
FDANW3.BLK.NP8_WTPCT = 6.032
FDANW3.BLK.5N8_WTPCT = 5.985
FDANW3.BLK.A8_WTPCT = 4.418
FDANW3.BLK.6N8_WTPCT = 2.400
FDANW3.BLK.IP9_WTPCT = 5.953
FDANW3.BLK.NP9_WTPCT = 4.216
FDANW3.BLK.5N9_WTPCT = 0.227
FDANW3.BLK.A9_WTPCT = 2.851
FDANW3.BLK.6N9_WTPCT = 4.139
FDANW3.BLK.IP10_WTPCT = 6.078
FDANW3.BLK.NP10_WTPCT = 2.302
FDANW3.BLK.5N10_WTPCT = 0.000
FDANW3.BLK.A10_WTPCT = 1.836
FDANW3.BLK.6N10_WTPCT = 0.808
FDANW3.BLK.IP11_WTPCT = 0.401
FDANW3.BLK.NP11_WTPCT = 0.096
FDANW3.BLK.5N11_WTPCT = 0.285
FDANW3.BLK.A11_WTPCT = 0.0
FDANW3.BLK.6N11_WTPCT = 0.0
FDANW3.BLK.P12_WTPCT = 0.0
FDANW3.BLK.N12_WTPCT = 0.0
FDANW3.BLK.A12_WTPCT = 0.0
FDANW3.BLK.P13_WTPCT = 0.0
92 10 Model Parameterization
FDANW3.BLK.N13_WTPCT = 0.0
FDANW3.BLK.A13_WTPCT = 0.0
FDANW3.BLK.P14_WTPCT = 0.0
FDANW3.BLK.N14_WTPCT = 0.0
FDANW3.BLK.A14_WTPCT = 0.0
// Rx 3
CCRDMO.BLK.HT3TST_TUBE_ID.uom ="FT"
CCRDMO.BLK.HT3TST_TUBE_OD.uom ="FT"
10 Model Parameterization 93
CCRDMO.BLK.HT3TST_TUBE_SPACING.uom ="FT"
//CCRDMO.BLK.HT3TST_FLUE_GAS_T ="F"
CCRDMO.BLK.HT3TST_BRIDGE_T.uom ="F"
CCRDMO.BLK.HT3TST_DELTA_T.uom ="DELTA-F"
CCRDMO.BLK.HT3TST_TUBE_LENGTH.uom ="FT"
CCRDMO.BLK.HT3TST_TUBE_U_RADIUS.uom ="FT"
CCRDMO.BLK.HT3TST_THERMAL_COND_METAL.uom ="BTU-FT/HR-SQFT-R"
CCRDMO.BLK.HT3TST_NUM_TUBES = 52.
// Really Radius for ID and OD
CCRDMO.BLK.HT1TST_TUBE_ID = 0.16775
CCRDMO.BLK.HT1TST_TUBE_OD = 0.1875
CCRDMO.BLK.HT3TST_TUBE_SPACING = 0.75
CCRDMO.BLK.HT3TST_TUBE_CFG = 4.0
CCRDMO.BLK.HT3TST_TUBE_LENGTH = 56.27
CCRDMO.BLK.HT3TST_TUBE_U_RADIUS = 0.375
CCRDMO.BLK.HT3TST_THERMAL_COND_METAL = 188.0
//
//Update of CCRDMO.BLK.HT3TST_TUBE_METAL_T_OUTLET after Rx 4 data
//
// Rx 4
CCRDMO.BLK.HT4TST_TUBE_ID.uom ="FT"
CCRDMO.BLK.HT4TST_TUBE_OD.uom ="FT"
CCRDMO.BLK.HT4TST_TUBE_SPACING.uom ="FT"
//CCRDMO.BLK.HT4TST_FLUE_GAS_T ="F"
CCRDMO.BLK.HT4TST_BRIDGE_T.uom ="F"
CCRDMO.BLK.HT4TST_DELTA_T.uom ="DELTA-F"
CCRDMO.BLK.HT4TST_TUBE_LENGTH.uom ="FT"
CCRDMO.BLK.HT4TST_TUBE_U_RADIUS.uom ="FT"
CCRDMO.BLK.HT4TST_THERMAL_COND_METAL.uom ="BTU-FT/HR-SQFT-R"
CCRDMO.BLK.HT4TST_NUM_TUBES = 52.
// Really Radius for ID and OD
CCRDMO.BLK.HT1TST_TUBE_ID = 0.16775
CCRDMO.BLK.HT1TST_TUBE_OD = 0.1875
CCRDMO.BLK.HT4TST_TUBE_SPACING = 0.75
CCRDMO.BLK.HT4TST_TUBE_CFG = 4.0
CCRDMO.BLK.HT4TST_TUBE_LENGTH = 56.27
CCRDMO.BLK.HT4TST_TUBE_U_RADIUS = 0.375
CCRDMO.BLK.HT4TST_THERMAL_COND_METAL = 188.0
// Set UOM
CCRDMO.BLK.HT1TST_TUBE_METAL_T_OUTLET.UOM = "F"
CCRDMO.BLK.HT2TST_TUBE_METAL_T_OUTLET.UOM = "F"
CCRDMO.BLK.HT3TST_TUBE_METAL_T_OUTLET.UOM = "F"
CCRDMO.BLK.HT4TST_TUBE_METAL_T_OUTLET.UOM = "F"
Error Recovery
Error Recovery - Overview
You should check the convergence status shown at the top of the param
sheet after running the parameter case. The results on the param and
analysis sheets are only meaningful if the convergence status is converged.
94 10 Model Parameterization
If the status is not converged, then it is generally desirable to return the
param sheet and model to their pre-solution states.
10 Model Parameterization 95
11 Working With Equation
Oriented Model Solver
Introduction
When you click the solve button, Aspen Plus Reformer submits the
mathematical formulation of the problem to the DMO solver, which is a
equation oriented (EO) model solver via the kernel.
If the solution is successful:
The kernel command window closes.
The results of the solution are returned to the Excel GUI.
The status indicators will change to Ready and Converged.
If the solver fails:
The status indicators show Ready and Not Converged.
You must perform some troubleshooting to determine the cause of the
failure.
The following topics discuss the basics of the solver technology and the error
messages issued by the solver when certain types of errors occur.
Successive Quadratic
Programming (SQP)
The DMO solver is a specific implementation of the general class of nonlinear
optimization algorithms known as Successive Quadratic Programming (SQP),
which perform the optimization by solving a sequence of quadratic
programming subproblems. The general optimization problem that DMO
solves can be expressed as follows:
Minimize f(x)
Subject to c(x) = 0
xmin x xmax
Where:
x Rn Vector of unknown variables
Title Description
The last section of the output shows the execution times for the various parts
of the problem.
In this example, we can see that convergence was achieved when the residual
and objective convergence functions were less than their respective
tolerances at iteration 3.
From this output, we also see that there have been no line searches. Thus the
step size for each iteration is one. When a line search is performed for an
iteration, a message will appear:
<Line Search ACTIVE> ==> Step taken 3.26D-01
If the solver has to line search continually and the step size gets very small
(less than 1.0D-2), most likely the solution is trying to move very far from the
starting point or some of the specified values are nearly infeasible.
This shows the iteration number and the value of the objective function.
The shadow price is based on the value of the objective function that is seen
by DMO. That means the shadow price is in SI units (such as $/sec) and is
affected by any scaling. This is true even if you declare the units to be
something other than SI (such as $/HR).
Consider this example. We have a tower with a composition constraint,
expressed as a mole fraction of a component. The following table shows the
results of two optimization runs at two different values of the composition
constraint:
Value Objective Shadow Price
The large change in the shadow price indicates that the effect of the
composition on the objective function is very nonlinear. We can manually
estimate the average shadow price in this region by a finite difference
method:
Price = Obj/x = ( 2.893-2.853 ) / ( 0.0003 - 0.0002 ) =
400.00 $/sec/mole fraction
Nonlinearity Ratios
This section shows the nonlinearity ratio of:
The worst block.
The objective function.
The worst equations.
Troubleshooting
Usage Notes
This section describes some troubleshooting tips to improve the performance
of the solver and to help diagnose common problems.
This says that this variable's value had to be adjusted to respect the bound.
When the optimization proceeds and there is no feasible solution for the
equality constraints, the screen output might look like this:
The OUT file contains information on the possible cause of the singularity in
the following manner:
This turns on the creep mode. When active, the following message is
displayed at each iteration:
By default, this will operate for 10 iterations with a step size of 0.1. You can
change these values with the commands:
In this example, we change the number of creep iterations to 20 and the step
size to 0.5.
Run-Time Intervention
During long runs, it is possible to change the behavior of the DMO solver. This
is done by selecting one of the three buttons at the bottom of the command
window. The selection will take effect at the start of the next DMO iteration.
The three buttons are:
Button Action
Overview
Aspen Plus Reformer is an application of the reactor modeling technology of
Aspen Plus applied to the catalytic reforming process. The reactor models
have been configured with reforming kinetics to present a complete process
model.
Reaction Kinetics
Reaction Paths
The reaction paths used for C6 through C8 are shown in the following
diagram. As the carbon number increases beyond 8, the complexity of the
paths is reduced.
Isomerization 1
Ring Close/Open 2
Ring Expansion 3
Dehydrogenation 4
Hydrogenolysis 5
Hydrocracking 6
Hydrodealkylation 7
Polymerization 8
Dehydrogenation CH A6
Paraffin For C6 through C8, the paraffins are divided intoto three
t
Definitions types normal, single branched iso paraffin (SBP)
BP) and a
multi-branched iso-paraffin (MBP). From C9 throurough C11,
the iso paraffins are all represented by a single lumped
lump
iso-paraffin. The C12 through C14 paraffins are allal lumped
as a single paraffin.
Olefins The C2 through C8 olefins are denoted by a lumpe
mped
carbon number representation.
Naphthenes The naphthenes are represented as either a C5 ringed
rin
molecule with an alkyl group or a C6 ring with an alkyl
group.
Aromatics The aromatics are represented with a saturated C6
C ring
with an alkyl group.
Feed / Productt De
Definition Differences
Calculatio
tion Blocks
Blocks are include
uded to calculate the following calculations cons
nsistent with
conventional cata
atalytic reforming process engineering.
Reactor Sectio
ction
Heaters
Stabilizer
Reformate Pro
Properties
Reactor Sec
Section
WAIT
WABT
LHSV
WHSV
H2:HC Ratio molar
Regeneratorr A
Air Rate
Pinning
Stabilizer
Condenser Duty
Reboiler Duty
Tray to tray liquid and vapor rates
Temperature and pressure profiles
Component recoveries in the overhead for:
o IC4
o NC4
o IC5
o NC5
o NC6
o Benzene
Reformate Properties
C5+ RON
C5+ MON
C6+ RON
C6+ MON
Stabilizer Bottoms RON
Stabilizer Bottoms MON
RVP
Isomerization
Ring Closure/Open
Ring Expansion
Dehydrogenation
Hydrogenolysis - Para
Hydrogenolysis - Naph
Hydrocracking
Hydrodealkylation
Polymerization
The acid and metals activities are independent functions of carbon on catalyst
expressed as percent. The general form for both the acid and metals
functions is:
Activity = Intercept + Poly1*COC + Poly2*COC^2 + Poly3*COC^3 +
Poly4*COC^4
The model variables are:
RXR(i).RX1ACT.BLK.METALACTR
RXR(i).RX1ACT.BLK.ACIDDEACTINTER
RXR(i).RX1ACT.BLK.ACIDDEACTPOLY1
RXR(i).RX1ACT.BLK.ACIDDEACTPOLY2
RXR(i).RX1ACT.BLK.ACIDDEACTPOLY3
RXR(i).RX1ACT.BLK.ACIDDEACTPOLY4
RXR(i).RX1ACT.BLK.METDEACTINTER
RXR(i).RX1ACT.BLK.METDEACTPOLY1
RXR(i).RX1ACT.BLK.METDEACTPOLY2
RXR(i).RX1ACT.BLK.METDEACTPOLY3
RXR(i).RX1ACT.BLK.METDEACTPOLY4
Coke Make
Reformer catalyst is a bifunctional catalyst, and the catalyst activity definition
used in modeling must include separate terms for the metals and acid
functions. The activity of the catalyst in a reformer is a function of several
factors, among which are:
1 Coke laydown on the catalyst
2 Water/Chloride environment
3 Temporary poisons such as sulfur
4 Permanent poisons such as lead, zinc, and copper
5 Catalyst surface area
6 Platinum crystal size
Coking Mechanism
There are several theories on coke laydown: one or more of them may be
correct. The general concept with the greatest acceptance is that coke is
formed from the condensation of polycyclic hydrocarbons. A second generally
accepted concept is that polycyclics are formed from an intermediate olefin
created primarily during the cyclization (and to some degree during
Stabilizer Configuration
The stabilizer is a conventional rigorous tower simulation using the Aspen Plus
Petrofrac Tower model. A vapor and liquid draw are taken off the overhead
receiver, and the reformate off the reboiler. The overhead receiver pressure
and temperature are user-specified, as well as the condenser delta pressure
and the tower delta pressure.
Tray 1 is the condenser. The feed is specified to Tray 11. The reboiler is on
Tray 30. A Murphree efficiency can be specified for Trays 10 through 2 and a
second efficiency for Trays 29 through 12. This gives sufficient freedom to
match actual tower performance.
Feed Blocks
Block Description
Control Blocks
Block Description
Calculation Blocks
Block Description
MPROD Combines duplicates of the net hydrogen and the product separator
liquid to form a net reactor yield stream for further analysis
NETCALV Calculates the net reactor products on a volume basis
NETCALW Calculates the net reactor products on a weight basis
NETH2AM Calculates the net hydrogen concentration on a molar basis
NETH2AW Calculates the net hydrogen concentration on a molar basis
NXACALC Calculates the Feed 3 N+2A and N+3A
OCTSTBV Calculates the reformate RVP
OPERCAL Performs a series of calculations such as reactor delta temperature,
fired duty, WAIT, LHSV, WHSV and other similar calculations
REFMRVP Calculates reformate RVP based upon components
H2HC Calculates hydrogen to hydrocarbon ratio on a molar basis
NETCAL Calculates net volumetric yields using user defined gravities for H2,
C1, C2 and O2
HT1TST Calculates the tubeskin temperatures of the first heater
HT2TST Calculates the tubeskin temperatures of the second heater
HT3TST Calculates the tubeskin temperatures of the third heater
HT4TST Calculates the tubeskin temperatures of the fourth heater
Regenerator Blocks
Block Description
Recycle Blocks
Block Description
BDMAP 3 First of two blocks that map the component set used in the reactor
section to the component set in the separation section of Aspen Plus
Reformer
DMAP 3 Second of two blocks that map the component set used in the reactor
section to the component set in the separation section of Aspen Plus
Reformer
EFFCLR Mapping blocks that maps the component set used in the separation
section to the component set in the reactor section of Aspen Plus
Reformer
FLMAP 3 Mapping blocks that maps the component set used in the separation
section to the component set in the reactor section of Aspen Plus
Reformer
PSEP 3 Flash drum block that models the product separator
PSSPL Splitter on the product separator vapor to create the recycle and net
hydrogen streams
RCMP2 Recycle compressor
Stabilizer Blocks
Block Description
STABREC Calculation block that calculates the recover of C4s, C5s, and C6s
overhead in the stabilizer
STABTWR Petrofrac model used to simulate the stabilizer tower
STBABM Analyzer model (mole basis) on the stabilizer bottoms stream
STBABV Analyzer model (volume basis) on the stabilizer bottoms stream
STBABW Analyzer model (weight basis) on the stabilizer bottoms stream
STBALM Analyzer model (mole basis) on the stabilizer overhead liquid stream
STBALV Analyzer model (mole basis) on the stabilizer overhead liquid stream
STBALW Analyzer model (weight basis) on the stabilizer overhead liquid stream
STBAVM Analyzer model (mole basis) on the stabilizer overhead vapor stream
STBAVW STBAVW
STBHTR Heater block on stabilizer feed
USERRVP Bias block to adjust theoretical RVP to measured RVP
VOLRR Calculates the reflux ratio on a volume basis
Reflux Stabilizer_Reflux:Stabilizer_Overhead_Liquid
Ratio
Duplicator Blocks
All of the following blocks are used to duplicate a stream composition or flow
rate. These duplicates are then used in supplemental calculations such as in
an analyzer block for stream composition.
DUPF1
DUPF2
DUPF3
DUPF4
DUPFR2
DUPFR3
DUPFR4
DUPFR5
DUNET1
DUPSVO
DUPSEP
DUPSTB1
Note: Do not make a new connection until you have issued the reset
command.
13 Troubleshooting 123
License Errors
The following error message may appear if the Aspen Plus license verification
fails.
Message Error in ConnectServer(), module Com2Dcom. Error
message:Unable to load simulation engine. License
check out error.
Cause The Aspen Plus license was not found when attempting to connect
to the Aspen Plus Reformer flowsheet.
Solution Check to make sure that the license server or the license file has
been selected properly. See the Licensing section on page 2-8 of
the Aspen Engineering Suite Installation Manual for more
information.
Ensure that the licenses for Aspen Plus, Aspen Plus EO Optimizer,
and the Aspen RxFinery application licenses have been entered into
the license server or are located in the license file.
The following error message may appear if the Aspen Plus Reformer license
verification fails.
Message ****EXECUTION ERROR WHILE EVALUATING
RESIDUALS FOR UNIT OPERATIONS BLOCK:
"RX1" (MODEL: "KINETIC")
LICENSE VALIDATION/CHECKOUT FAILURE
FOR ASPEN PLUS REFORMER
Cause The Aspen Plus Reformer license could not be found in the license
server or license file selected.
Solution Ensure that the license key for Aspen Plus Reformer has been entered
into the license server or is located in the license file. See the
Licensing section on page 2-10 of the Aspen Engineering Suite
Installation Manual for more information.
124 13 Troubleshooting
Index
C8 86
A C8 Yield Calibration 86
C8 Yields 86
A8 85 C9 86
Abort button 17 C9 Yield Calibration 86
Add Variables to Objective C9 Yields 86
Functions dialog 62 Calculation Blocks 113
APC 55 Calibrating SBP/MBP 88
Aspen Plus 3, 4 Calibrating the model 72
flowsheet 12 Case Study 52
resetting connection 12 running 53
Aspen Plus Reformer 3 setting up 52
engine 4 Case types 37
exiting 13 Case worksheet 52
flowsheet 19 Catalyst 111
menu 19 activity 111, 114
toolbar 19 calibration 111
workbook 14, 25 circulation rate 43
ATSLV file problem summary 100 Catalyst Data section 43
Catalyst sheet 48
B Check Receive Vars 36
Check Send Vars 36
Bulk Napthenes Specifcation 84
Close Residuals button 18
Closing the Command Line 18
C Coke Make 115
C1 89 Coke Make Factors 82
C10 86 Coke on Catalyst 44
C10 Yield Calibration 86 Coke Precursor Equations 118
C10 Yields 86 Coking Mechanism 116
C2 89 Command Line 18, 69
C3 Yield Calibration 89 accessing manually 18
C4 85 window 17
C5 85 Commands
C5 Naphthenes Production 84 running 18
C6 Paraffin Closure 88 Compositions Product Rates 44
C7 87 Connect Dialog Box 21
C7 naphthenes 87 Constrained Variables 101
C7 Paraffin 87
C7 Yield Calibration 87
Index 125
D H
Data files Hidden Worksheets 27
loading 15 Hot Side Approach Temperature 78
saving 14
DCOM 3, 4 I
Degrees-of-Freedom 6, 8, 9
Delta temperatures Incremental properties
specifying 79 adding 62
Display Command line 5 independent variable data 53
Display Command Line 72 independent variables 61
DMO 96 Infeasible Solutions 103
algorithm 97 Initiate model solution 74
parameters 98 Isomerization 85
solver log files 99 Iterations
solver output 98 objective function value 100
DOF 6, 8, 9 status information 102
DP 8
DP Factors 81 K
Duplicator Blocks 122
Key Operating Data 41
E
L
EB Scripts 4
Largest Unscaled Residuals 100
adding 35
Last Successful Run 73
EB Scripts sheet 35
License verification failure 124
EO Modeling 5
Lightends gravities 82
EO Solver 96
Loading data files 15
changing parameters 97
Loading user input files 16
Equation-oriented See EO
LP factors 55
Error Recovery 50, 95
LP vectors 54, 55
Ethane Yield 89
generating 55, 56, 58
example 5
purpose 55
Excel 13
Execute button 18
Exit Aspen Plus Reformer 13 M
Measurements 7
F Methane Yield 89
Microsoft Excel 3
Feed Data 42, 45
Model calibration 72
Feed definition 112
Model Specifications 6
Feed Specifications 90
Modes 7
Feeds worksheet 30, 45
Multi-Mode Specifications 7
Feedstocks 3
Multiple cases 51
File submenu 23
Flowsheet 3
FOE 43 N
No Creep button 18
G Nonlinearity Ratio 102
Normal Paraffin Isomerization
Generating LP vectors 56
Calibration 88
126 Index
O REFORMER Demonstration Model
108
Objective Convergence Function 18
Reformer flowsheet 20
Objective functions
initialize 11
setting up 61
Reformer model 108
types 60
Reset ApMain command 12, 123
Octane Calibration 83
Residual Convergence Function 18
Open Command Screen 72
Running cases
Optimization 9, 60
from Reformer menu 38
analyzing solutions 71
from the Reformer Toolbar 38
creating DOF 9
LP vectors 55
setting up 65
multiple cases 38
Optimizer 60
simulation 49
Options worksheet 26
Run-Time Intervention 107
Rx-Section sheet 48
P
PAR mode 73 S
Parameterization data
Save/load case data 4
transferring into solver engine 73
Saving data files 14
Parameters 7
Saving reformer model data 14
PARAMETIZATION Script File
Saving solutions 49
recommended 77
Saving user input files 16
PIMS Table
SBP/MBP
generating 59
Calibrating 88
Pinning Specifications 81
scaling 105
PML 3
Select Objective Function dialog 68
Pressure Drop 5
Select Specification Options dialog
Pressure effects on reaction
box 47, 51
mechanisms 114
Send Vars 35
Product definition 112
SendVars Sheet 32
profit functions 61
Sequential-modular 5
Propane Yield 89
Setting Startup Options 22
Setup Case Study dialog box 39,
R 52
Reaction Kinetic Expressions 110 Setup Cases submenu 24
Reaction Paths 109 Setup LP Vectors dialog box 56
Reaction Types 110 Setup Optimization Case dialog box
Reactor 65
base temperature 118 Severity Options 42
base temperature specification Simulation 41
77 running 49
delta temperature specifications Simulation sheets 41
79 Singularities 105, 106
Hierarchy Blocks 119 SM 5
lengths 80 Solutions
temperature control 118 saving 49
weights 80 Solver settings 40
Read New Model Data into Solving
Excel Interface 76 troubleshooting 123
Receive Vars 35 Specification Buttons 28
ReceiveVars sheet 33 Specifications
changing 8
Index 127
Pinning 81 X
SQP 96
Xxx_PARAM.EBS file 77
Stabilizer Configuration 119
Stabilizer Tower Calibration 89
Standard Worksheets 26 Y
Starting Aspen Plus Reformer Yields 43
first time 10
Starting File 73
Startup Aspen Plus Reformer
submenu 20
Startup Options 23
modifying 20
setting 23
Startup Options Dialog Box 22
Stream Rates 44
Successive Quadratic Programming
96
System Pressure Control 114
System Pressure Specifications 81
T
Tube Skin Temperature Input Data
93
U
Unhide 27
Unit Operations
basic specifications 78
Usage Notes 103
User Data File 20
User input files
Saving and Loading 16
User specified file
Write results 74
V
Variables
bounds 107
deselecting 67
selecting 62, 63, 67
VBA 3, 19
View Hidden Worksheets 27
W
WAIT 51
Worksheets 25, 26
customizing 31
Write results 74
128 Index