TUBE LIBRARY  December 1997.

* This library was developed by Norman Koren.
*
* For details, refer to the article, "Improved Vacuum-Tube Models
* for SPICE simulations," Glass Audio, Vol. 8, No. 5, 1996,
* available from Audio Amateur Corporation, 305 Union St.,
* PO Box 176, Peterborough, NH 03458 USA.  Phone 603-924-9464.
*
* All the usual legal disclaimers apply.  The author has made
* every effort to provide correct information, but assumes no
* liabilities for errors, misuse of the models,
* or inevitable changes made by users.
*
* The author welcomes your comments, stories, and questions
* (if they don't require too much effort to answer).  For really
* BIG stuff, he will consider consulting for a fee.
* Please contact Norman Koren by Email at kormar@cts.com.
*
* Some models are commented out because the evaluation version of
* Pspice has a maximum of twenty parts.

.SUBCKT 6550  P G CS  ;  Pentode
+ PARAMS: MU= 10.52 EX= 1.376 KG1= 113.5 KP= 30.15 
+ KVB=  26.0 VCT=  0.00 KG2 = 4200
+ CCG=14P CPG1=.85P CCP=12P RGI=1K 
* The Parts Connection (Tung-Sol)  6-Dec-97

* .SUBCKT 6550 P G C S
* + PARAMS: MU=7.9 EX=1.35 KG1=890 KG2=4200 KP=60
* + KVB=24 VCT=0

.FUNC EUC(X,Y) {SQRT(PWR(X,2)+PWR(Y,2))}  ; EUCLIDIAN SUM.
.FUNC LEX(X,A) {LOG(1+EXP(A*X))/A}   ; -->X FOR LARGE +A*X; 0...
.FUNC PGZ(X,Y) {PWR(X,Y)+PWRS(X,Y)}  ; =X^Y FOR X>0; O OTHERWISE.
RE1  7 0  1G      ; DUMMY SO NODE 7 HAS 2 CONNECTIONS
E1   7 0  VALUE=  ; E1 BREAKS UP LONG EQUATION FOR G1.
+{V(S,C)*LEX(1/MU+(V(G,C)+VCT)/V(S,C),KP)}
G1   P C  VALUE={PGZ(V(7)/KG1,EX)*ATAN(V(P,C)/KVB)}
G2   S C  VALUE={(EXP(EX*(LOG((V(S,C)/MU)+V(G,C)))))/KG2}
RCP  P C  1G      ; FOR CONVERGENCE
C1   G C  {CCG}   ; CATHODE-GRID 1
C2   P G  {CPG1}  ; GRID 1-PLATE
C3   P C  {CCP}   ; CATHODE-PLATE
R1   G 5  {RGI}   ; FOR GRID CURRENT
D3   5 C  DX      ; FOR GRID CURRENT
.MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N)
.ENDS

.SUBCKT 12AX7 P G C  ;  MODIFIED MODEL 12/97:  
+ PARAMS: MU=107.5 EX=1.32 KG1=178.5 KP=549
+ KVB=8 VCT=0 RGI=2000 
+ CCG=2.3P  CGP=2.4P CCP=.9P
* ADD .7PF TO ADJACENT PINS; .5 TO OTHERS. 
.FUNC EUC(X,Y) {SQRT(PWR(X,2)+PWR(Y,2))}  ; EUCLIDIAN SUM.
.FUNC LEX(X,A) {LOG(1+EXP(A*X))/A}   ; -->X FOR LARGE +A*X; 0...
.FUNC PGZ(X,Y) {PWR(X,Y)+PWRS(X,Y)}  ; =X^Y FOR X>0; O OTHERWISE.
E1 7 0 VALUE=  ; E1 BREAKS UP LONG EQUATION FOR G1.
+{V(P,C)*LEX(1/MU+(V(G,C)+VCT)/EUC(KVB,V(P,C)),KP)}
RE1 7 0 1G
G1 P C VALUE={PGZ(V(7)/KG1,EX)}
RCP P C 1G    ; TO AVOID FLOATING NODES IN MU-FOLLOWER
C1 G C {CCG}  ; CATHODE-GRID
C2 G P {CGP}  ; GRID=PLATE
C3 P C {CCP}  ; CATHODE-PLATE
D3 5 C DX     ; FOR GRID CURRENT
R1 G 5 {RGI}  ; FOR GRID CURRENT
.MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N)
.ENDS

.SUBCKT EL34 1 2 3 4 ;  P G1 C G2
+ PARAMS: MU=11 EX=1.35 KG1=650 KG2=4200 KP=60 KVB=24
+         CCG=15P CPG1=1P CCP=8P RGI=1K 
RE1  7 0  1MEG    ; DUMMY SO NODE 7 HAS 2 CONNECTIONS
E1   7 0  VALUE=  ; E1 BREAKS UP LONG EQUATION FOR G1.
+{V(4,3)/KP*LOG(1+EXP((1/MU+V(2,3)/V(4,3))*KP))}
G1   1 3  VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))/KG1*ATAN(V(1,3)/KVB)}
G2     4 3  VALUE={(EXP(EX*(LOG((V(4,3)/MU)+V(2,3)))))/KG2}
RCP  1 3  1G      ; FOR CONVERGENCE
C1   2 3  {CCG}   ; CATHODE-GRID 1
C2   1 2  {CPG1}  ; GRID 1-PLATE
C3   1 3  {CCP}   ; CATHODE-PLATE
R1   2 5  {RGI}   ; FOR GRID CURRENT
D3   5 3  DX      ; FOR GRID CURRENT
.MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N)
.ENDS

.SUBCKT 6SN7 P G C  ; triode
XV1 P G C 12AX7
+ PARAMS: MU= 21.17 EX= 1.330 KG1= 232.6 KP=156.08 
+ KVB=   7.3 VCT= 0
* Sylvania Technical Manual  30-Nov-97
.ENDS

.SUBCKT 12AU7 P G C  ; triode
XV1 P G C 12AX7
+ PARAMS: MU= 22.98 EX= 1.295 KG1= 213.8 KP= 79.94 
+ KVB=  10.0 VCT=  0.00
* Tom Mitchell  30-Nov-97
.ENDS

.SUBCKT 6AN8T 1 2 3  ; P G C; NEW MODEL   ; TRIODE SECTION
+ PARAMS: MU=21.2 EX=1.36 KG1=945 KP=84 KVB=300 RGI=2000
+ CCG=2.7P  CGP=2.2P CCP=1.0P  ; ADD .7PF TO ADJACENT PINS; .5 TO OTHERS. 
E1 7 0 VALUE=
+{V(1,3)/KP*LOG(1+EXP(KP*(1/MU+V(2,3)/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

.SUBCKT 6AN8P 1 2 3 4 ;  P G1 C G2  ; PENTODE SECTION
+ PARAMS: MU=45 EX=1.35 KG1=520 KG2=120 KP=120 KVB=18
+         CCG=8P CPG1=.8P CCP=3P RGI=2K 
RE1  7 0  1MEG    ; DUMMY SO NODE 7 HAS 2 CONNECTIONS
E1   7 0  VALUE=  ; E1 BREAKS UP LONG EQUATION FOR G1.
+{V(4,3)/KP*LOG(1+EXP((1/MU+V(2,3)/V(4,3))*KP))}
G1   1 3  VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))/KG1*ATAN(V(1,3)/KVB)}
G2     4 3  VALUE={(EXP(EX*(LOG((V(4,3)/MU)+V(2,3)))))/KG2}
RCP  1 3  1G      ; FOR CONVERGENCE
C1   2 3  {CCG}   ; CATHODE-GRID 1
C2   1 2  {CPG1}  ; GRID 1-PLATE
C3   1 3  {CCP}   ; CATHODE-PLATE
R1   2 5  {RGI}   ; FOR GRID CURRENT
D3   5 3  DX      ; FOR GRID CURRENT
.MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N)
.ENDS

.SUBCKT 2A3 1 2 3  ; P G C; NEW MODEL
+ PARAMS: MU=4.2 EX=1.4 KG1=1500 KP=60 KVB=300 RGI=2000
+ CCG=2.3P  CGP=2.2P CCP=1.0P  ; ADD .7PF TO ADJACENT PINS; .5 TO OTHERS. 
E1 7 0 VALUE=
+{V(1,3)/KP*LOG(1+EXP(KP*(1/MU+V(2,3)/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; WAS 1.6P
C2 2 1 {CGP}  ; GRID-PLATE; WAS 1.5P
C3 1 3 {CCP}  ; CATHODE-PLATE; WAS 0.5P
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

.SUBCKT 300B 1 2 3  ; P G C; NEW MODEL
+ PARAMS: MU=3.95 EX=1.4 KG1=1550 KP=65 KVB=300 RGI=1000
+ CCG=2.3P  CGP=2.2P CCP=1.0P  ; ADD .7PF TO ADJACENT PINS; .5 TO OTHERS. 
E1 7 0 VALUE=
+{V(1,3)/KP*LOG(1+EXP(KP*(1/MU+V(2,3)/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; WAS 1.6P
C2 2 1 {CGP}  ; GRID-PLATE; WAS 1.5P
C3 1 3 {CCP}  ; CATHODE-PLATE; WAS 0.5P
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

.SUBCKT 6C33C 1 2 3  ; P G C; TWO CATHODES FROM BORBELY, GA 5/96.
+ PARAMS: MU=3.1 EX=1.4 KG1=163 KP=15 KVB=300 RGI=1000
+ CCG=2.3P  CGP=2.2P CCP=1.0P  ; ADD .7PF TO ADJACENT PINS; .5 TO OTHERS. 
E1 7 0 VALUE=
+{V(1,3)/KP*LOG(1+EXP(KP*(1/MU+V(2,3)/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; WAS 1.6P
C2 2 1 {CGP}  ; GRID-PLATE; WAS 1.5P
C3 1 3 {CCP}  ; CATHODE-PLATE; WAS 0.5P
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

.SUBCKT 12AT7 1 2 3  ; P G C; NEW MODEL
+ PARAMS: MU=60 EX=1.35 KG1=460 KP=300 KVB=300 RGI=2000
+ CCG=2.3P  CGP=2.2P CCP=1.0P  ; ADD .7PF TO ADJACENT PINS; .5 TO OTHERS. 
E1 7 0 VALUE=
+{V(1,3)/KP*LOG(1+EXP(KP*(1/MU+V(2,3)/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; WAS 1.6P
C2 2 1 {CGP}  ; GRID-PLATE; WAS 1.5P
C3 1 3 {CCP}  ; CATHODE-PLATE; WAS 0.5P
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

.SUBCKT 6DJ8 1 2 3  ; P G C; NEW MODEL
+ PARAMS: MU=28 EX=1.3 KG1=330 KP=320 KVB=300 RGI=2000
+ CCG=2.3P  CGP=2.1P CCP=.7P  ; ADD .7PF TO ADJACENT PINS; .5 TO OTHERS. 
E1 7 0 VALUE=
+{V(1,3)/KP*LOG(1+EXP(KP*(1/MU+V(2,3)/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; WAS 1.6P
C2 2 1 {CGP}  ; GRID-PLATE; WAS 1.5P
C3 1 3 {CCP}  ; CATHODE-PLATE; WAS 0.5P
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

.SUBCKT KT88 1 2 3 4 ;  P G1 C G2
+ PARAMS: MU=8.8 EX=1.35 KG1=730 KG2=4800 KP=32 KVB=16
+         CCG=14P CPG1=.85P CCP=12P RGI=1K 
RE1  7 0  1MEG    ; DUMMY SO NODE 7 HAS 2 CONNECTIONS
E1   7 0  VALUE=  ; E1 BREAKS UP LONG EQUATION FOR G1.
+{V(4,3)/KP*LOG(1+EXP((1/MU+V(2,3)/V(4,3))*KP))}
G1   1 3  VALUE={(PWR(V(7),EX)+PWRS(V(7),EX))/KG1*ATAN(V(1,3)/KVB)}
G2   4 3  VALUE={(EXP(EX*(LOG((V(4,3)/MU)+V(2,3)))))/KG2}
RCP  1 3  1G      ; FOR CONVERGENCE
C1   2 3  {CCG}    ; CATHODE-GRID 1
C2   1 2  {CPG1}  ; GRID 1-PLATE
C3   1 3  {CCP}   ; CATHODE-PLATE
R1   2 5  {RGI}   ; FOR GRID CURRENT
D3   5 3  DX      ; FOR GRID CURRENT
.MODEL DX D(IS=1N RS=1 CJO=10PF TT=1N)
.ENDS

.SUBCKT PAT-4006-CFB 1 2 3 4 5 6 7 8 9 10 11
* PLITRON PAT-4006-CFB OUTPUT TRANSFORMER 2KOHM UL PRIMARY
* OL NUMBERS CORRESPOND TO TRANSFORMER SCHEMATIC.
.PARAM PRIML=392.5     ; TOTAL PRIMARY L (FROM SPECS).
.PARAM LRATIO={5/2000} ; INDUCTANCE RATIO: (5 OHMS)/(PRIMARY).
.PARAM QFCTR=400000     ; Q-FACTOR: PRIMARY SHUNT L/LEAKAGE L.
LP1 1 2   {PRIML*.09}     ; PRIMARY
LP2 2 3   {PRIML*.04}
LP3 3 4   {PRIML*.04}
LP4 4 5   {PRIML*.09}   
CP1 1 5   .342NF      ; CAPACITANCE FROM SPECS
LP5 8 7   {PRIML*LRATIO/4}  ; 1/2 SPEAKER SECONDARY
LP6 7 6   {PRIML*LRATIO/4}  ; " "
LP7 11 10 {PRIML*LRATIO}    ; 1/2 FBK WINDING
LP8 10 9  {PRIML*LRATIO}    ; " "
KALL LP1 LP2 LP3 LP4 LP5 LP6 LP7 LP8 .9999987 ; 1-1/(2*403600) AWESOME!
.ENDS

.SUBCKT DYNA_OUTPUT_XFRMR 1 2 3 4 5 6 7 8 9  ; PARAMETERS FOR MARK 3:
+PARAMS: LPRIM=60 LLKG=.040 RPRIM=125 CPRIM=1.04NF LRATIO={4/4300}

* ERIC BARBOUR ARTICLE:  ~233H TOTAL PRIMARY L FOR MARK 3.
* MARK 3: LPRIM=60 LLKG=.040 RPRIM=125 CPRIM=1.04NF LRATIO={4/4300}

* LPRIM  IS THE TOTAL PRIMARY L (VARIES WITH MEASUREMENT).
* LLKG   IS THE LEAKAGE L (MEASURABLE: CONSISTENT).
* RPRIM  IS THE TOTAL PRIMARY R.
* CPRIM  IS THE MEASURED PRIMARY CAPACITANCE.
* LRATIO IS THE INDUCTANCE RATIO: (4 OHMS)/(PRIMARY Z).

.PARAM QFCTR={LPRIM/LLKG}  ; Q-FACTOR.
CS1 1 5    {CPRIM}     ; PRIMARY CAPACITANCE
RS1 1 5    300K        ; SHUNT R FOR HIGH FREQUENCY EFFECTS.
LP1 1 12   {LPRIM*.09} ; .7164H  ; PRIMARY
RP1 12 2   {RPRIM*.5}
LP2 2 3    {LPRIM*.04} ; .3184H
LP3 3 4    {LPRIM*.04}
LP4 4 45   {LPRIM*.09}
RP4 45 5   {RPRIM*.5}
LP5 7 6    {.34315*LPRIM*LRATIO} ; 8-16  OHM WINDING: (2-SQRT(2))^2
LP6 8 7    {.17157*LPRIM*LRATIO} ; 4-8   OHM WINDING: (SQRT(2)-1)^2
LP7 9 8    {LPRIM*LRATIO}        ; COM-4 OHM WINDING
KALL LP1 LP2 LP3 LP4 LP5 LP6 LP7 {1-1/(2*QFCTR)}  ; COUPLING
.ENDS

*model D1N5292  anode
*               | cathode
*               | |
.subckt D1N5292 1 2
  j1 1 2 2 jx
  .model   jx   NJF(Beta=134u Betatce=-.5 Rd=1 Rs=0 Lambda=366.1u Vto=-2.149
+               Vtotc=-2.5m N=2 Xti=3 Cgd=3p Is=10f M=.5 Pb=1 Fc=.5 Af=1)
*               Motorola        pid=NKL         case=DO7
*               88-07-25 bam    POVmax=100
*               88-12-16 pwt
.ends

*model D1N5295  anode
*               | cathode
*               | |
.subckt D1N5295 1 2
  j1 1 2 2 jx
  .model   jx   NJF(Beta=277.5u Betatce=-.5 Rd=1 Rs=0 Lambda=203.3u Vto=-1.721
+               Vtotc=-2.5m N=2 Xti=3 Cgd=4.5p Is=10f M=.5 Pb=1 Fc=.5 Af=1)
*               Motorola        pid=NKM         case=DO7
*               88-07-25 bam    POVmax=100
*               88-12-16 pwt
.ends
