Professional Documents
Culture Documents
Introduction to Aspen
Adsorption
Product Name Changes in aspenONE™ V7
With the release of aspenONE V7 in September, 2008, AspenTech has renamed several
of its Process Engineering products to make them more descriptive.
The new names reflect the function/role that product performs as part of the overall
Aspen Engineering solution.
The materials for this course will be revised to reflect the name changes as well as other
enhancements available with aspenONE V7. Please note that for this specific course
manual the preV7 product names are used throughout, except for the title.
To help you with the transition to the new names, we’ve provided a reference table on the
following page that shows the original product name and its corresponding new name for
V7.
Ó2009 AspenTech. All rights reserved. i Aspen Technology, Inc.
With the release of aspenONE™ V7.0, AspenTech has renamed
many of its Process Engineering products. Use this chart to see
the new name and corresponding installation requirements.
© 2008 Aspen Technology, Inc. AspenTech®, aspenONE™, and the Aspen leaf logo are trademarks or registered trademarks
of Aspen Technology, Inc. All rights reserved. 1549-01-0808
Introduction to Aspen Adsorption Contents
Contents
Lesson Page
Introduction Introduction – 1
Course Objectives
• Client-Server application
– Graphical User Interface – Client
– Solver engine – Server
Class Structure
Phone: 888-996-7100
Email: support@aspentech.com
training.registration@aspentech.com
Internet: http://support.aspentech.com
Objectives
Online Help
Menu
Flowsheet
Window
Simulation
Explorer
Window
Simulation
Status Bar Messages
Window
Insert, Contents,
Snapshots,
Delete, About
Use,
Rename, Mode,
Plot,
etc... Run,
Table,
Pause,
Estimation,
Options,
Cycle Organizer,
etc...
etc...
©2010 AspenTech. All Rights Reserved. Slide 8
The Toolbar
Tools
Flowsheet Appearance
Gridlines
Block
(model instance)
Hatches Indicate
Flowsheet Locked
To Changes
©2010 AspenTech. All Rights Reserved. Slide 10
Location of
Simulation Simulation
Engine Engine
Status
Specification
Status
• Clicking the “Analyze” button will open the Specification Analysis tool
Solver Options
• Variable Find is used to find and list the variables within the
simulation
• Easy way of generating scripts and customized tables
• Accessed from the main
menu, a context sensitive
menu, or the main toolbar
• Searches can be made
using:
– Wildcards
– Variables types
– Specification
– Block
– Run
– Step one interval Run Mode
– Pause Step
– Restart Restart
– Rewind
– Reset
0.2
P1.Y_Fwd("Oxygen") kmol/kmol
1
0.75 0.8 0.85 0.9 0.95 1
0.95
0.15
Nitrogen
Oxygen
0.9
0.1
0.85
0.05
0.8
0 250 500 750 1000 1250 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35
Tim e Sec onds Pos ition m
Workshop 1
Objectives
• The Specify Tables that are accessed through the configure forms
only display the variables that require a value (these are the
assumed constant variables)
• The specification will already be set to “Fixed”
• All the “Free” variables in the Sink Block will now be listed
• In the bottom window the following will be listed:
– Name
– Value
– Specification
– Variable type
Save
Objectives
Component Lists
• The load module will now be created. Any errors will be reported
• Once generated, close Aspen Properties and save the changes
• In Aspen Adsorption close the Physical Properties Configuration
dialog
• The Aspen Properties .aprbkp file will now be embedded in the
Aspen Adsorption input file when saved
Final Notes
Objectives
Introduction
Unit Unit
Depressurization Pressurization
Unit Unit
Depressurization Pressurization
Unit Unit
Depressurization Pressurization
Flow Reversal
• Forward Flow
Y1(1) = Y
If Pressure(1) >= Pressure(3)
T1(1) = T
or Flowrate >= 0
H1(1) = H Calculates/equates all
Y1, T1, H1
Mainstream Variables Mainstream Variables
1 F,Y,T,P,H
2 F,Y,T,P,H
3
Pressure Flow Pressure
Setter Y1,T1,H1 Setter Y1,T1,H1 Setter
(i.e. Tank/Void) Secondary Stream (i.e. Valve) Secondary Stream (i.e. Tank/Void)
Calculates/equates all Variables Variables
Y1, T1, H1
Y = Y1(3)
If Pressure(1) < Pressure(3)
T = T1(3)
or Flowrate < 0
H = H1(3)
• Reverse Flow
The g_Material_Port
• The inlet ports for all Aspen Adsorption models are named
Process_In
• The outlet ports for all Aspen Adsorption models are named
Process_Out
• When connecting to a model block, the connection is initially made
to the default port position on the block
– Once the connection is made, the connected port can then be
dragged around the model block to a more suitable position
• Also in the library the following objects can be found that were used
to create the models
– Parameter Types folder containing all used string parameters
– Port Types folder containing the g_Material_Port
– Variables Types folder containing all the predefined variable types
– Procedures folder containing all the definitions for user procedures
(and internal)
– Stream Types folder containing the special gas_Material_Connection
– Submodels_Core folder containing the submodels (hidden) that make
up the gas_bed model
– Submodels_User folder containing submodel templates (used in
conjunction with the editing key or can be accessed using flowsheet
level constraints/equations)
Objectives
Introduction
gas_Material_Connection
gas_product
gas_feed gas_bed
gas_Material_Connection
The gas_Material_Connection
Stream
• To connect all the models in the library for gas processes, the
gas_Material_Connection stream must be used
• Permits the connection of models that would break the Pressure
Setter – Flow Setter convention
• On opening a stream’s configuration form, or a form of a connected
unit, the stream will configure two internal parameters
Source_Unit_Type
Destination_Unit_Type
according to one of the appropriate model types detected
Non-Reversible
Reversible Flow Setter
Reversible Pressure Setter
Non-Reversible Delay
• The connection has two other options
– Apply Overall Pressure Drop
– Multiply Outlet Flowrate
©2010 AspenTech. All Rights Reserved. Slide 6
L ay er(L a y e rS e
t)
M o m e n tu m _ B a lan ce(1 )
U ser_ M T C (1 )
D isp ersio n (1 )
U ser_ K m a cK m ic (1 )
K in etic s(1 )
U ser_ K in etic _ M o d el_ F lu id
U ser_ IA S _ G ib b s(1 )
G a s_ E n e rg y _ B ala n ce (1 )
S o lid _ E n erg y _ B a la n ce (1 )
W all_ E B (1 )
U ser_ H T C (1 )
U ser_ K g (1 )
U ser_ D H (1 )
• All layers have their own set of assumptions, constant variables, and
initial conditions
©2010 AspenTech. All Rights Reserved. Slide 11
• Film Model
– Fluid
– Solid
• The Specify table only lists the recommended variables that are
required to be fixed (constants)
• The values entered in the previous table are only valid for node 1
• The Initialize button copies these values to all other nodes
• The variables to initialize (depending on assumptions specified)
– Vgout(nodes) – Superficial velocity (if velocity is varying
– Y(nodes,components-1) – Mole Fraction
– W(nodes,components) – Loading
– Cms(nodes,components) – Macropore concentration
– Tg(nodes) and Ts(nodes) – Gas and solid temp
– Tw(nodes) – Wall Temp
– Csol(nodes,solid components) – Solid concentration
gas_feed Model
gas_product Model
Workshop 3
Workshop Objectives
– Isotherm parameters
N2 O2
IP(1,*) 9.0108e-3 9.3652e-3
IP(2,*) 3.3712 3.5038
• At this point, you can save the column data to an external file using
the Save button
• This file contains the layer configuration and all specified (fixed)
variables
• You can use it in other simulations (or for rearranging layers) by
using the
Open button
• You will notice that the presets/initials are being applied to a single
node in the layer. To transfer the values to the other nodes:
– Press the Initialize button on the layer configure form
– Or from the Flowsheet menu select Check & Initial
(this action will also execute a flowsheet topology check)
• The bed/column model is now fully specified. All forms and tables
can be closed
• The flowsheet will now be over specified owing as the feed flowrate
has been fixed. Another variable must be freed
1
P1.Y_Fwd("N2") kmol/kmol
P1.Y_Fwd("O2") kmol/kmol
N2 kmol/kmol Time: 150.0
0.8 0.85 0.9 0.95
0.05
0.75
0.75
• From the pressure being applied across the column the feed
flowrate will now be calculated
• Rerun the simulation
• The results should be broadly similar to when flowrate driven
Objectives
gas_product
gas_valve
gas_valve
gas_tank_void
gas_feed gas_bed
gas_tank_void
Workshop 4
Workshop Objectives
gas_valve
gas_tank_void
gas_tank_void
gas_valve
New
Previous streams
streams
S5
S6 S2
Set the pressure
P1 to 3.0447 bar
Preset the pressure VP1
TD2
to 3.0448 bar
Assume a pressure
B1
drop of approximately
0.1mbar across the bed
Set the pressure
TD1 Preset the pressure
to 3.045 bar
to 3.0449 bar
S3
S1
F1
VF1
Flowrate = 5e-7 kmol/s
Assume pressure drop
of 0.1mbar
©2010 AspenTech. All Rights Reserved. Slide 20
Objectives
Bed 1
T
P
Bed 2
T
P
Bed 3
T Slide 4
©2010 AspenTech. All Rights Reserved.
Flowsheet
Store
Scope
Profiles
Replay
Profiles
P
Bed 1
T
P
Bed 2
T
P
Bed 3
Stage 1: Stage 2:
60 s 15 s
Bed 1 Adsorption Bed 1 Depressurization
Bed 2 Regeneration Bed 2 Repressurization
Stage 3: Stage 4:
60 s 15 s
Bed 1 Regeneration Bed 1 Repressurization
Bed 2 Adsorption Bed 2 Depressurization
3 bar
Bed 1
1 bar
3 bar
Bed 2
1 bar
60 s 75 s 135 s 150 s
• Assuming the beds are identical and execute identical stages, from
a single bed pressure profile, when using the single bed approach
the flowsheet will require:
– Intermediate flowsheet
Interaction Unit
– One interaction unit with valve Required
– Purge product train
3 bar
Purge Train
Required
1 bar
gas_valve
gas_valve
gas_interaction
gas_product
(Interacting Bed
(Main Product)
representation)
gas_tank_void
gas_bed
(Reference Bed)
gas_tank_void gas_product
gas_valve (Purge Product)
gas_feed
(Main Feed) [Intermediate Flowsheet] gas_valve
©2010 AspenTech. All Rights Reserved. Slide 16
Additional Configurations
Step 1 2 3
Interacts with 3 0 1
1 2 3
Time
• During the first cycle when no real bed pressure is available the
interaction unit uses the following expression to generate a pressure
ramp
P n
xfac Notional _ Volume RT
t t
• Xfac is used as a volume correction factor
– Typically a value approximately around 1
– Set to a high value, 100, when the bed being interacted with is at
constant pressure (act as a very large volume tank)
• After the first cycle a real bed pressure profile is available as this is
used for subsequent cycles
Cycle tabs
Step tabs
– Discrete event
• A free variable compared to a value
(i.e., Tank level >= Value)
• A composite expression
(i.e., Tank 1 level >= Tank 2 level AND Tank 1 level >= Value
Note: expressions currently work at base UOM)
• If any gas_interaction or
gas_buffer_interaction units are
present on the flowsheet the
Interactions options is made
available
• Selecting this option displays the
Iteration table
– Lists the active interactions for
every interaction unit
Additional Controls
Workshop 5
Creating and Running a Full Cyclic Flowsheet Using the Single Bed
Approach
Workshop Objectives
• Define a cycle using the cycle organizer that are a mix of:
– Time driven steps
– Event driven steps
– Linked non-interacting steps
gas_valve
gas_interaction
gas_valve
gas_product
New streams
gas_Material_Connection
P
100V high
start
P start
Cv Ln
low
RTt Phigh Plow
end end
• Where
– V = Bed/column interstitial + void gas volume (m3)
– T = Mean gas temperature (K)
– R = Gas constant (kJ/kmol/K)
– t = Step time (seconds)
– Phigh = High pressure side of valve (bar)
– Plow = Low pressure side of valve (bar)
1
P1.Y_Fwd("N2") kmol/kmol
P1.Y_Fwd("O2") kmol/kmol
0.8 0.85 0.9 0.95
3
TD1.P bar
TD2.P bar
2 2.51.5
0.75
0 500 1000 1500 2000 2500 0 500 1000 1500 2000 2500
Tim e Sec onds Tim e Sec onds
©2010 AspenTech. All Rights Reserved. Slide 59
Objectives
• To loop on each node in the column and each component within the
component list the following need to be added:
CONSTRAINTS Collection of valid array
indexes
// Flowsheet variables and equations...
Within B1.Layer(1).Isotherm(1).User_Conc_Isotherm(1)
Global collection of
For i In FDESet Do valid component names
For ii In ComponentList Do
//Just need to add equations
EndFor
EndFor
EndWithin
END
©2010 AspenTech. All Rights Reserved. Slide 9
• If there are any syntax errors they will be listed with their line number
in the Simulation Messages window
– When in the editor, the line number is given in the main status bar
Workshop 6
Workshop Objectives
• In this workshop:
– Reuse the last Full flowsheet
– Configure the column to use a user sub-model
– Define an isotherm using flowsheet constraints
– Compile the flowsheet constraints
– Save and execute the new problem
Objectives
Cy
cle
– Spatial discretization uses central
in
Spatial
itia
ls
difference or OCFE approximation Domain t2 Time
ta
p2
te
Ste
(t
Domain
0)
– Time discretization uses backwards t ep
1 t1
S
finite difference approximation t0
– Time and space discretization
reduces requirement to execute a
significant number of dynamic
cycles to determine the periodic
steady state performance
Discretization Method
CV C Q
0
z t t
Convective
Accumulation
Available Models
F = f( In.P, Out.P )
Out.Y = In.Y
Out.T = In.T
Defines
Out.H = In.H Yr, Tr, Hr
Mainstream Variables Mainstream Variables
1 F, Y, T, P, H
2 F, Y, T, P, H
3
Accumulation Flow Accumulation
Unit Yr, Tr, Hr Defining Unit Yr, Tr, Hr Unit
(i.e., Tank/Void) Secondary Reverse (i.e., Valve, Bed) Secondary Reverse (i.e., Tank/Void)
Defines Condition Variables Condition Variables
Y, T, H
In.Yr = Out.Yr
In.Tr = Out.Tr
In.Hr = Out.Hr
Workshop 7
Workshop Objectives
Stage 1: Stage 2:
60 s 15 s
Bed 1 Adsorption Bed 1 Depressurization
Bed 2 Regeneration Bed 2 Repressurization
Stage 3: Stage 4:
60 s 15 s
Bed 1 Regeneration Bed 1 Repressurization
Bed 2 Adsorption Bed 2 Depressurization
gCSS_TankVoid
gCSS_Interaction
(Interacting bed
gCSS_Adsorber representation)
(Reference Bed)
gCCC_TankVoid
gCSS_Valve gCSS_Valve
©2010 AspenTech. All Rights Reserved. Slide 17
• Configuration, specification
parameters and variables are
sorted model sections:
– Material balance
– Kinetic model
– Equilibrium model
– Energy balance
– Etc…
• Initialization_CSS table
– Not required for this example
– Used to define initial conditions/guesses
– When enabled, able to define initial values for:
• Pressure
• Composition
• Loading
• Temperature
• At each step when steps have been defined
– Execute model’s own initialization script to copy
values throughout the adsorber
– Recommended for more complex problems
• Improved convergence
– Analogous table for when starting in dynamic
configuration
• Must be used if building only dynamic models
• 60 second duration
• 5 time nodes
• Manipulated variables:
– VD1.CV_spec = 5e-8 kmol/s/bar
– VD1.Use_spec = 2 (Use CV specification)
– VF1.Use_spec = 1 (Fully open)
– VP1.F_spec = 5.2e-9 kmol/s
– VP1.Use_spec = 3 (Use flowrate specification
– VW1.Use_spec = 0 (Closed)
• 15 second duration
• 5 time nodes
• Manipulated variables:
– VD1.Use_spec = 0 (Closed)
– VF1.Use_spec = 0 (Closed)
– VP1.Use_spec = 0 (Closed)
– VW1.Cv_spec = 1.5e-5 kmol/s/bar
– VW1.Use_spec = 2 (Use CV specification)
• 60 second duration
• 5 time nodes
• Manipulated variables:
– VD1.Use_spec = 0 (Closed)
– VF1.Use_spec = 0 (Closed)
– VP1.Use_spec = 0 (Closed)
– VW1.Cv_spec = 4e-5 kmol/s/bar
– VW1.Use_spec = 2 (Use CV specification)
• 15 second duration
• 5 time nodes
• Manipulated variables:
– VD1.Use_spec = 0 (Closed)
– VF1.Cv_spec = 1.4e-5 kmol/s/bar
– VF1.Use_spec = 2 (Use CV specification)
– VP1.Use_spec = 0 (Closed)
– VW1.Use_spec = 0 (Closed)
• Tolerances tab
– Absolute and relative equation and variable tolerances = 1e-7
– Absolute and relative perturbation tolerances = 1e-6
– Uncheck eliminate equivalence equations
• Strongly recommended for steady state CSS problems
• Integrator tab (for later dynamic run):
– Implicit Euler
– Absolute and relative error tolerance = 5e-4
– Integration error tests only states
– Initial, Minimum, and Maximum step sizes = 1, 1, and 5
0.942 3.04
0.919 2.82
0.897 2.60
0.875 2.37
0.852 2.15
0.830 1.92
0.808 1.70
0.785 1.47
0.763 1.25
0.741 1.02
CSS_Product_Composition
0.96
0.05
Nitrogen kmol/kmol
Oxygen kmol/kmol
Nitrogen kmol/kmol
0.955
0.045
0.95
0 50 100 150
Time
Result_Plot_DYN
2e-5
1.15
305
1.05 1.1
1e-5 1.5e-5
F(0) kmol/hr
300
P(0) bar
T(0) K
1
295
5e-6
0.95
290
0.9
0.07
SP1.Y("O2",0) kmol/kmol
SP1.Y("N2",0) kmol/kmol
Result_Plot_DYN
305
3.5
0.95
0.06
3
300
P(0) bar
0.94
0.05
T(0) K
2 2.5
295
0.93
Time Seconds
290
Objectives
Parameter Estimation
Defining Estimated/Adjustable
Parameters
Defining Experiments
Steady-State Estimation
Steady-State Estimation –
Static_Isotherm Model
• The Static_Isotherm model allows you to fit isotherms to static data for
the following systems:
– Gas
– Liquid
– Ion Exchange
The relevant
option box
becomes
available
©2010 AspenTech. All Rights Reserved. Slide 10
• To define the
estimated variables,
drag the isotherm
parameters from the
Static_Isotherm
block’s Specify table
onto the estimation
interface’s Estimated
Variables
tab
• At the end of a run
the estimated value
will be displayed
• The fixed
variables in an
experiment define
the experimental
condition
• These can be
defined via drag-
and-drop from a
table (a Specify
table for
example) or
variable finder
Solver Options
Workshop 8
Workshop Objectives
Description
Pressure Loading
(bar) (kmol/kg)
1 0.000321
2 0.000558
3 0.00074
4 0.000885
5 0.001002
6 0.001099
• We manipulate
– B1.P
• We measure
– B1.W(“N2”)
Dynamic Estimation
Dynamic Estimation
Workshop 9
Workshop Objectives
Description
Estim atio n: Measured Variable - Dynamic_Set_1 Estim atio n: Measured Variable - Dynamic_Set_1
0.05 0.1 0.15 0.2 0.25
1
P1.Y_Fwd("N2") kmol/kmol
P1.Y_Fwd("O2") kmol/kmol
Observed
0.8 0.85 0.9 0.95
P re dic ted
Observed
P redicted
0 100 200 300 400 500 600 700 800 900 1000 0 100 200 300 400 500 600 700 800 900 1000
Time : Se co nds Time : Se co nds
Objectives
Group Decomposition
• Model code:
MODEL m1
x1, x2, x3, x4, x5 as realvariable;
x1 : 1, fixed;
x2 : 2.71;
x3 : 7.3441;
x4 : 8.3441;
x5 : 10.3;
eq1: x2 / exp(x1) = 1;
eq2: x4 = x2^2 + x3;
eq3: 5*x4 + 3*x3 = 44.72;
eq4: x5 = x1 + x3 + x4;
END
• Conclusion
Different specifications will cause different resolution
paths (for example, rating vs. sizing calculations)
Variable Equivalencing
Convergence Tests
• Tolerances
• Non Linear Solver options
– Residual
– Variable
– Residual and Variable
• Most stringent
– Residual or Variable
• Least stringent
– Max iterations
• Bounds handling
– Max range fraction
– Max approach to bound
– Clip factor
• Robustness modifications
– Step reduction
– Control progress towards solution (backtracking)
– Dog Leg (alternative search direction)
• Log transform
– Example: [H+] [OH-] = 10-14
• Direct form : h*oh = 1e-14
• Scaled form: h*oh*1e14 = 1
• Log form: log10(h) + log10(oh) = -14
Equation Scaling
• Refers to multiplying the lhs and rhs with the same factor
• Large factor (for example, 1e6) will force residual to be
much smaller at convergence
• Effective if convergence is tested on residuals
• Example:
F *x = Q *y; F *x*1e6 = Q *y * 1e6;
Variable Scaling
Convergence Troubleshooting
Convergence Troubleshooting
Options
Please complete
your