series Capacitors

mergan
2013-01-31
2015-03-14
  • mergan

    mergan - 2013-01-31

    Hi,

    I try to simulate an RLC circuit depicted  in the annexed file. I have noticed that ngspice  is not able to compile two capacitors which are  connected in series.
    The netlist is written as follws:

    * The global plasma model  
    VRF 0 1 SIN(0 100 0.275732) 
    CBC 2 1 5.25154
    Cs 3 2 0.1407107F
    RB 4 3 5.25154
    LB 5 4 212.692
    VG 0 5 dc 10
    .END
    

    this circuit can't be solved transient. I get the following error or warning message :

    Warning: vrf: no DC value, transient time 0 value used
    Warning: singular matrix:  check nodes 2 and 2

    Note: Starting dynamic gmin stepping
    Trying gmin =   1.0000E-03 Note: One successful gmin step
    Trying gmin =   1.0000E-04 Note: One successful gmin step
    Trying gmin =   1.0000E-05 Note: One successful gmin step
    Trying gmin =   1.0000E-06 Note: One successful gmin step
    Trying gmin =   1.0000E-07 Note: One successful gmin step
    Trying gmin =   1.0000E-08 Note: One successful gmin step
    Trying gmin =   1.0000E-09 Note: One successful gmin step
    Trying gmin =   1.0000E-10 Note: One successful gmin step
    Trying gmin =   1.0000E-11 Note: One successful gmin step
    Trying gmin =   1.0000E-12 Note: One successful gmin step
    Trying gmin =   1.0000E-12 Note: One successful gmin step
    Warning: singular matrix:  check nodes 2 and 2

    Warning: Dynamic gmin stepping failed
    Note: Starting source stepping
    Supplies reduced to   0.0000% Warning: singular matrix:  check nodes 2 and 2

    Trying gmin =   1.0000E-02 Note: One successful gmin step
    Trying gmin =   1.0000E-03 Note: One successful gmin step
    Trying gmin =   1.0000E-04 Note: One successful gmin step
    Trying gmin =   1.0000E-05 Note: One successful gmin step
    Trying gmin =   1.0000E-06 Note: One successful gmin step
    Trying gmin =   1.0000E-07 Note: One successful gmin step
    Trying gmin =   1.0000E-08 Note: One successful gmin step
    Trying gmin =   1.0000E-09 Note: One successful gmin step
    Trying gmin =   1.0000E-10 Note: One successful gmin step
    Trying gmin =   1.0000E-11 Note: One successful gmin step
    Trying gmin =   1.0000E-12 Note: One successful gmin step
    Note: One successful source step
    Supplies reduced to   0.1000% Warning: singular matrix:  check nodes 2 and 2

    Supplies reduced to   0.0000% Warning: singular matrix:  check nodes 2 and 2

    I  would be very grateful, if somebody can give me a Hint on what went wrong.

    best regard
    Nina 

     
  • mergan

    mergan - 2013-01-31

    The corresponding figure is given here!

     
  • Robert Larice

    Robert Larice - 2013-01-31

    Hello Nina,

      indeed if you connect two capacitors in series
         the potential of the connection is undefined.

      This is has nothing to do with ngspice,
         but is plain electrotechnics.

      To make this well defined, you either need to
        connect this node via some finite resistance
        to a well known potential (and in reality wait long enough for relaxation,
          yet in spice the implicit op analysis will pretend to have waited long enough)

      or you have to specify the inital voltage with
         an initial condition (look for .ic in the ngspice manual)

      or in other words,
         be careful if somebody hands you over a capacitor,
         it might have been charged.

    Best Regards
      Robert

     
  • marcel hendrix

    marcel hendrix - 2013-01-31

    Robert is right, of course.

    The simulation runs when modified
    like below (2 resistors of 1 GigaOhm
    across the capacitors).

    Note that I modified Cs from 0.1407107F to
    0.1407107 (F means femto, not Farad :-) With
    the original value the inductor current is
    only a few nA (not 560 mA, which seems more
    likely).

    -marcel

    * The global plasma model   
    VRF 0 1 SIN(0 100 0.275732)   
    CBC 2 1 5.25154  
    RBC 2 1 1G  
    *Cs 3 2 0.1407107F  
    Cs 3 2 0.1407107  
    Rs 3 2 1G  
    RB 4 3 5.25154  
    LB 5 4 212.692  
    VG 0 5 dc 10  
    
    .tran 1m 10  
    
    .control  
      run  
      write res.raw  
    .endc  
    
    .END  
    
     
    Last edit: marcel hendrix 2016-05-01
  • mergan

    mergan - 2013-02-04

    Hello Robert, Hello Marcel,

    Thank you very much for your very helpful hints and solutions. It works now!

     
  • PankajKumar

    PankajKumar - 2015-03-14

    .include 180nm_BSIM3_parameters.cir
    *.include modelcard.nmos

    .param Lp=.18u Wp=3.24u Wpp=2.16u

    M1 2 1 11 11 CMOSP l={Lp} w={Wpp}
    M2 6 6 7 7 CMOSN l=.18u w=23u
    M3 1 1 11 11 CMOSP l={Lp} w={Wpp}
    M4 10 3 2 2 CMOSP l={Lp} w={Wp}
    M5 3 3 1 1 CMOSP l={Lp} w={Wp}
    M6 2 12 8 8 CMOSN l=.18u w=9u
    M7 1 13 8 8 CMOSN l=.18u w=9u
    M8 10 6 4 4 CMOSN l=.18u w=1.08u
    M9 4 7 9 9 CMOSN l=.18u w=1.08u
    M10 3 6 5 5 CMOSN l=.18u w=1.08u
    M11 5 7 9 9 CMOSN l=.18u w=1.08u
    M12 7 7 9 9 CMOSN l=.18u w=23u
    M13 14 3 15 15 CMOSP l={Lp} w={Wp}
    M14 15 1 11 11 CMOSP l={Lp} w={Wpp}
    I1 14 6 25µA
    I2 8 9 25µA
    Cl 10 0 2p
    *r 10 0 10000000

    Vdd 11 0 DC 1.8
    Vss 0 9 DC 1.8

    Vin1 12 0 dc 0
    Vin2 0 13 dc 0

    *.op

    .DC Vin1 -0.005 0.005 100U
    .control

    run

    .DC Vin1 -0.1 0.1 100U
    .TF V(10) Vin1
    *.OP

    plot v(10)
    +.print all
    quit
    .endc
    .end

    i am getting follwoing error. so give solution for it

    Supplies reduced to 0.0015% Supplies reduced to 0.0000% Note: One successful source step
    Supplies reduced to 0.0002% Supplies reduced to 0.0000% Note: One successful source step
    Supplies reduced to 0.0000% Warning: source stepping failed
    doAnalyses: Too many iterations without convergence

    run simulation(s) aborted
    Error: no such vector v(10)

     
  • Robert Larice

    Robert Larice - 2015-03-14

    can you provide a schematic ?

     
  • marcel hendrix

    marcel hendrix - 2015-03-14

    And the file 180nm_BSIM3_parameters.cir, please.

    You can't use the "µ" character in a plain
    ASCII file, use "u." It works in LTSpice for
    Windows but gets converted to the character
    "5" with other simulators, turning microfarads
    into lots of Farads.

    -marcel

     
    Last edit: marcel hendrix 2016-05-01

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks