Strange behavior of the Qspice program

I was calculating the filter. I wanted to see the steady state. To do this, I was calculating a long time interval, and then after that I displayed a diagram. It didn’t work out the way I wanted.


Zatyk.qsch (3.5 KB)

Don’t use Rpar=0, make it at least Rpar=0.1m for example if you really need something close to zero.

What @bordodynov points out in this example is an unsettled behavior when Tstart is included. His simulation changes Tstart at the 997th, 994th, and 991st cycles in the 50Hz AC (as referenced by .step param x and (1000-x)/50 in Tstart of .tran)

This aligns with the simulation results where the RED curve is cycles 991 to 1000, the BLUE curve is cycles 994 to 1000, and the GREEN curve is cycles 997 to 1000. Normally, one would expect the BLUE and GREEN curves to completely overlap with the RED curve, as the only difference lies in where data saving begins based on the definition of .tran. But here show a counter example that not behave like this.

Probably you right. Although I cannot understand why that zero ohm resistor is there for. A parallel zero ohm makes a short-circuit, taking C1 and L1 out from the circuit, unless Rpar defaults to some minimal value different from zero. I see the issue appearing when first derivate changes sign, and that points to something related to extreme small values and polarity of first derivate.

You understand everything literally. Qspice adds a parallel resistor to the inductance by default. The resistor value (or rather the formula for calculating it) can be found in Help. I want to use an ideal inductance as in standard Spice. By adding Rpar=0 I disabled the parallel resistor. In other words, Rpar=0 is the same as Rpar=∞.

Just for anyone else who was wondering if they need to worry about this …

  • The transient simulation seems to run quicker and coarser, until the tstart when we asked it to start saving data to plot.
  • If we reduce maxstep further it helps quickly. Halving maxstep to 0.5 µs cuts the error by 4.

The circuit in the top post is a stress-test on any coarse simulation, because it imagines a very-high-Q resonant circuit tuned very near the frequency to be rejected. Currents of 1-A flow in each of the L and C, almost perfectly cancelling and leaving an error just 0.2µA flowing in the load R.

  • Forbidding the “fastmath” optimization avoids roundoff errors that can look like noise in this type of simulation, and which will appear in this one with shorter values of maxstep.

This was resolved in September 2024
09/05/2024 Fixed a problem regarding the break point implementation at TSTART of a .tran analysis