Harmonic Balance Troubleshooting Guide

The following topics are intended to help with specific harmonic balance issues.

A convergence issue can be caused by a circuit or improper solver setting. To improve convergence on the solver side:

  1. Weaken nonlinearity by increasing the values of Alpha and Beta.
  2. Improve the initial guess as mentioned in HB Convergence Aids and Frequency Divider Circuit Errors.
  3. Increase max_newton_iterations and/or decrease limiting_step to aid convergence.
  4. Loosening tolerances (abstol, vntol, reltol) may increase the chance of convergence, as mentioned in HB convergence Check Failures. However, loosening tolerances implies increased errors in the solution and such increased errors may adversely affect a convergence problem. Hence, loose tolerances slightly if necessary.
  5. Use the shooting method, see Handing Strongly Nonlinear Circuits. (Nexxim tries the shooting method automatically, for single tone, if HB failed. The simulation time may take longer.)
  6. Increase inner iterations, see Inner Iterations Limit Errors.
  7. Reduce the finite truncation error by using nonzero values for CMIN, or increasing the number of harmonics.
Note:
  1. Modification on Alpha, Beta, and CMIN changes the circuit.
  2. Different methods are used for the initial guess alternately. If one failed, try the next. This process may take long and sometimes display error messages in other types of analysis, like transient analysis. If a simulation succeeds at the end, try to manually set pseudo_transient as the continuation method to avoid long simulation time.