Aspen Convergence
Aspen Convergence
1
Outline of Today’s Lecture - Details
2
Convergence
Flowsheets with recycle loops, design specifications, or optimizations must be solved
iteratively by Aspen Plus®.
3
Convergence Options
To specify Use this Convergence form
4
Convergence – Conv Options - Defaults
On this sheet one can specify:
• Tear Convergence parameters such as Tolerance
• Default Methods for tear streams, design specifications, and optimization
problems
• Parameters that affect Sequencing
• Convergence parameters for each method. The specified parameters are used as
defaults for convergence blocks you define and convergence blocks generated by
Aspen Plus®.
5
Convergence – Conv Options – Methods –
Wegstein
You can control the Wegstein method by specifying (Conv Options / Methods /
Wegstein ):
• Upper and lower limits for acceleration parameter q (Upper Bound and Lower Bound).
• Number of direct substitution iterations before the first acceleration (Wait ).
• Number of direct substitution iterations between acceleration iterations (Consecutive
direct substitution steps ).
• Number of consecutive acceleration iterations (Consecutive acceleration steps ).
6
Convergence – Conv Options – Methods - Secant
Secant is the secant (linear approximation) method with higher order enhancements.
It has options to automatically switch to bracketing or to an interval halving algorithm if
the function is discontinuous, flat over a region, or possibly non-monotonic.
7
Convergence – Conv Options – Methods -
Broyden
Broyden is a modification of Broyden's quasi-Newton method which uses an
approximation of the Jacobian. Use it to converge:
• One or more tears.
• Multiple design specifications.
• Tears and design specifications simultaneously.
8
Convergence – Conv Options – Methods –
Newton
Newton is an implementation of the modified Newton method for simultaneous
nonlinear equations. The implementation allows bounds on the variables, and
includes a line search for improved stability.
Newton is useful when the recycle loops and/or design specifications are highly
interrelated but convergence is not achieved using the Broyden method.
9
Suitability of Convergence Methods
Tear Streams: Design Specifications:
• Wegstein (default) • Secant (default)
• Direct • Broyden
• Broyden • Newton
• Newton
10
Convergence – Tolerance
A tear is converged when the following is true for all tear convergence variables:
X new − X old
− Tol ≤ ≤ Tol
X old
where:
Tol = specified tolerance
Xnew = value of variable from current iteration
Xold = value of variable from previous iteration
11
Convergence – Block Tolerance
The default block tolerance is 1e-4. Changing it to 1e-6 often improves tear stream
convergence.
The block tolerance can be changed locally (in the specification of a block) or globally
for flash calculations (Setup / Simulation Options ). The latter option does only change
the tolerance for simple models but not that of e.g. RadFrac .
12
Convergence – Conv Options - Component
groups
For streams, the default convergence variables are total mole flow, all component
mole flows, pressure, and enthalpy.
Enter a Component group ID (Convergence / Convergence / Block / Tear Streams)
to identify the components to be converged.
You can use a component group when you know that some components have zero
or constant flow rates. A Component group may cause convergence problems if
the unconverged components have significant flow.
13
Convergence – Conv Options - Sequencing
Design spec nesting (Conv Options / Defaults / Sequencing ) lets you specify a
preference for whether design specifications should be nested inside tear loops, outside
tear loops, or converged simultaneously with tears. Design spec nesting does not
apply to convergence blocks specified in the Conv Order form.
User nesting lets you specify a preference for whether convergence blocks specified on
the Conv Order form should be nested inside or outside other convergence blocks
(user-defined or system-generated). A User nesting setting has precedence over a
Design spec nesting setting.
14
Sequencing Example
The mass flow of stream REFLUX, the inter-reflux stream from BOTCOL to
TOPCOL, is manipulated to meet a purity specification of component THF
in stream PROD. PROD is a product stream from BOTCOL/COOLER, in
design specification THF. PSPEC is the convergence block defined to
converge THF.
15
Sequencing Example
The automatic sequencing algorithm determines the following calculation
sequence:
HEATER
$OLVER01 TOPCOL
| PSPEC BOTCOL COOLER
| (RETURN PSPEC)
(RETURN $OLVER01)
16
Sequencing Example
The inter-reflux between the columns should be converged before
evaluation of the design specification. The design specification should be
nested outside the column recycle loop. You can alter the nesting order of
the convergence loops by either:
17
Sequencing Example
HEATER
PSPEC
| $OLVER01 TOPCOL BOTCOL
| (RETURN $OLVER01
| COOLER
(RETURN PSPEC)
18
Convergence – Tear Form
Use this form to enter preferences for tear streams to be converged by system-
generated convergence blocks, and optionally, to specify the convergence
variables and tolerance for these streams.
If you specify an incomplete tear set for your flowsheet, Aspen Plus® automatically
chooses the remaining set of streams. If you specify a redundant tear set (too
many tear streams), Aspen Plus® may ignore some tears or find an inefficient
sequence.
If possible, choose tear streams so that each possible calculation loop contains one
and only one tear stream.
Example:
19
Convergence – Initial Guesses for Tears
For many simulations with recycle streams, initial guesses for the tear streams will
help convergence. This is especially true for recycle systems with closed loops or
recirculating solvent loops. You can often provide a reasonable initial guess from
your knowledge of the process or through a simple mass-balance calculation.
Enter initial compositions and flow rates for the tear streams on Stream / Input /
Specification sheets, and run the simulation.
20
Convergence – Conv Order Form
Use this form to specify a preference for the calculation order of user-defined
convergence blocks.
Enter the convergence blocks in the order in which you prefer the nested loops be
solved.
The first convergence block entered will be converged first, and is therefore
nested most deeply.
To avoid possible convergence problems, the actual sequence generated may not
strictly follow the loop-order preference specified on this form.
21
Convergence Results
After your simulation has completed or while it is paused, you can view convergence
block results to check the status or diagnose convergence problems.
1 If your simulation is paused, from the Run menu, click Load Results .
2 On the Data menu, point to Convergence , then Convergence .
3 In the Convergence / Object Manager , select the convergence block and click Edit.
For system-generated convergence blocks, (names beginning with $OLVER), the
results sheets are displayed. For user-defined convergence blocks, select Results
on the left pane of the Data Browser window to display the results sheets.
22
Convergence Results
4 Choose the appropriate sheet:
23
Convergence – Diagnostic Message Levels
The message levels for convergence diagnostics are:
Level Description
0 Only convergence block terminal error messages are listed.
1 + convergence block severe error messages are listed.
2 + convergence block error messages are listed.
3 + convergence block warnings are listed.
4 + brief diagnostic information are listed.
5 + information on unconverged variables at each iteration.
6 + information on every variable at each iteration are listed.
7-8 + additional diagnostics for analyzing convergence are listed.
This varies for each convergence algorithm.
24
Convergence – Default Diagnostic Level
The default diagnostic level is 4. At this level, a message is created
in the Control Panel every time the convergence block executes.
This message contains the following information:
• Convergence block.
• Convergence method.
• Iteration number.
• What the convergence is trying to converge.
• Number of unconverged variables.
• Maximum error/tolerance for that iteration of the convergence
block.
25
Strategies for Flowsheet Convergence
Some general guidelines are:
Start small. Make sure that individual blocks and elements of a flowsheet behave as
expected, before slowly combining them into a larger simulation. Sensitivity analysis
might help here.
Start with simple unit operation models. For example, converge the flowsheet with a
DSTWU before switching to RadFrac .
Provide good initial guesses. Make sure the flowsheet starts converging from a
reasonable point. If possible, select a tear stream that remains relatively constant.
26
Strategies for Flowsheet Convergence
Check physical properties. Make sure they are calculated correctly in the
entire operating range of the simulation.
27
Diagnostics
The amount of information written to History File and Control Panel can be
specified independently (Setup / Specifications / Diagnostics ).
Diagnostics settings can be specified globally (see above) or locally (in the
specification of a unit operation block).
Simulation sets the diagnostics level for unit operation blocks, while
Convergence sets them for convergence blocks.
28
Control Panel Messages
Each time the convergence block is executed in a recycle convergence loop,
messages appear with the following format:
29
Control Panel Messages
Convergence is achieved when the value of Max Err/Tol becomes less than
1.0.
30
Run Settings – Express run
31
Run Settings – Interactively load results
• Select Load Results from the Run pull-down menu to load all results.
32
Run Settings – Further Options (Run Menu)
• Stop Points
Used to halt execution in the middle of a run.
Allows user to examine intermediate results.
Can stop before and after any object in sequence.
Can stop after warning or error.
• Reinitialize
Used to discard current results.
Simulation restarts from current input specification.
33
Debugging Convergence Problems
Specify blocks to be independent of flow rates (e.g. specify fraction instead
of flow rate for Fsplit , or distillate/feed rate instead of distillate rate for
RadFrac ).
34
Debugging Convergence Problems
In case of steady but slow tear convergence the most common problem is
component build-up (consider that each component in the system must have
at least one outlet). Allow for larger acceleration steps (Qmin = -50, Wait =
5, Accelerate = 4).
35
Debugging Convergence Problems
In case of tear stream problems with the Broyden and Newton methods,
increase Wait parameter to 5, and/or provide better initial guesses.
For Design Spec convergence problems make sure that tolerance and bounds
are reasonable, check specifications for correctness, use Secant Bracket
option for flat response, avoid non-linear specifications (use log if necessary),
and consider to define a maximal step size.
36
Debugging Tear Convergence Problems
In case of steady convergence progress without finally achieving convergence
the number of maximum iterations should be increased (either globally under
Convergence / Conv Options or locally within a certain block).
It might be helpful to disconnect a recycle stream in order to obtain a good
intial estimate and to investigate the sensitivity.
37
Summary: Resolving Sequence and Convergence
Problems
2 Examine simulation results, look out for skipped and unconverged unit
operation blocks. Check the Control Panel and results sheets for blocks
that did not complete normally, had errors, or had unexpected results
that might affect recycle convergence.
38
Summary: Solving Problems
2 cont.
Some common reasons for these problems are:
Problem Action
Incorrect block specifications. Correct them.
Feed conditions too far off. Provide better estimates for tear
streams and/or design variables.
Convergence specifications. Try different specifications, different
algorithm options, or increase the
number of iterations.
Algorithm options. Change options.
Not enough iterations. Increase number of iterations.
39
Summary: Solving Problems
40