Wednesday, September 2, 2015

Transient Simulation Convergence Issue

In one of my projects, I bumped into a transient convergence issue: the error message shows something like:
************************************************
Transient Analysis `tran': time = (0 s -> 30 ms)
************************************************
Trying `homotopy = gmin' for initial conditions.
Trying `homotopy = source' for initial conditions.
Trying `homotopy = dptran' for initial conditions..
Trying `homotopy = ptran' for initial conditions..
Error found by spectre during IC analysis, during transient analysis `tran'.
    ERROR (SPECTRE-16080): No DC solution found (no convergence).
The values for those nodes that did not converge on the last Newton iteration are given below.  The manner in which the convergence criteria were not satisfied is also given.
            Failed test: | Value | > RelTol*Ref + AbsTol
 Top 10 Residue too large Convergence failure:
    V(I93.M20.gj1) = 336.667 V
        residue too large: | 1.36002 kA | > 6.8001 A + 1 pA
    V(I93.M9.gj1) = 336.667 V
        residue too large: | 1.36002 kA | > 6.8001 A + 1 pA
    V(I93.M5.gj1) = 336.667 V
        residue too large: | 1.36002 kA | > 6.8001 A + 1 pA
    V(I93.M20.d1) = -666.194 V
        residue too large: | -1.35956 kA | > 6.7978 A + 1 pA
    V(I93.M9.d1) = -666.194 V
        residue too large: | -1.35956 kA | > 6.7978 A + 1 pA
    V(I93.M5.d1) = -666.194 V
        residue too large: | -1.35956 kA | > 6.7978 A + 1 pA
    V(I93.M106.gj1) = 359.453 V
        residue too large: | 1.30055 kA | > 6.50273 A + 1 pA
    V(I93.M107.gj1) = 359.453 V
        residue too large: | 1.30055 kA | > 6.50273 A + 1 pA
    V(I93.M1.gj1) = 359.453 V
        residue too large: | 1.30055 kA | > 6.50273 A + 1 pA
    V(I93.M106.d1) = -743.107 V
        residue too large: | -1.29651 kA | > 6.48254 A + 1 pA
Analysis `tran' was terminated prematurely due to an error.
finalTimeOP: writing operating point information to rawfile.
Error found by spectre during DC analysis, during info `finalTimeOP'.
    ERROR (SPECTRE-16041): Analysis was skipped due to inability to compute operating point.
 I finally solved this issue by making all my power lines to be at 0 voltage at the initial time, after the initial zero for a while, the power lines begin ramping up to the intended value.

When said power signals had been changed this way, the initial DC analysis was harnessed.

No comments:

Post a Comment