• 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

The question came up on LTSpice, so I worked the optimization for the Svetlana SV811 -- the RCA datasheet only has positive Vg values:

.subckt SV811 1 2 3
+Params: MU=8.839 KP=91.39 KVB=1437 EX=1.301 KG1=2486
E1 7 0 Value = {(V(1,3)/KP)*LN((1+ EXP((KP/MU) + ((KP*(V(2,3)+.5))/(SQRT(KVB+V(1,3)*V(1,3)))))))}
RE1 7 0 1e12
G1 1 3 VALUE = {(((V(7))^EX)/KG1)*(1+SGN(V(7)))}
RCP 1 3 1e12
C1 2 3 6e-12
C2 1 2 6e-12
C3 1 3 0.7e-12
R1 2 5 2000
D3 5 3 dx
.model dx d(is=1e-09 rs=1 cjo=10e-12)
.ends
 
Can somebody find the reason why this model does not work with LTspice ?

.SUBCKT 6P13S-t 1 2 3 ; P G C (Triode) 27-Nov-2007
+ PARAMS: MU= 9.51 EX= 1.26 KG1=686 KP=91.81
+ KVB=8430 VCT=0.00 RGI=1000
+ CCG=18.5P CGP=0.5P CCP=6.5 <======== p(ico) missing !
E1 7 0 VALUE=
+{V(1,3)/KP*LN(1+EXP(KP*(1/MU+(V(2,3)+VCT)/SQRT(KVB+V(1,3)*V(1,3)))))}
RE1 7 0 1G
G1 1 3 VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))/KG1}
RCP 1 3 1G ; TO AVOID FLOATING NODES IN MU-FOLLOWER
C1 2 3 {CCG} ; CATHODE-GRID;
C2 2 1 {CGP} ; GRID-PLATE;
C3 1 3 {CCP} ; CATHODE-PLATE;
D3 5 3 DX ; FOR GRID CURRENT
R1 2 5 {RGI} ; FOR GRID CURRENT
.MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N)
.ENDS

the reason why it doesn't work for AC sim is because CCP is given as 6.5 Farad (instead of pico). ........
 
After 4 iterations and debugging of the Extract Model tool by Derk, I managed to refine the 6e5p beam tetrode model:

6e5p-tetrode-model-version-4.png


The valve saturates massively above 50mA so hence the gap with the model at low Vg values. Not an issue as will never be used at these levels.

Here are the details 6e5p beam tetrode SPICE model | Bartola Valves
Ale
 
6267, EF86 equivalent.
Code:
*
* Generic pentode model: 6267
* Copyright 2003--2008 by Ayumi Nakabayashi, All rights reserved.
* Version 3.10, Generated on Sat Mar  8 22:42:16 2008
*               Plate
*               | Screen Grid
*               | |  Control Grid
*               | |  |  Cathode
*               | |  |  |
.SUBCKT 6267_AN A G2 G1 K
BGG   GG   0 V=V(G1,K)+0.59868749
BM1   M1   0 V=(0.010782364*(LIMIT(V(G2,K),0,1e16)+1e-10))^-0.70765893
BM2   M2   0 V=(0.67945278*(LIMIT((V(GG)+LIMIT(V(G2,K),0,1e16)/29.728844),0,1e16)))^2.2076589
BP    P    0 V=0.0013378994*(LIMIT((V(GG)+LIMIT(V(G2,K),0,1e16)/43.754099),0,1e16))^1.5
BIK   IK   0 V=STP(V(GG))*V(P)+(1-STP(V(GG)))*0.00078620809*V(M1)*V(M2)
BIG   IG   0 V=0.00066894969*LIMIT(V(G1,K),0,1e16)^1.5*(LIMIT(V(G1,K),0,1e16)/(LIMIT(V(A,K),0,1e16)+LIMIT(V(G1,K),0,1e16))*1.2+0.4)
BIK2  IK2  0 V=V(IK,IG)*(1-0.4*(EXP(-LIMIT(V(A,K),0,1e16)/LIMIT(V(G2,K),0,1e16)*15)-EXP(-15)))
BIG2T IG2T 0 V=V(IK2)*(0.83966688*(1-LIMIT(V(A,K),0,1e16)/(LIMIT(V(A,K),0,1e16)+10))^1.5+0.16033312)
BIK3  IK3  0 V=V(IK2)*(LIMIT(V(A,K),0,1e16)+7510)/(LIMIT(V(G2,K),0,1e16)+7510)
BIK4  IK4  0 V=V(IK3)-LIMIT(V(IK3)-(0.00071507731*(LIMIT(V(A,K),0,1e16)+LIMIT(LIMIT(V(G2,K),0,1e16)-LIMIT(V(A,K),0,1e16),0,1e16))^1.5),0,1e16)
BIP   IP   0 V=LIMIT(V(IK4,IG2T)-LIMIT(V(IK4,IG2T)-(0.00071507731*LIMIT(V(A,K),0,1e16)^1.5),0,1e16),0,1e16)
BIAK  A    K I=V(IP)+1e-10*V(A,K)
BIG2  G2   K I=LIMIT(V(IK4,IP),0,1e16)
BIGK  G1   K I=V(IG)
* CAPS
CGA   G1  A  0.05p
CGK   G1  K  2.3p
C12   G1  G2 1.5p
CAK   A   K  5.3p
.ENDS
 
Does anyone have a Spice model for the 1J6 or type 19? I think these tubes are equialent.

I tried to create a model for the 19/1J6 using the model paint kit. It probably isn't spectacular since it is my first such model, but I'll post the model here for review.

Was I even close?


Code:
**** 1J6G ******************************************
* Created on 02/06/2014 18:34 using paint_kit.jar 2.9 
* www.dmitrynizh.com/tubeparams_image.htm
* Plate Curves image file: 1j6.jpg
* Data source link: 
*----------------------------------------------------------------------------------
.SUBCKT TRIODE_1J6G 1 2 3 ; Plate Grid Cathode
+ PARAMS: CCG=3.2P  CGP=7.5P CCP=4.4P RGI=2000
+ MU=18.8 KG1=5460 KP=120 KVB=156 VCT=4.395E-6 EX=1.41 
* Vp_MAX=200 Ip_MAX=40 Vg_step=5 Vg_start=25 Vg_count=7
* Rp=4000 Vg_ac=55 P_max=1 Vg_qui=-48 Vp_qui=300
* X_MIN=56 Y_MIN=49 X_SIZE=828 Y_SIZE=663 FSZ_X=1412 FSZ_Y=807 XYGrid=false
* showLoadLine=n showIp=y isDHT=n isPP=n isAsymPP=n showDissipLimit=y 
* showIg1=n gridLevel2=n isInputSnapped=n  
* XYProjections=n harmonicPlot=n harmonics=y
*----------------------------------------------------------------------------------
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 
*$
 
6267, EF86 equivalent.
Code:
*
* Generic pentode model: 6267
* Copyright 2003--2008 by Ayumi Nakabayashi, All rights reserved.
* Version 3.10, Generated on Sat Mar  8 22:42:16 2008
*               Plate
*               | Screen Grid
*               | |  Control Grid
*               | |  |  Cathode
*               | |  |  |
.SUBCKT 6267_AN A G2 G1 K
BGG   GG   0 V=V(G1,K)+0.59868749
BM1   M1   0 V=(0.010782364*(LIMIT(V(G2,K),0,1e16)+1e-10))^-0.70765893
BM2   M2   0 V=(0.67945278*(LIMIT((V(GG)+LIMIT(V(G2,K),0,1e16)/29.728844),0,1e16)))^2.2076589
BP    P    0 V=0.0013378994*(LIMIT((V(GG)+LIMIT(V(G2,K),0,1e16)/43.754099),0,1e16))^1.5
BIK   IK   0 V=STP(V(GG))*V(P)+(1-STP(V(GG)))*0.00078620809*V(M1)*V(M2)
BIG   IG   0 V=0.00066894969*LIMIT(V(G1,K),0,1e16)^1.5*(LIMIT(V(G1,K),0,1e16)/(LIMIT(V(A,K),0,1e16)+LIMIT(V(G1,K),0,1e16))*1.2+0.4)
BIK2  IK2  0 V=V(IK,IG)*(1-0.4*(EXP(-LIMIT(V(A,K),0,1e16)/LIMIT(V(G2,K),0,1e16)*15)-EXP(-15)))
BIG2T IG2T 0 V=V(IK2)*(0.83966688*(1-LIMIT(V(A,K),0,1e16)/(LIMIT(V(A,K),0,1e16)+10))^1.5+0.16033312)
BIK3  IK3  0 V=V(IK2)*(LIMIT(V(A,K),0,1e16)+7510)/(LIMIT(V(G2,K),0,1e16)+7510)
BIK4  IK4  0 V=V(IK3)-LIMIT(V(IK3)-(0.00071507731*(LIMIT(V(A,K),0,1e16)+LIMIT(LIMIT(V(G2,K),0,1e16)-LIMIT(V(A,K),0,1e16),0,1e16))^1.5),0,1e16)
BIP   IP   0 V=LIMIT(V(IK4,IG2T)-LIMIT(V(IK4,IG2T)-(0.00071507731*LIMIT(V(A,K),0,1e16)^1.5),0,1e16),0,1e16)
BIAK  A    K I=V(IP)+1e-10*V(A,K)
BIG2  G2   K I=LIMIT(V(IK4,IP),0,1e16)
BIGK  G1   K I=V(IG)
* CAPS
CGA   G1  A  0.05p
CGK   G1  K  2.3p
C12   G1  G2 1.5p
CAK   A   K  5.3p
.ENDS

I get an error in Tina - "line 16, invalid function LIMIT"
I think there's supposed to be a parentheses in front but I still get the error.
 
Ex-Moderator
Joined 2011
I get an error in Tina - "line 16, invalid function LIMIT"
I think there's supposed to be a parentheses in front but I still get the error.

It's the incorrect version of the code. TINA uses the URAMP, not the LIMIT function... Try this one:

Code:
*
* Generic pentode model: 6267
* Copyright 2003--2006 by Ayumi Nakabayashi, All rights reserved.
* Version 3.01, Generated on Wed Mar 22 17:22:56 2006
.SUBCKT 6267 A G2 G1 K
BGG   GG   0 V=V(G1,K)+0.59868749
BEP   EP   0 V=URAMP(V(A,K))+1e-10
BEG   EG   0 V=URAMP(V(G1,K))+1e-10
BEG2  EG2  0 V=URAMP(V(G2,K))+1e-10
BM1   M1   0 V=(0.010782364*(URAMP(V(EG2)-1e-10)+1e-10))^-0.70765893
BM2   M2   0 V=(0.67945278*(URAMP(V(GG)+V(EG2)/29.728844)+1e-10))^2.2076589
BP    P    0 V=0.0013378994*(URAMP(V(GG)+V(EG2)/43.754099)+1e-10)^1.5
BIK   IK   0 V=U(V(GG))*V(P)+(1-U(V(GG)))*0.00078620809*V(M1)*V(M2)
BIG   IG   0 V=0.00066894969*V(EG)^1.5*(V(EG)/(V(EP)+V(EG))*1.2+0.4)
BIK2  IK2  0 V=V(IK,IG)*(1-0.4*(EXP(-V(EP)/V(EG2)*15)-EXP(-15)))
BIG2T IG2T 0 V=V(IK2)*(0.83966688*(1-V(EP)/(V(EP)+10))^1.5+0.16033312)
BIK3  IK3  0 V=V(IK2)*(V(EP)+7510)/(V(EG2)+7510)
BIK4  IK4  0 V=V(IK3)-URAMP(V(IK3)-(0.00071507731*(V(EP)+URAMP(V(EG2,EP)))^1.5))
BIP   IP   0 V=URAMP(V(IK4,IG2T)-URAMP(V(IK4,IG2T)-(0.00071507731*V(EP)^1.5)))
BIAK  A    K I=V(IP)+1e-10*V(A,K)
BIG2  G2   K I=URAMP(V(IK4,IP))
BIGK  G1   K I=V(IG)
* CAPS
CGA   G1  A  0.05p
CGK   G1  K  2.3p
C12   G1  G2 1.5p
CAK   A   K  5.3p
.ENDS
 
It's the incorrect version of the code. TINA uses the URAMP, not the LIMIT function...
Not true. TINA understands 'LIMIT' (PSpice) just fine. Since Micro-Cap understands PSpice and 3f4 spice with the limit function, I got lazy and posted a 6267 model that works in Micro-Cap, but was not in a true PSpice format. My bad... So here is a 6267 PSpice model:
Code:
*
* Generic pentode model: 6267
* Copyright 2003--2008 by Ayumi Nakabayashi, All rights reserved.
* Version 3.10, Generated on Sat Mar  8 22:42:16 2008
*               Plate
*               | Screen Grid
*               | |  Control Grid
*               | |  |  Cathode
*               | |  |  |
.SUBCKT 6267_AN2 A G2 G1 K
EGG   GG   0 VALUE={V(G1,K)+0.59868749}
EM1   M1   0 VALUE={(0.010782364*(LIMIT(V(G2,K),0,1e16)+1e-10))^-0.70765893}
EM2   M2   0 VALUE={(0.67945278*(LIMIT((V(GG)+LIMIT(V(G2,K),0,1e16)/29.728844),0,1e16)))^2.2076589}
EP    P    0 VALUE={0.0013378994*(LIMIT((V(GG)+LIMIT(V(G2,K),0,1e16)/43.754099),0,1e16))^1.5}
EIK   IK   0 VALUE={STP(V(GG))*V(P)+(1-STP(V(GG)))*0.00078620809*V(M1)*V(M2)}
EIG   IG   0 VALUE={0.00066894969*LIMIT(V(G1,K),0,1e16)^1.5*(LIMIT(V(G1,K),0,1e16)/(LIMIT(V(A,K),0,1e16)+LIMIT(V(G1,K),0,1e16))*1.2+0.4)}
EIK2  IK2  0 VALUE={V(IK,IG)*(1-0.4*(EXP(-LIMIT(V(A,K),0,1e16)/LIMIT(V(G2,K),0,1e16)*15)-EXP(-15)))}
EIG2T IG2T 0 VALUE={V(IK2)*(0.83966688*(1-LIMIT(V(A,K),0,1e16)/(LIMIT(V(A,K),0,1e16)+10))^1.5+0.16033312)}
EIK3  IK3  0 VALUE={V(IK2)*(LIMIT(V(A,K),0,1e16)+7510)/(LIMIT(V(G2,K),0,1e16)+7510)}
EIK4  IK4  0 VALUE={V(IK3)-LIMIT(V(IK3)-(0.00071507731*(LIMIT(V(A,K),0,1e16)+LIMIT(LIMIT(V(G2,K),0,1e16)-LIMIT(V(A,K),0,1e16),0,1e16))^1.5),0,1e16)}
EIP   IP   0 VALUE={LIMIT(V(IK4,IG2T)-LIMIT(V(IK4,IG2T)-(0.00071507731*LIMIT(V(A,K),0,1e16)^1.5),0,1e16),0,1e16)}
GIAK  A    K VALUE={V(IP)+1e-10*V(A,K)}
GIG2  G2   K VALUE={LIMIT(V(IK4,IP),0,1e16)}
GIGK  G1   K VALUE={V(IG)}
* CAPS
CGA   G1  A  0.05p
CGK   G1  K  2.3p
C12   G1  G2 1.5p
CAK   A   K  5.3p
.ENDS
I just tested it in TINA and it works.