Im trying to do a transient response analysis with ngspice/gnucap and gspice UI of the next RLC circuit (corrected the source polarity), to find the damping effect in the system. enter image description here

That with the next command

 gnetlist -g spice-sdb -o rlc.net RLC.sch

writes the next spice file

* gnetlist -g spice-sdb -o rlc2.net rLC2.sch
* Spice file generated by gnetlist                      *
* spice-sdb version 4.28.2007 by SDB --                 *
* provides advanced spice netlisting capability.        *
* Documentation at http://www.brorson.com/gEDA/SPICE/   *
*vvvvvvvv  Included SPICE model from 1N3880.mod vvvvvvvv
.MODEL 1N3880 D (IS=2.01E-11 N=1.70 BV=1.33E+02 IBV=1.00E-05 RS=1.24E-02 CJO=1.19E-10 VJ=.75 M=.26 TT=1.44E-07)
*^^^^^^^^  End of included SPICE model from 1N3880.mod ^^^^^^^^
*==============  Begin SPICE netlist of main design ============
V1 1 0 pulse 0 220 0 1u 1u 1k 2k
.options TEMP=25
C1 4 0 2m  
L1 3 4 0.05u 
R1 2 3 160  
D1 1 2 1N3880 

then inside ngspice running in a terminal

 >source rlc.net 

Circuit: * gnetlist -g spice-sdb -o rlc.net rlc.sch

Try to do the transient analysis

 tran 0.1ms 5ms
Warning: v1: no DC value, transient time 0 value used

Initial Transient Solution

Node                                   Voltage
----                                   -------
1                                            0
4                                  -2.3973e-18
3                                  -2.3973e-18
2                                  -2.3973e-18
l1#branch                                    0
v1#branch                           1.0148e-36

No. of Data Rows : 79
ngspice 65 -> plot 1 2 3 4

Still gives something like this
enter image description here

Still different from what I was expecting for, at this point what I want to see is the current in the resistor. I have updated with a pulse source as suggested, but it still does not work as desired. enter image description here

Update 2
There were various things that was messing around.

  • From the beginning I was trying to plot the current not the voltage, so ngspice did not do this, as explained and suggested here. I'm using ngspice 30 so the work around of adding the directive

    .options savecurrents

should work but when trying the order

plot @R1[i] vs v(1)

does not worked too.

  • wrong syntax's
    From another circuits done, and as commented by @sstobe, the right way to plot would be

    plot v(1)

This indeed plot the voltage 1, the voltage at node 1 and so on... The way i did before I was telling to ngspice to plot the integers 1,2,3.. that's why the graphs.

  • Wrong source

I changed from a DC to a pulse one since its a transient simulation, as noted by @a concerned citizen.
enter image description here

  • The time of simulation

I was choosing wrong the values with

tran 0.1ms 5ms  

But this was too much time and the response is so fast that in this period cant be seen.
So I adjusted to

tran 0.1us 5us  

That finally yield enter image description here but since the idea was to plot the current this could not be done.

  • 3
    \$\begingroup\$ Just curious, but did you get the V1 turned upside down? \$\endgroup\$
    – jonk
    Feb 12, 2019 at 6:47
  • 2
    \$\begingroup\$ What @jonk said, and you may also want to make that source a pulsed one, or add uic. \$\endgroup\$ Feb 12, 2019 at 8:05
  • 2
    \$\begingroup\$ If I had to guess your plotting the equation "1" check the documention how to plot a net, perhaps V(1) \$\endgroup\$
    – sstobbe
    Feb 14, 2019 at 0:07
  • 1
    \$\begingroup\$ @sstobbe let me give a try, I hope this will be the case. \$\endgroup\$
    – riccs_0x
    Feb 14, 2019 at 1:07
  • 2
    \$\begingroup\$ Can you post the reference circuit, or a link to it, or even to a page where it is? \$\endgroup\$ Feb 14, 2019 at 7:34

1 Answer 1


The solver will first try to find a solution, and the lack of initial conditions and the DC voltage will turn your circuit into a static analysis due to the lack of dynamics. Try these few changes, instead (either one at a time, or combinations):

  • Make the voltage source a pulsed one, to mimic a step change at the beginning, something like PULSE(0 220 0 1u 1u 1k 2k).
  • Add initial conditions to nodes with .ic V(<...>)=0, or
  • ...add the initial condition to the capacitor, if the program allows, for example C1 4 0 2m ic=0.
  • Add uic to the simulation card.

This last one overrides the forst three, it literally tells the solver to consider that the Universe is only starting when you press "run", so all initial conditions, everywhere, are zero.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.