Title: Troubleshooting Convergence Problems
1Troubleshooting Convergence Problems Special
Slides for ChE 656 Prepared by Dr. Hong-ming
Ku May 10, 2003
2Troubleshooting Design-Spec Problems
- Common errors encountered
- 1. Function is not monotonic.
- Possible cure Narrow the bounds enough for the
function to be - monotonic.
- 2. Function is flat and not changing.
- Possible cure Examine the manipulated variable
again and make sure - it really does affect the objective function.
3Troubleshooting Design-Spec Problems (Contd)
- 3. Solution is outside the bounds.
- Possible cure Increase the bounds.
- 4. Secant method fails to converge in 30
iterations. - Possible cure Dont bother increasing the number
of iterations. - Instead, switch to other convergence methods,
such as Broyden. - Important If the workaround does not work,
replace the design-spec - with a sensitivity block to see the trend between
the manipulated - variable and the objective function.
4Troubleshooting Tear Stream Problems
- The biggest problem is the tear stream loop not
converging. - Can be caused by
- 1. Numerical problem or instability in the
convergence - 2. Fundamental problems in the flowsheet caused
by user mistakes - For more reading on stream convergence, read the
paper Dont Let Recycle Stream Stymie Your
Simulations by Ryan C. Schad, Chemical
Engineering Progress, December 1994, pp. 68-76
5Numerical Problems in Flowsheet Convergence
- Flowsheet is well defined, but the default
algorithm cannot converge the tear streams. - Examine the history of convergence and see if the
Max Error/ - Tolerance slowly goes down and approaches 1.
- - If so, increase the number of iterations
beyond the maximum of 30. - - If not, try a another algorithm, such as
Broyden. - - If design-spec exists, try nesting the tear
stream loop inside the design-spec - loop or converge both loops simultaneously.
6Numerical Problems (Contd)
Max Error/Tolerance must drop below 1 before
there is convergence
7Common User Mistakes in Flowsheet Convergence
- Did not allow all components to leave the process
(accumulation)
C2H4Cl2 --gt C2H3Cl HCl C2H4Cl2 --gt C2H2
2HCl C2H3Cl C2H2 --gt C4H5Cl
C2H2 HCl
C2H3Cl
C2H4Cl2
C2H4Cl2 C4H5Cl
8Common User Mistakes (Contd)
Specify the flow of Other stream (lt 7 lb/h) gt
no problem
Cannot specify the flow of Recycle So what do we
specify for x?
9Common User Mistakes (Contd)
- Solutions to avoid the above problem
- Specify the flow of the recycle instead
- Better yet, specify the output flow as a ratio of
the inlet flow. - Another example of Mass in ? Mass out
D 100 lbmol/hr
10Common User Mistakes (Contd)
- Its better to specify D/F instead of D for the
first column to avoid taking out more than what
is coming in. - System-generated tear streams should not contain
zero flows - Solution provide a reasonable initial guess for
the tear stream of choose another tear stream
11Guidelines to Avoid Convergence Problems
- First the good news most simulators have no
trouble converging simple flowsheets with only a
few recycle streams and design-specs - Always provide an initial guess for the tear
streams. - Do not introduce recycles unnecessarily
Model using one reactor and one flash drum
12Guidelines to Avoid Convergence Problems (Contd)
- Build your flowsheet slowly, a few blocks at a
time. Once you run into a convergence problem,
you only have to retreat one step to
troubleshoot. - Start your complex model with some conditions
that gives convergence. Then, change the
conditions slowly without doing reinitialization. - Start your complex model with simple modules such
as separators instead of columns to get a
converged solution first.
13Guidelines to Avoid Convergence Problems (Contd)
- Turn off energy balance if you have a complex
model that is converging very slowly. - In a complex flowsheet with many nested loops,
make sure the tolerance in the inner loops are
successively tighter than those on the outer
loops to avoid noises in the convergence.