• 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.

Vacuum Tube SPICE Models

Hi Sorento, thank you very much!
The DL98_120 model match well (only Vg=-25V, Ip is slightly higher) 🙂
I wonder why the mu is higher than the datasheet and screen current (Ig2) is lower than the datasheet.
Please see the attached datasheet.
Thanks again 🙂
 

Attachments

So far I understand this, the mu parameter from the curve fitting is not necessarily the mug2g1 from the data sheet, at least not for pentode.
When I tried to use the mu from the ds, the spacing between curves was all wrong.

And I thought Ig2 was too high ... When I sim 135V / 120V / -10V I get 2.25mA, while the ds says 1.8mA ...?
Fitting Ig2 is a pain in the neck with Dimitij's paint tool anyway, because Ig2 curves are displayed at the same scale as Ip, and when Ig2 is 1/10 that of Ip they become hard to distinguish. But maybe I just have not found the trick yet ...
18 interdependent parameters to play with. Makes a case for AI ... any volunteers ?

If I find the time I can try a better fit, but no guarantee ...
 
Hello Sorento, Thanks for the explanation!
You are right about ug1-g2, it works in triode mode, not in pentode mode.
I re-simulated the DL98_120 model with triode connection and u was about 3.8.
For the Ig2, I mean when I simulated (Va=135V & Vg2=120) Ig2 & Ip vs Vg1.
Thanks again for your help 🙂
 
Hi olivergardiner6

Thanks for your hints, regarding my site as well regarding your work on tube models. I will add it to my collection of tube spice model approaches. I'm pleased to see that tube spice model development is still ongoing!
Derk Reefmans approach for Secondary Emission was my starting point to develop my own approach, used e.g. in my 6L6 model. For Pentodes, I prefer Ayumis model compared to Derk's because they are universal (like mine), meaning that they provide correct traces when another Vg2 voltage is used or even when G2 is connected to the plate.
Derk Reefman is strong in providing fundamental stuff like he did for remote cutoff (or variable mu) tubes. Also here, my models are based on his fundaments and adapted to my own approach, resulting in tube models for PC97 and ECC189 remote cutoff mu tubes.

BR Adrian
Hi Adrian,

In case it's of interest to others studying the details of Ayumi's models, I've translated Ayumi's appendix here: https://whitecottage.org.uk/guitar-and-audio/valve-modelling/ayumis-tube-models/

It seems to draw heavily on the work of Yoshinori Ichiki (Audio Vacuum Tube Manual) so the derivation is a little opaque and this book is both expensive and also in Japanese. I've also knocked up some design calculators in Javascript for designing guitar amplifiers: https://olivergardiner.github.io/valvedesigner-web/public/triodecc.html - these are similar to Giuseppe Amato's excellent load line calculators but have a slightly different philosophy. I've implemented the Ayumi triode model as well as the Cohen Helie triode model, and I've included some measured pentodes using a modified Reefman model. I plan to add Ayumi's pentode model next. These tools are obviously not as sophisticated as a full Spice simulation but will hopefully be useful for many designs.

Regards,

Oliver
 
  • Like
Reactions: rongon
6DZ7 SPICE Models.

Code:
.SUBCKT TRIODE_6DZ7 1 2 3 ; Plate Grid Cathode
+ PARAMS: CCG=5P  CGP=0.7P CCP=11P RGI=960
+ MU=23 KG1=287.87 KP=96.1 KVB=14.28 VCT=0.252 EX=1.316
* Vp_MAX=500 Ip_MAX=200 Vg_step=2 Vg_start=0 Vg_count=7
* Rp=1400 Vg_ac=20 P_max=13.5 Vg_qui=-6 Vp_qui=300
* X_MIN=48 Y_MIN=30 X_SIZE=463 Y_SIZE=367 FSZ_X=1936 FSZ_Y=1048 XYGrid=false
* showLoadLine=n showIp=y isDHT=n isPP=n isAsymPP=n showDissipLimit=y
* showIg1=y gridLevel2=n isInputSnapped=y 
* XYProjections=n harmonicPlot=y dissipPlot=n
*----------------------------------------------------------------------------------
E1 7 0 VALUE={V(1,3)/KP*LOG(1+EXP(KP*(1/MU+(VCT+V(2,3))/SQRT(KVB+V(1,3)*V(1,3)))))}
RE1 7 0 1G  ; TO AVOID FLOATING NODES
G1 1 3 VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))/KG1}
RCP 1 3 1G   ; TO AVOID FLOATING NODES
C1 2 3 {CCG} ; CATHODE-GRID
C2 2 1 {CGP} ; GRID=PLATE
C3 1 3 {CCP} ; CATHODE-PLATE
D3 5 3 DX ; POSITIVE GRID CURRENT
R1 2 5 {RGI} ; POSITIVE GRID CURRENT
.MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N)
.ENDS

屏幕截图 2024-09-11 193017.jpg
 
6DZ7 SPICE Models.

Code:
[/QUOTE]
.SUBCKT 6DZ7 P G2 G K ; LTSpice tetrode.asy pinout
* .SUBCKT 6DZ7 P G K G2 ; Koren Pentode Pspice pinout
+ PARAMS: MU=23 KG1=484 KP=96.1 KVB=14.28 VCT=0.252 EX=1.316 KG2=4326 KNEE=12 KVC=2.57
+ KLAM=3.76E-6 KLAMG=2.79E-4   KNK=-0.101 KNG=0.0081 KNPL=49.5 KNSL=5.555 KNPR=121.2 KNSR=29.58
+ CCG=5P CGP=0.7P CCP=11P RGI=960.0
* Vp_MAX=500 Ip_MAX=200 Vg_step=2 Vg_start=0 Vg_count=7
* X_MIN=48 Y_MIN=30 X_SIZE=463 Y_SIZE=367 FSZ_X=1936 FSZ_Y=1048 XYGrid=false
* Rp=1400 Vg_ac=20 P_max=13.5 Vg_qui=-6 Vp_qui=300 
* showLoadLine=n showIp=y isDHP=n isPP=n isAsymPP=n isUL=n showDissipLimit=y 
* showIg1=y isInputSnapped=y addLocalNFB=n
* XYProjections=n harmonicPlot=y dissipPlot=n 
* UL=0.43 EG2=250 gridLevel2=n addKink=y isTanhKnee=n advSigmoid=n 
*----------------------------------------------------------------------------------
RE1  7 0  1G    ; DUMMY SO NODE 7 HAS 2 CONNECTIONS
E1   7 0  VALUE=  ; E1 BREAKS UP LONG EQUATION FOR G1.
+{V(G2,K)/KP*LN(1+EXP((1/MU+(VCT+V(G,K))/SQRT(KVB+V(G2,K)*V(G2,K)))*KP))}
RE2  6 0  1G    ; DUMMY SO NODE 6 HAS 2 CONNECTIONS
E2  6 0  VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))} ; Kg1 times KIT current
RE21 21 0 1
E21  21 0 VALUE={V(6)/KG1*ATAN(V(P,K)/KNEE)} ; Ip with knee but no slope and no kink
RE22 22 0 1 ; E22: kink curr deviation for plate
E22  22 0 VALUE={V(21)*LIMIT(KNK-V(G,K)*KNG,0,0.3)*(-ATAN((V(P,K)-KNPL)/KNSL)+ATAN((V(P,K)-KNPR)/KNSR))} 
G1   P  K  VALUE={V(21)*(1+KLAMG*V(P,K))+KLAM*V(P,K) + V(22)}
* Alexander Gurskii screen current, see audioXpress 2/2011, with slope and kink added
RE43 43 K 1G ; Dummy
E43  43 G2 VALUE={0} ; Dummy
G2   43 K  VALUE={V(6)/KG2*(KVC-ATAN(V(P,K)/KNEE))/(1+KLAMG*V(P,K))-V(22)}
RCP  P K  1G     ; FOR CONVERGENCE
C1   K G  {CCG}  ; CATHODE-GRID 1
C2   G P  {CGP}  ; GRID 1-PLATE
C3   K P  {CCP}  ; CATHODE-PLATE
R1   G 5  {RGI}  ; FOR GRID CURRENT   
D3   5 K  DX     ; FOR GRID CURRENT } 
.MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N)
.ENDS
[QUOTE="qiuchun63, post: 7785980, member: 413540"]
.SUBCKT TRIODE_6DZ7 1 2 3 ; Plate Grid Cathode
+ PARAMS: CCG=5P  CGP=0.7P CCP=11P RGI=960
+ MU=23 KG1=287.87 KP=96.1 KVB=14.28 VCT=0.252 EX=1.316
* Vp_MAX=500 Ip_MAX=200 Vg_step=2 Vg_start=0 Vg_count=7
* Rp=1400 Vg_ac=20 P_max=13.5 Vg_qui=-6 Vp_qui=300
* X_MIN=48 Y_MIN=30 X_SIZE=463 Y_SIZE=367 FSZ_X=1936 FSZ_Y=1048 XYGrid=false
* showLoadLine=n showIp=y isDHT=n isPP=n isAsymPP=n showDissipLimit=y
* showIg1=y gridLevel2=n isInputSnapped=y
* XYProjections=n harmonicPlot=y dissipPlot=n
*----------------------------------------------------------------------------------
E1 7 0 VALUE={V(1,3)/KP*LOG(1+EXP(KP*(1/MU+(VCT+V(2,3))/SQRT(KVB+V(1,3)*V(1,3)))))}
RE1 7 0 1G  ; TO AVOID FLOATING NODES
G1 1 3 VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))/KG1}
RCP 1 3 1G   ; TO AVOID FLOATING NODES
C1 2 3 {CCG} ; CATHODE-GRID
C2 2 1 {CGP} ; GRID=PLATE
C3 1 3 {CCP} ; CATHODE-PLATE
D3 5 3 DX ; POSITIVE GRID CURRENT
R1 2 5 {RGI} ; POSITIVE GRID CURRENT
.MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N)
.ENDS

View attachment 1355052
 
Although nobody asked for them, yet, but here are the spice models for other members of the QQE family.
All are dual tetrodes with common cathode and common screen grids, but separate control and plates.

QQE03/12 aka 6360 akka RS1029 aka CV2798 (aka GU17)
QQE03/20 aka 6252 aka SRS4452 aka RS1019
QQE04/20 aka 832A
QQE06/40 aka 5894 aka SRS4451 aka RS1009 aka CV424
 

Attachments

6U8A_T SPICE Models.

Code:
**** 6U8A_T ******************************************
* Created on 09/14/2024 10:25 using paint_kit.jar 3.1
* www.dmitrynizh.com/tubeparams_image.htm
* Plate Curves image file: 6U8A_T.jpg
* Data source link:
*----------------------------------------------------------------------------------
.SUBCKT TRIODE_6U8A_T 1 2 3 ; Plate Grid Cathode
+ PARAMS: CCG=2.8P  CGP=1.8P CCP=1.5P RGI=2000
+ MU=52.42 KG1=300 KP=128.7 KVB=3360 VCT=0.166 EX=1.218
* Vp_MAX=500 Ip_MAX=50 Vg_step=2 Vg_start=0 Vg_count=9
* Rp=4000 Vg_ac=55 P_max=2.5 Vg_qui=-48 Vp_qui=300
* X_MIN=34 Y_MIN=31 X_SIZE=457 Y_SIZE=370 FSZ_X=1066 FSZ_Y=600 XYGrid=false
* showLoadLine=n showIp=y isDHT=n isPP=n isAsymPP=n showDissipLimit=y
* showIg1=n gridLevel2=n isInputSnapped=n 
* XYProjections=n harmonicPlot=n dissipPlot=n
*----------------------------------------------------------------------------------
E1 7 0 VALUE={V(1,3)/KP*LOG(1+EXP(KP*(1/MU+(VCT+V(2,3))/SQRT(KVB+V(1,3)*V(1,3)))))}
RE1 7 0 1G  ; TO AVOID FLOATING NODES
G1 1 3 VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))/KG1}
RCP 1 3 1G   ; TO AVOID FLOATING NODES
C1 2 3 {CCG} ; CATHODE-GRID
C2 2 1 {CGP} ; GRID=PLATE
C3 1 3 {CCP} ; CATHODE-PLATE
D3 5 3 DX ; POSITIVE GRID CURRENT
R1 2 5 {RGI} ; POSITIVE GRID CURRENT
.MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N)
.ENDS
*$

屏幕截图 2024-09-14 102554.jpg
 
6U8A_T SPICE Models.
Code:
**** 6U8A_P ******************************************
* Created on 09/14/2024 11:03 using paint_kip.jar
* www.dmitrynizh.com/tubeparams_image.htm
* Plate Curves image file: 6U8A_P.jpg
* Data source link: <plate curves URL>
*----------------------------------------------------------------------------------
.SUBCKT 6U8A_P P G2 G K ; LTSpice tetrode.asy pinout
* .SUBCKT 6U8A_P P G K G2 ; Koren Pentode Pspice pinout
+ PARAMS: MU=60.8 KG1=418 KP=103.61 KVB=12.24 VCT=0.0245 EX=1.022 KG2=4200 KNEE=86.4 KVC=2.57
+ KLAM=1.4E-7 KLAMG=2.61E-4  KD=0.4136 KC=0.0035 KR1=0.002314 KR2=0.064 KVBG=0.0186 KB1=1.88 KB2=2.26 KB3=2 KB4=0.5 KVBGI=8.8E-4 KNK=-0.044 KNG=0.006
+ CCG=5P CGP=0.015P CCP=2.6P RGI=2000.0
* Vp_MAX=500 Ip_MAX=20 Vg_step=0.5 Vg_start=0 Vg_count=11
* X_MIN=53 Y_MIN=47 X_SIZE=455 Y_SIZE=369 FSZ_X=1061 FSZ_Y=779 XYGrid=false
* Rp=1400 Vg_ac=20 P_max=3 Vg_qui=-2.5 Vp_qui=300
* showLoadLine=n showIp=y isDHP=n isPP=n isAsymPP=n isUL=n showDissipLimit=y
* showIg1=n isInputSnapped=y addLocalNFB=n
* XYProjections=n harmonicPlot=y dissipPlot=n
* UL=0.43 EG2=110 gridLevel2=n addKink=n isTanhKnee=n advSigmoid=y
*----------------------------------------------------------------------------------
RE1  7 0  1G    ; DUMMY SO NODE 7 HAS 2 CONNECTIONS
E1   7 0  VALUE=  ; E1 BREAKS UP LONG EQUATION FOR G1.
+{V(G2,K)/KP*LOG(1+EXP((1/MU+(VCT+V(G,K))/SQRT(KVB+V(G2,K)*V(G2,K)))*KP))}
RE2  6 0  1G    ; DUMMY SO NODE 6 HAS 2 CONNECTIONS
E2  6 0  VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))} ; Kg1 times KIT current
E4   8 0  VALUE={V(P,K)/KNEE/(KVBGI+V(6)*KVBG)}
E5  81 0  VALUE={PWR(V(8),KB1)}
E6  82 0  VALUE={PWR(V(8),KB2)}
E7  83 0  VALUE={PWR(V(8),KB3)}
E8   9 0  VALUE={PWR(1-EXP(-V(81)*(KC+KR1*V(82))/(KD+KR2*V(83))),KB4)*1.5708}
RE4  8 0  1
RE5 81 0  1
RE6 82 0  1
RE7 83 0  1
RE8  9 0  1
G1   P K  VALUE={V(6)/KG1*V(9)*(1+KLAMG*V(P,K))+KLAM*V(P,K)}
G2   G2 K  VALUE={V(6)/KG2*(KVC-V(9))/(1+KLAMG*V(P,K))}
RCP  P K  1G     ; FOR CONVERGENCE
C1   K G  {CCG}  ; CATHODE-GRID 1
C2   G P  {CGP}  ; GRID 1-PLATE
C3   K P  {CCP}  ; CATHODE-PLATE
R1   G 5  {RGI}  ; FOR GRID CURRENT   
D3   5 K  DX     ; FOR GRID CURRENT }
.MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N)
.ENDS
*$

 
* The following triode model is derived from pentode model, see above.
* In the triode model, all spice parameters come directly from the pentode model, except for Kg1,
* which for triode-strapped pentodes is derived from pentode's Kg1, Kg2 and Kvc as
*
*    4Kg1Kg2 / ((2Kvc-Pi)(2Kg1+PiKg2))

**** 6U8A_P ******************************************
* Created on 09/14/2024 11:03 using paint_kit.jar 4.7
* www.dmitrynizh.com/tubeparams_image.htm
* Plate Curves image file: 6U8A_P.jpg
* Data source link: <plate curves URL>
*----------------------------------------------------------------------------------
.SUBCKT TRIODE_6U8A_P 1 2 3 ; Plate Grid Cathode
+ PARAMS: CCG=5P  CGP=0.015P CCP=2.6P RGI=2000
+ MU=60.8 KG1=250.45 KP=103.61 KVB=12.24 VCT=0.0245 EX=1.022
* Vp_MAX=500 Ip_MAX=20 Vg_step=0.5 Vg_start=0 Vg_count=11
* Rp=1400 Vg_ac=20 P_max=3 Vg_qui=-2.5 Vp_qui=300
* X_MIN=53 Y_MIN=47 X_SIZE=455 Y_SIZE=369 FSZ_X=1061 FSZ_Y=779 XYGrid=false
* showLoadLine=n showIp=y isDHT=n isPP=n isAsymPP=n showDissipLimit=y
* showIg1=n gridLevel2=n isInputSnapped=y 
* XYProjections=n harmonicPlot=y dissipPlot=n
*----------------------------------------------------------------------------------
E1 7 0 VALUE={V(1,3)/KP*LOG(1+EXP(KP*(1/MU+(VCT+V(2,3))/SQRT(KVB+V(1,3)*V(1,3)))))}
RE1 7 0 1G  ; TO AVOID FLOATING NODES
G1 1 3 VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))/KG1}
RCP 1 3 1G   ; TO AVOID FLOATING NODES
C1 2 3 {CCG} ; CATHODE-GRID
C2 2 1 {CGP} ; GRID=PLATE
C3 1 3 {CCP} ; CATHODE-PLATE
D3 5 3 DX ; POSITIVE GRID CURRENT
R1 2 5 {RGI} ; POSITIVE GRID CURRENT
.MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N)
.ENDS
*$

屏幕截图 2024-09-14 110835.jpg
 
  • Like
Reactions: Yurik_V