This often means that the model also runs slowly in Simulator. Some models contain very rapid changes in the species concentrations or other variables being integrated by the solver. The solver will therefore need to take very small timesteps to capture these rapid changes, which results in a longer run time.
Typical examples include fast reactions (e.g. pH adjustment/ neutralization, ionic equilibria); fast mass transfer (high kLa to ensure equilibrium between phases), models where phases appear or disappear. The variable causing the small timestep can be seen by viewing the Event Log in Simulator. This should give some indication of the source of the problem.
To correct this, try modifying the model (either reduce very large parameter values or simplify the model). If this cannot be done, some other options are available to reduce run-times:
- Reduce the number of factors selected. One of the temptations of automated optimization is to select too many factors. This will normally result in a slow run. Try to keep the number of factors low (e.g. less than 3 if possible). Alternatively, do the optimization exercise in stages, selecting a few factors at a time (this will refine the initial guesses for these parameters) before optimizing all factors.
- Try another Simulator solver / integration method. Occasionally the default solver (Rosenbrock) is significantly slower or less robust than one of the other solvers. Try running in Simulator with a different solver, e.g. Backwards Euler with an accuracy of 0.01. If significant speed-ups are obtained by changing solver, this solver can be selected in the optimization exercise using the advanced options window.
- Try reducing Simulator solver accuracy in the Advanced Options (click to open) window. As a rule, the higher the accuracy, the longer the solver run time will be. It may be possible to reduce the solver accuracy without affecting the solver results significantly. This will normally have only a small effect, but in some cases can be significant.