Timestep too small solved by .tran uic?

Hi All,

i am curious with why I often can clear Timestep too small error by using .tran uic directive?

Additionally, I tend to have a better stability and also have the sim run faster when using gear integration.

My circuit is consistently about switching powe supply,…

If you can resolve Timestep too small error with UIC, you can try just running .op to see anything goes wrong. My most common experiences are
1 .op cannot run successfully, it just cannot calculate dc operation point and that why cannot start a .tran
2 .op calculated something very strange

Normally, I export netlist and verify with LTspice. The most common situation I experience such issue is using TI Pspice model. Many times model may work in LTspice but report issue in Qspice, especially in .op.

That why sometime add UIC in .tran (i.e. skip .op before transient analysis begin) can help.

For power electronic circuit, it is quite common we may not want to start simulation from .op bias condition for the power circuit.

Hi Kelvin,

Totally understandable!

With that being said, thus:
Switching circuit with analog control should be very difficult already to estimate the .op

Switching circuit with Cblock control is a black magic for .op analysis


Hi Kelvin,

I have two questions:

  1. When using .tran uic, so with UIC in a .tran analysis (i.e. skip .op before transient analysis begin), then what will be the values of branch currents and node voltages before transient analysis begin if operating point is skipped?

  2. What is the difference between .tran uic and .tran startup? When do I know it’s better to use uic and when startup?

UIC means don’t solve for the initial operating point. While it occasionally can get a simulation going, it does mean the initial solution is incorrect. You are basically required the solution to be incorrect.

“startup” was from LTspice. It was needed for many of the switcher models there. While it is a convenience in that you didn’t have to rewrite the input voltage as a PWL, it also generated some problems. QSPICE doesn’t recognize “startup.” Instead you have to rewrite any sources you want to ramp up as a PWL explicitly.


I didn’t think about problem which can introduce by UIC before Mike’s reply. One of the reference material of UIC can be found in LTspice Help, and I summarized into one of the following slides.

Here is what UIC can do, and the risk of using UIC, and also what startup do in LTspice, and an equivalent way to do it in Qspice
(more information about UIC and Startup can refer to description in LTspice HELP)