• WARNING: Tube/Valve amplifiers use potentially LETHAL HIGH VOLTAGES.
    Building, troubleshooting and testing of these amplifiers should only be
    performed by someone who is thoroughly familiar with
    the safety precautions around high voltages.

Spice modeling a push pull output stage

Singular matrix: Check nodes e:u4:3#branch and u4:4
Iteration No. 14
Direct Newton iteration failed to find .op point. (Use ".option noopiter" to skip.)
Starting Gmin stepping


This error is casued by simulator using ".option noopiter", error disappeared when it's turn off.
 
Open the .asy symbol file with LTspice (not a text editor) and right-click on each pin "box." This will show the pin number or "Netlist Order."

addendum to post #11:
PIN 0 -48 NONE 0 <--- 0, -48 are the coordinates of that pin in the .asy drawing
PINATTR PinName Anode <--- its name
PINATTR SpiceOrder 1 <--- its order e.g. in a subcircuit definition / call

to get the co-ordinates of a pin open the .asy file in LTSpice itself;
they are displayed when you move the mouse pointer over it.


Aha, the secret sauce is revealed. OK, I had missed that detail. Thank you both.



I'm not sure why anyone would feel the need to modify the built-in LTspice pentode symbol to turn it into a tetrode symbol when a tetrode symbol with the correct pin order already exists. Aesthetics, maybe? The only reason to ever use the pentode symbol is if you come across a pentode subcircuit that actually models the suppressor grid. I personally have never seen such a model.


My confusion stemmed from not being certain which box in the symbol drawing was actually assigned in the pinlist/netlist and model. I got that the these latter two had to have the same number of elements and in the correct order. Remember, the LTSpice pentode model numbers the pins backwards to all the other tube symbols. So I was confused, is the second element shown in the symbol G3 or G1? Which do I delete?


Of course, as you say, I can just use a tetrode model.


The following was posted to another forum by user Suusi M-B (are we allowed to post links to competing forums?). It seems to include model info for a suppressor grid but I didn't try it.


* Pentodes with active suppressor grids

*SUBCKT EF86 A U S G K ; base generic
.SUBCKT EF86 K G S U A ; base generic
*****************************************
* Model generated on 22 Dec 2009
* Model format: LTspice
* EF36, EF37A, & EF86 pentode macro models
* External node designations:
* Node A -> anode
* Node U -> suppressor grid
* Node S -> screen grid
* Node G -> signal grid
* Node K -> cathode
*****************************************
+PARAMS: RG1=1000 RG3=3000 gain=0.57 ; <- make as 0.714 for a 'good' one

* Suppressor grid:
BIar Iar 0 V=if(V(U,K)-0.5, 1+V(U,K)*0.13, 1/((1+abs(V(U,K))*0.1)**1.5))
BIsr Isr 0 V=if(V(U,K)-0.5, 1/((1+V(U,K)*0.15)**1.5), 1+abs(V(U,K))*0.2)
* ^ if Vg3 to k > 0, use the first calc., else use the second.
* The above are merely ratios by which the final anode and screen currents are
* multiplied to either increase or decrease by 1+ some fraction, as appropriate.

* Original EF86 model:
Emu mu 0 VALUE={LIMIT(V(G,K),-3,999)+LIMIT(V(G,K)+3,-999,0)*{gain}}
Eat at 0 VALUE={0.636*ATAN(V(A,K)/15)}
Egs gs 0 VALUE={LIMIT(V(S,K)/27.5+V(mu)*1.32+1,0,1E6)}
Egs2 gs2 0 VALUE={PWRS(V(gs),1.5)}
Ecath cc 0 VALUE={V(gs2)*V(at)}
Escrn sc 0 VALUE={V(gs2)*(1.1-V(at))}

* Modified outputs:
Gs S K VALUE={(0.5E-3*V(sc))*V(Isr)}
Ga A K VALUE={(5.83E-4*V(cc))*V(Iar)}

* New lines ~ g1 & g3 should also have a diode behaviour:
R3 U 5 {RG3} ; For suppressor grid current
D3 5 K DX ; For suppressor grid diode
R1 G 6 {RG1} ; For signal grid current
D1 6 K DX ; For signal grid diode
Rak A K 1G
Rg3 U K 1G
Rg1 G K 1G

Cg1 G K 3.8p
Cak A K 5.3p
Cg1a G A 0.05p
Cg3 U K 0.05p
Cg3a U A 2p
.MODEL DX D(IS=1N RS=1)
.ENDS


.SUBCKT EF86_G A U S G K ; a 'good' one!
XV1 A U S G K EF86
+PARAMS: gain=0.714
.ENDS


.SUBCKT EF36 A U S G K ; duplicate of generic
XV1 A U S G K EF86
.ENDS


.SUBCKT EF37A A U S G K ; as higher gain version of EF36
XV1 A U S G K EF86
+PARAMS: gain=0.714
.ENDS
I thought I saw a "singular matrix ... check nodes u4:3 ..." message in your error log ...
That was the error log for your returned version - Tube Amp x (which ironically was working), not my original.



Thanks for your pentode symbol definition baudouin0.
 
Thanks for the EF86 models that include the suppressor grid. IMO, there is little reason to add this complication to a simulation unless you are using the suppressor grid as a true signal modulating element. This is rarely the case in most audio circuits, where the suppressor grid is usually connected to the cathode. Some pentodes make this connection internally; others like the EF86 require this suppressor-to-cathode connection to be made externally.

Sometimes simpler is better. 🙂