ConvergenceWhen distillation columns appear in a recycle loop, it is often necessary to giveinitial estimates for the tear stream. Aspen Plus makes this easy. Simply supplydatafora columnfeed or other stream in theloopon Streams forms,just as youwould for a feed stream, and Aspen Plus will preferentially select the stream as atearstream (your streammaynotbeselected if anotherstreamisabetterchoiceby the tearing criteria).From initial estimates for the tear stream,theAspenPlus sequencingalgorithmdetermines thefollowing computation sequence:HEATERSOLVER01TOPCOLPSPECBOTCOLCOOLER(RETURNPSPEC)(RETURNSOLVERO1)SOLVERO1 is defined to converge stream REFLUX, the inter-connecting stream,withinitialdataprovided.However,withthissequencethePSPECandsOLVERO1 convergence blocks fail to converge,becausethedesign specificationis nested inside the column recycle loop.The design specification THF does notconverge, because the purity specification is determined primarily by the inter-reflux between the two columns (not the top productrate of the BOTCOL alone).The inter-reflux between the columns should be converged before evaluation of thedesign specification. The design specification should be nested outside the columnrecycle loop. You can alter the nesting order of the convergence loops by either:Specifying Design Spec Nesting as Outside on the Convergence ConvOptionsDefaults Sequencing sheet, orSpecifyingPSPEContheConvergenceConvOrder Specifications sheet.Either specification would cause the sequencing algorithmtodetermine thefollowing computation sequence,which converges:HEATERPSPECSOLVERO1TOPCOLBOTCOL(RETURNSOLVER01COOLER(RETURNPSPEC)Both methods of specifying the nesting order are equivalent for this simpleproblem.ButusingtheConvOptionsDefaultsSequencingformallowsyoutochange the computation sequence selectivelywhen dealing with large flowsheets.Inthisflowsheetthereisnoneedforspecial toleranceadjustmentstoaccountforthe nesting of iteration loops.For someflowsheets it is necessary to adjusttolerances so the inner loops are calculated more accurately than outer loops;otherwise the outerloops would be overwhelmed with errors from inner loops.For the sequence above, use thefollowing levels of calculation accuracy:17-22Aspen Plus User GuideVersion 10.1-0
17-22 Aspen Plus User Guide Version 10.1-0 Convergence When distillation columns appear in a recycle loop, it is often necessary to give initial estimates for the tear stream. Aspen Plus makes this easy. Simply supply data for a column feed or other stream in the loop on Streams forms, just as you would for a feed stream, and Aspen Plus will preferentially select the stream as a tear stream (your stream may not be selected if another stream is a better choice by the tearing criteria). From initial estimates for the tear stream, the Aspen Plus sequencing algorithm determines the following computation sequence: HEATER $OLVER01 TOPCOL | PSPEC BOTCOL COOLER | (RETURN PSPEC) (RETURN $OLVER01) $OLVER01 is defined to converge stream REFLUX, the inter-connecting stream, with initial data provided. However, with this sequence the PSPEC and $OLVER01 convergence blocks fail to converge, because the design specification is nested inside the column recycle loop. The design specification THF does not converge, because the purity specification is determined primarily by the interreflux between the two columns (not the top product rate of the BOTCOL alone). 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: • Specifying Design Spec Nesting as Outside on the Convergence ConvOptions Defaults Sequencing sheet, or • Specifying PSPEC on the Convergence ConvOrder Specifications sheet. Either specification would cause the sequencing algorithm to determine the following computation sequence, which converges: HEATER PSPEC | $OLVER01 TOPCOL BOTCOL | (RETURN $OLVER01 | COOLER (RETURN PSPEC) Both methods of specifying the nesting order are equivalent for this simple problem. But using the ConvOptions Defaults Sequencing form allows you to change the computation sequence selectively when dealing with large flowsheets. In this flowsheet there is no need for special tolerance adjustments to account for the nesting of iteration loops. For some flowsheets it is necessary to adjust tolerances so the inner loops are calculated more accurately than outer loops; otherwise the outer loops would be overwhelmed with errors from inner loops. For the sequence above, use the following levels of calculation accuracy:
Chapter17FortheseblocksUsethislevelofaccuracyFinalHEATER, PSPECSOLVER01,COOLERIntermediate (higher)HighestTOPCOL,BOTCOLIf theError/ToleranceforPSPECseemstogodownto10quicklyandstaythere,you should tightentolerances forall theblocks insidethePSPEC loopor loosenthe tolerance forPSPEC.If you observe a similarproblem in SOLVERO1,youcouldtightenthetolerances of TOPCOLandBOTCOL.It is particularly important to ensure that any nested design specifications havesufficiently tight tolerances, since these tolerances are specified by the user. Ifproblems occur, or if the design specification is nested deeply,a tighter tolerancemay benecessary.Checking Convergence ResultsAfteryour simulation has completed or while it is paused,you canviewconvergenceblock resultstocheckthe status or diagnoseconvergenceproblems.1.If your simulation is paused, from the Run menu, click Load Results.On the Data menu, point to Convergence, then Convergence.2.3.In the Convergence Object Manager, selectthe convergence block and click Edit.For system-generated convergence blocks, (names beginning with sOLVER),theresults sheets are displayed.For user-defined convergence blocks, select ResultsontheleftpaneoftheDataBrowserwindowtodisplaytheresultssheets.Choosetheappropriatesheet:4.This sheetContains the informationSummaryFinal convergence status, variable value, and E/Tol for each variable converged by theblockTear HistoryTable of maximum Err/Tol versus iteration number. Variable with maximum error at eachiteration. Plots of Err/Tol versus iteration number can be generated.Spec HistoryTable ofmanipulated variable values and designspecification error versus iterationnumber.You can generate plots of design specification errorversus iterationnumber,ordesign specification error versus manipulated variable valueAspenPlusUserGuide17-23Version 10.1-0
Aspen Plus User Guide 17-23 Version 10.1-0 Chapter 17 For these blocks Use this level of accuracy HEATER, PSPEC Final $OLVER01, COOLER Intermediate (higher) TOPCOL, BOTCOL Highest If the Error/Tolerance for PSPEC seems to go down to 10 quickly and stay there, you should tighten tolerances for all the blocks inside the PSPEC loop or loosen the tolerance for PSPEC. If you observe a similar problem in $OLVER01, you could tighten the tolerances of TOPCOL and BOTCOL. It is particularly important to ensure that any nested design specifications have sufficiently tight tolerances, since these tolerances are specified by the user. If problems occur, or if the design specification is nested deeply, a tighter tolerance may be necessary. Checking 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. 4. Choose the appropriate sheet: This sheet Contains the information Summary Final convergence status, variable value, and Err/Tol for each variable converged by the block Tear History Table of maximum Err/Tol versus iteration number. Variable with maximum error at each iteration. Plots of Err/Tol versus iteration number can be generated. Spec History Table of manipulated variable values and design specification error versus iteration number. You can generate plots of design specification error versus iteration number, or design specification error versus manipulated variable value
ConvergenceUse the Tear History and Spec History sheets and the Diagnosing Tear StreamConvergence and Diagnosing Design-Spec Convergence tables, to help youdiagnose and correct tear stream and design specification convergence problemsIt is helpful togenerate a plot of Err/Tol versus iteration number.Increasing diagnostics can also help with diagnosing problems. See ConvergenceDiagnostics, this chapter,for more information.Control Panel MessagesThe Control Panel displays convergence diagnosticsfor each convergenceblock.Eachtime the convergence block is executed in a recycle convergenceloop,messagesappearwiththefollowingformat:>LoopCVMethod:WEGSTEINIteration 93Converging testreams:4 vars not converged, Max Err/Tol0.18603E+02Each time a convergence block for a design specification is executed in aconvergenceloop, messages appear with thefollowingformat:>> Loop CVMethod:SECANT Iteration 2H2RATEConverging specs:1 vars not converged, Max Err/Tol0.36525E+03Where:CVConvergenceblock IDMaxErr/Tol =Maximumerror/tolerancefortheunconvergedvariables7Symbol indicating nesting level of the convergence loopOutsideloop>>>Loop nested one deepLoopnested two deep>>and so onConvergence is achieved when the value of Max Err/Tol becomes less than 1.0.Convergence DiagnosticsYou can modify the diagnostic level for convergenceglobally on the SetupSpecifications Diagnostics sheet.For more details about how to change thediagnostics level, see Chapter 5.17-24Aspen Plus User GuideVersion 10.1-0
17-24 Aspen Plus User Guide Version 10.1-0 Convergence Use the Tear History and Spec History sheets and the Diagnosing Tear Stream Convergence and Diagnosing Design-Spec Convergence tables, to help you diagnose and correct tear stream and design specification convergence problems. It is helpful to generate a plot of Err/Tol versus iteration number. Increasing diagnostics can also help with diagnosing problems. See Convergence Diagnostics, this chapter, for more information. Control Panel Messages The Control Panel displays convergence diagnostics for each convergence block. Each time the convergence block is executed in a recycle convergence loop, messages appear with the following format: > Loop CV Method: WEGSTEIN Iteration 9 Converging tear streams: 3 4 vars not converged, Max Err/Tol 0.18603E+02 Each time a convergence block for a design specification is executed in a convergence loop, messages appear with the following format: >> Loop CV Method: SECANT Iteration 2 Converging specs: H2RATE 1 vars not converged, Max Err/Tol 0.36525E+03 Where: CV = Convergence block ID Max Err/Tol = Maximum error/tolerance for the unconverged variables > = Symbol indicating nesting level of the convergence loop > Outside loop >> Loop nested one deep >>> Loop nested two deep and so on Convergence is achieved when the value of Max Err/Tol becomes less than 1.0. Convergence Diagnostics You can modify the diagnostic level for convergence globally on the Setup Specifications Diagnostics sheet. For more details about how to change the diagnostics level, see Chapter 5
Chapter17Use the Convergence sliders to modifythe diagnostic level for convergence blockinformation in either the control panel and in thehistoryfile.You can alsospecify the diagnostic level fora single convergence block using the Diagnosticsbutton on the Input Parameters sheet for any convergence block.The default diagnostic level withinAspenPlus is 4.At a ConvergenceDiagnosticsLevelof4,amessageiscreatedintheControlPaneleverytimetheconvergenceblockexecutes.Thismessagecontainsthefollowinginformation:Convergence blockConvergence methodIteration numberWhat the convergence is trying to convergeNumberofunconvergedvariablesMaximum error/tolerance for that iteration of the convergence blockMessages in the history file are similar,but not identical.At a Convergence Diagnostics Level of 5, Aspen Plus creates a table ofconvergence information in the Control Panel for all unconverged variables.For example:1> Loop c-1Method: BROYDENIterationConvergingtear streams:4H2RATEConvergingspecs:NEWXG (X)XERR/TOLTOTAL MOLEFLOW(1)0.135448E-010.135448E-010.000000E+0010000.0N2(2)0.188997E-030.188997E-030.000000E+0010000.0MOLEFLOW(2)C1MOLEFLOW0.755987E-030.755987E-030.000000E+0010000.00.314995E-03BZ MOLEFLOW(2)0.314995E-030.000000E+0010000.00.122848E-010.122848E-010.000000E+00CH MOLEFLOW(2)10000.0PRESSURE(2)0.217185E-010.217185E-010.100000E+360.100000E+07MASS ENTHALPY(2)-0.137111E-01-0.137111E-010.100000E+360.100000E+07TOTAL MOLEFL(3)0.377994E-010.000000E+000.377994E-01-375.0000.17679E+058 vars notconverged,MaxErr/TolThe value in parentheses indicates thetype of variable:Variable TypeDescription1Tear stream variable which is not updated by the convergence algorithm2.Tearstream variable which isupdated bytheconvergencemethod3Design specification manipulated variable. Updated by the algorithm4Fortran Tear Variable.Updated by the algorithmNewXisthevalueforthevariableforthenextiteration.Xisthevalueof thevariableforthepreviousiteration.G(X)isthecalculatedvalueforthevariableatthe end of the previous iteration. When a variable is converged, X and G(X)shoulddifferbylessthanthetolerance.AllvaluesareinSIunits.Aspen Plus User Guide17-25Version 10.1-0
Aspen Plus User Guide 17-25 Version 10.1-0 Chapter 17 Use the Convergence sliders to modify the diagnostic level for convergence block information in either the control panel and in the history file. You can also specify the diagnostic level for a single convergence block using the Diagnostics button on the Input Parameters sheet for any convergence block. The default diagnostic level within Aspen Plus is 4. At a Convergence Diagnostics Level of 4, 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 Messages in the history file are similar, but not identical. At a Convergence Diagnostics Level of 5, Aspen Plus creates a table of convergence information in the Control Panel for all unconverged variables. For example: > Loop C-1 Method: BROYDEN Iteration 1 Converging tear streams: 4 Converging specs: H2RATE NEW X G(X) X ERR/TOL TOTAL MOLEFLOW (1) 0.135448E-01 0.135448E-01 0.000000E+00 10000.0 N2 MOLEFLOW (2) 0.188997E-03 0.188997E-03 0.000000E+00 10000.0 C1 MOLEFLOW (2) 0.755987E-03 0.755987E-03 0.000000E+00 10000.0 BZ MOLEFLOW (2) 0.314995E-03 0.314995E-03 0.000000E+00 10000.0 CH MOLEFLOW (2) 0.122848E-01 0.122848E-01 0.000000E+00 10000.0 PRESSURE (2) 0.217185E-01 0.217185E-01 0.100000E+36 0.100000E+07 MASS ENTHALPY (2)-0.137111E-01-0.137111E-01 0.100000E+36 0.100000E+07 TOTAL MOLEFL (3) 0.377994E-01 0.000000E+00 0.377994E-01 -375.000 8 vars not converged, Max Err/Tol 0.17679E+05 The value in parentheses indicates the type of variable: Variable Type Description 1 Tear stream variable which is not updated by the convergence algorithm 2 Tear stream variable which is updated by the convergence method 3 Design specification manipulated variable. Updated by the algorithm 4 Fortran Tear Variable. Updated by the algorithm New X is the value for the variable for the next iteration. X is the value of the variable for the previous iteration. G(X) is the calculated value for the variable at the end of the previous iteration. When a variable is converged, X and G(X) should differ by less than the tolerance. All values are in SI units
ConvergenceSetting the Convergence Diagnostics level to 6 or higher does not change theamount of information reported in the Control Panel. However, it will affect theamount of information reported in the history file, depending on the convergencemethod in use.Strategies for Flowsheet ConvergenceOftenaflowsheetcanbeconvergedwithoutchanginganyconvergenceparameters.Some general guidelines are:Start small. Make sure that individual blocks and elements of a flowsheetbehave as expected,before slowly combining them into a larger simulation.Asensitivity block is useful for determining the results of other blocks under arangeofconditionsStart withthe simplestblocks possible.For example,convergethe flowsheetwith a simple Heatx before switching it to a rigorous HeatX.Give good initial guesses. Make sure the flowsheet starts converging from areasonable point. Aspen Plus gives tear streams a default value of zero, whichcan cause problems. If possible, select a tear stream that remains relativelyconstant.Check physical properties. Make sure they are calculated correctly in theentire operating range of the simulation.Know how your flowsheet responds. Check the behavior of blocks and designspecifications using sensitivity analysis. Look for discontinuities and flatregions thatcould causeconvergencedifficulties.Check for correctness,variableaccessing,spelling,and unit specifications.When accessing real variables, make sure yourvariable names do not beginwith I-N.Tear Convergence SuggestionsThis table shows thepossible causes and solutions of tear stream convergenceproblems.17-26AspenPlus UserGuideVersion 10.1-0
17-26 Aspen Plus User Guide Version 10.1-0 Convergence Setting the Convergence Diagnostics level to 6 or higher does not change the amount of information reported in the Control Panel. However, it will affect the amount of information reported in the history file, depending on the convergence method in use. Strategies for Flowsheet Convergence Often a flowsheet can be converged without changing any convergence parameters. 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. A sensitivity block is useful for determining the results of other blocks under a range of conditions. • Start with the simplest blocks possible. For example, converge the flowsheet with a simple HeatX before switching it to a rigorous HeatX. • Give good initial guesses. Make sure the flowsheet starts converging from a reasonable point. Aspen Plus gives tear streams a default value of zero, which can cause problems. If possible, select a tear stream that remains relatively constant. • Check physical properties. Make sure they are calculated correctly in the entire operating range of the simulation. • Know how your flowsheet responds. Check the behavior of blocks and design specifications using sensitivity analysis. Look for discontinuities and flat regions that could cause convergence difficulties. • Check for correctness, variable accessing, spelling, and unit specifications. When accessing real variables, make sure your variable names do not begin with I-N. Tear Convergence Suggestions This table shows the possible causes and solutions of tear stream convergence problems