Additional Parameters
This section describes some additional parameters which may help nonconverging circuits. These parameters are for the outer (Newton) solver, the inner (Krylov) solver, arc-length continuation, and for memory issues.
Convergence Mode
The Newton solver has additional settings (hidden parameters) that can be used to enhance its performance and assist convergence
- The hidden parameter UseOptDamp turns on the optimal damping search. The default is set to off, or 0. To turn this parameter on, set it to on, or 1. This parameter may be used with auto or advanced convergence modes.
- The parameter RedRatio is the KCL residual reduction threshold, default is 0.99. This is the ratio by which the norm of the solution vector must be reduced from one iteration to the next. This parameter has to be smaller than 1. Reducing RedRatio can accelerate the convergence rate at the cost of diminished robustness. This parameter may be used with auto or advanced convergence modes.
- The parameter NormCheck is the type of norm used in determining whether the KCL residual has converged. The default is set to 1, which corresponds to the L-1 norm. Other possible values include 0 (L-infinity norm), and 2 (L-2 norm). The L-infinity norm is the most conservative, followed by the L-2 and L-1 norms respectively. The L-2 and L-infinity norms are recommended for highly nonlinear large circuits. For a definition of these norms, consider the vector x of size n. Then, the L-1 norm is defined as
||x|| 1 := |x 1 |+...+|x n |,
the L-2 norm is defined as
||x|| 2 := (|x 1 | 2 +...+|x n | 2 ) 1/2,
and the L-infinity norm is defined as
||x|| inf :=max |x i |, for 1<=i<=n.
This parameter may be used with auto, advanced, or basic convergence modes.
Krylov Solver
Additional Krylov parameters can be found on the HB controller's Solver tab after clicking Advanced Krylov Parameters. It is strongly recommended to use caution when adjusting these parameters, as they are very specific to the internal algorithms.
The parameter Maximum number of iterations (KrylovMaxIters on schematic) is the maximum number of Krylov solver iterations allowed. The default is intentionally set to a large value of 150 to accommodate even slowly convergent iterations. Increase this number in cases where poor convergence may be improved and an increase in simulation run time is acceptable.
The parameter Krylov Restart Length (GMRES_Restart on schematic) sets the number of iterations after which the Krylov linear solver restarts. At this point the algorithm does not need data from previous steps, and the corresponding memory is released. Thus, smaller values lead to lower memory requirements, but might significantly affect convergence. The default is set to Robust, and it is strongly recommended that you avoid decreasing this value unless the problem is extremely large and convergence is carefully monitored. Larger values offer potentially more robust performance, but require more memory. If there are memory constraints, then set this value to 50 or lower by entering the value in the Custom dialog box entry.
The solver achieves full convergence if the Krylov solver residual is less than the tight tolerance, which is set by the parameter Tight Tolerance (default value of 0.001). After the number of iterations specified by the parameter Loose Iterations (default value of 50), the solver then uses parameter Loose Tolerance to achieve partial convergence. The loose tolerance has default value of 0.1. The Krylov solver fails to converge if the residual reduction factor from two adjacent iterations becomes larger than the parameter KrylovConvRatio, which has default set to 0.9. The KrylovConvRatio is a hidden parameter, whereas the other three mentioned above are in the HB controller's Solver tab by clicking Advanced Krylov Parameters.
Some hidden parameters for the BSP and SCP preconditioners:
- PrecRhsThresh activate BSP or SCP if Newton residual is smaller than this threshold (default=0.05)
- _ScpSchurSolver selects the Schur solver in SCP, 0=DMRES (default), 1=GMRES
- _ScpReuse 1=re-use the SCP at each Newton iteration (default), 0=reload the SCP at each Newton iteration
- _ScpTol inner SCP Schur solver tolerance (default=0.001)
- _ScpStartIter use SCP from this Newton iteration onward (default=0)
Arc Length Continuation
The simulator will switch over to arc-length continuation method when it is having a difficult time converging using the Direct solver. This algorithm is very robust. If the simulator goes into this method, it is often the case that the circuit has instabilities or multiple solutions. It is recommended to try all other convergence remedies first before adjusting arc length parameters. The arc length parameters can be found on the HB solver tab under Advanced Continuation Parameters. The Max Step Ratio controls the maximum number of continuation steps (default is 100). Max Step Shrinkage controls the minimum size of the arc-length parameter step (default is 1e-5). The Arc Max Step will limit the maximum size of the arc-length parameter step during arc-length continuation. The default is 0 which means there is no limit for the Arc Max Step. Analogously, the Arc Level Max Step will limit the maximum size of the arc-length step during source level stepping. The default is 0 which means there is no limit for the Arc Level Max Step. Note that arc-length continuation occurs when using the direct solver and source level stepping occurs when using the Krylov solver. Arc Min Value and Arc Max Value determine the allowed range of the continuation parameter p during the simulation. The defaults are p min - delta and p max + delta, respectively, where delta is p max -p min, p min is lower end of the parameter sweep, and p min is the upper end of the parameter sweep.
As an example, consider a transceiver circuit in a Harmonic Balance simulation with an input power sweep from -20 dBm to 3 dBm. That circuit simulation fails with the following arc-length message:
Value of `pin' went out of range during arc length continuation. The range is -43 to +26. Try explicitly specifying the range with ArcMin Value and ArcMaxValue and re-simulating.
During arc-length continuation, the continuation parameter (in this case, pin input power) may get out of the allowed range. The allowed range is from -43 dBm to 26 dBm. In this particular case, delta=3-(-20)=23, Arc Min Value=-20-23=-43, and Arc Max Value=3+23=26. The convergence remedy is to extend the continuation parameter range limits by setting Arc Min Value and Arc Max Value.
Memory Requirements
Solving a circuit with many nonlinear devices, harmonics, and tones, requires a substantial amount of memory. Please make sure the Krylov linear solver is used when simulating such circuits. There are some additional parameters that can be set to reduce the amount of required memory such as Matrix Packing, PackFFT, Recalculate waveforms, and UseCompactFreqMap.
Matrix Packing forces the solver to use the technique known as spectral packing, which reduces the memory needed for the Krylov solver, typically by 60-80%. By default, this feature is turned off. It is recommended to turn this on for extremely large problems in which the available RAM would not be able to accommodate the Krylov solver memory requirements. To enable this parameter, check the box next to Matrix Packing on the Solver tab under Advanced Krylov Parameters. In conjunction with Matrix Packing is the parameter PackingThreshold which sets the bandwidth threshold for the packing. The default value is 1e-8. Set this to a larger value to increase the memory reduction.
FFT Options controls the frequency map packing for multi-tone Harmonic Balance. This parameter can be selected to either minimize aliasing or minimize memory usage and simulation run time. By default the simulator sets the parameter to minimize memory usage and simulation run time. Minimizing the memory usage may improve the simulation speed and reduce memory consumption by using a smaller number of time samples (smaller FFTs), but at the potential loss of dynamic range and accuracy due to the aliased harmonics of the first fundamental now possibly landing on various mixing tones. For mixers and other applications with a single large dominant (LO) tone, that frequency should be assigned to the first fundamental and FFT Options should be set to minimize aliasing so that any aliased harmonics of this large signal will just land on its own harmonics and not on mixing terms. If you are simulating mixer intermodulation or third-order intercept, it is recommended that this parameter also be set to minimize aliasing to achieve the most accurate results.
Both use dynamic waveform recalculation and use compact frequency map for memory reduction. When using neither of these, all nodal waveforms are stored. The advantage is that it speeds up simulation time since the waveforms do not need to be recalculated. However, the disadvantage is that storing all the nodal waveforms causes a high memory consumption.
The parameter Use dynamic waveform recalculation (found on the Solver tab of the HB controller) enables reuse of dynamic waveform memory instead of up front storage on all waveforms. By enabling this parameter, only the needed waveforms are stored which requires less memory. However, if two devices are sharing the same node, then the waveform for the second node would need to be recomputed and therefore result in an increase in simulation time. Small circuits might simulate a little slower, but not significantly.
Use compact frequency map (found on the HB controller's Solver tab) enables a spectral compression, typically requiring less memory for individual waveforms. If the memory required for the Krylov solver is greater than the available RAM, then this parameter will get set to yes by the simulator and a warning message will be displayed in the status window. By enabling this parameter, simulation speed will increase, yet there is less memory reduction compared to using RecalculateWaveforms.
Privacy
Statement
|
Terms of Use
|
Legal |
Contact Us
|
© Agilent 2000-2008 ![]()