This paper of mine might be interresting for you:

https://drive.google.com/file/d/1CF61JpKPAK8pFmsGam4kmcbCehU1qxJz/view

BR Adrian

- Home
- Amplifiers
- Tubes / Valves
- Vacuum Tube SPICE Models

You are using an out of date browser. It may not display this or other websites correctly.

You should upgrade or use an alternative browser.

You should upgrade or use an alternative browser.

- Thread starter kevinkr
- Start date

This paper of mine might be interresting for you:

https://drive.google.com/file/d/1CF61JpKPAK8pFmsGam4kmcbCehU1qxJz/view

BR Adrian

45 SPICE Models

###

Code:

```
**** * ******************************************
* Created on 06/04/2024 18:02 using paint_kit.jar 3.1
* www.dmitrynizh.com/tubeparams_image.htm
* Plate Curves image file: *.jpg
* Data source link:
*----------------------------------------------------------------------------------
.SUBCKT 45 1 2 3 ; Plate Grid Cathode
+ PARAMS: CCG=4P CGP=7P CCP=3P RGI=2000
+ MU=3.654 KG1=2640 KP=46 KVB=34.88 VCT=3.125E-4 EX=1.302
* Vp_MAX=500 Ip_MAX=75 Vg_step=10 Vg_start=0 Vg_count=14
* Rp=6307.47 Vg_ac=20.92 P_max=10 Vg_qui=-189.71 Vp_qui=474.63
* X_MIN=14 Y_MIN=75 X_SIZE=348 Y_SIZE=210 FSZ_X=1260 FSZ_Y=630 XYGrid=false
* showLoadLine=y 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
```

Hello, I'm trying to make the LTspice model of the Jelabs radiotron 2a3, but I don't know if the tube models are accurate. If I use the Ayumi models plus a 6c6 model, it gives me high distortion values, but if I use tube_lib and tube_sym, 6j7 (replacement in values) and 2a3, the values are more in line with what Joe (jelabs) says.

The question would be, what would be the correct tube models to be as close to reality as possible?

I know it's not the same, but while I put the parts together to assemble the amplifier, I want to have a little fun simulating it.

I'll send you my file

thanx a lot

The question would be, what would be the correct tube models to be as close to reality as possible?

I know it's not the same, but while I put the parts together to assemble the amplifier, I want to have a little fun simulating it.

I'll send you my file

thanx a lot

They are useful if you have a circuit you're working with, and you have some good models to work with (I like Adrian Immler's!), and you're tweaking the circuit for lowest THD (or whatever). You can run the sim (keeping the models constant) and see which operating points result in lowest THD, etc.

Or, you can keep the models constant and try different circuit variations to see which perform best in simulation. I figure since the models remain the same, the different circuits can be directly compared.

BUT, if you change the models around, expect the results to change with them. In simulation, the exact same circuit with two different models of the same tube type can vary a lot in predicted performance.

One tube model may simulate close to reality in one particular circuit but might be very far from reality in a different circuit.

SPICE is a really valuable tool, but it's not going to tell you exactly what will happen in reality. But it will get you close in most cases.

The above is my opinion only. You are free to disagree. Thanks.

PS - It's possible the simulation results are telling you the 6J7 will work with lower THD than the 6C6. But I can't tell you for sure. Try different versions of 6C6 and 6J7 models. See if a repeatable trend emerges.

Hi all

Some weeks ago, I presented here my Siemens 6U8A Pentode model.

But the 6U8A contains also a triode - here it is, as an i6 spice model .

Enjoy!

BR Adrian

PS: Be aware that most other tube manufacturer used a different construction of the 6U8A, with a very pronounced island effect for both, the pentode as well as the triode. You can easily identify this construction, as it has a*large rectangular window* stamped out of a sheet in the pentode construction.

Some weeks ago, I presented here my Siemens 6U8A Pentode model.

But the 6U8A contains also a triode - here it is, as an i6 spice model .

Enjoy!

BR Adrian

PS: Be aware that most other tube manufacturer used a different construction of the 6U8A, with a very pronounced island effect for both, the pentode as well as the triode. You can easily identify this construction, as it has a

Code:

```
*6U8A Triode LTspice model based on the generic triode model from Adrian Immler, version i6
*A version log is at the end of this file
*100h BurnIn of 10 Siemens tubes, sample selection and measurements done in Jan 2024
*Params fitted to the measured values by Adrian Immler, June 2024
*This model is accurate for Vg up to 3V.
*The fit quality is presented at adrianimmler.simplesite.com
*History's best of tube describing art (plus some new ideas) is merged to this new approach.
*@ neg. Vg, Ia accuracy is similar to Koren models, and unrivaled for remote cutoff triodes
*@ small neg. Vg, the "Anlauf" current is considered.
*@ pos. Vg, Ig and Ia accuracy is on an unrivaled level (including neg. Va range!)
*This offers new simulation possibilities like grid resistor bias, backward plate modulated stages,
*Audion radio circuits, low voltage amps, guitar distortion stages or pulsed stages.
* Triode section
* | SI=Siemens (Be aware of a quite different 6U8A construction with large rectangular window!)
* | | i6 version is identical to the i5, but measurements done with HOT anode for highest accuracy
* | | | anode (plate)
* | | | | grid
* | | | | | cathode
* | | | | | |
.subckt 6U8A#T.SIi6 A G K
+ params:
*Parameters for space charge current Is (100% assigned to Ia @ Vg < 0)
+ mu = 44 ;Determines the voltage gain @ constant Ia
+ rad = 5k1 ;Differential anode resistance, set @ Iad and Vg=0V
+ Vct = 0.6 ;Offsets the Ia-traces on the Va axis. Electrode material's contact potential
+ kp = 160 ;Mimics the island effect
+ xs = 1.5 ;Determines the curve of the Ia traces. Typically between 1.2 and 1.8
+ kIsr = 43m ;Va-indepedent part of the Is reduction when gridcurrent occurs
+ kvdg = 110 ;Va-depedent part of the Is reduction when gridcurrent occurs
*
*Parameters for assigning the space charge current to Ia and Ig @ Vg > 0
+ kB = 0.45 ;Describes how fast Ia drops to zero when Va approaches zero.
+ radl = 310 ;Differential resistance for the Ia emission limit @ very small Va and Vg > 0
+ tsh = 12 ;Ia transmission sharpness from 1th to 2nd Ia area. Keep between 3 and 20. Start with 20.
+ xl = 1.3 ;Exponent for the emission limit
*
*Parameters of the grid-cathode vacuum diode
+ kg = 610 ;Inverse scaling factor for the Va independent part of Ig (caution - interacts with xg!)
+ Vctg = 0.02 ;Offsets the log Ig-traces on the Vg axis. Electrode material's contact potential
+ xg = 1.15 ;Determines the curve of the Ig slope versus (positive) Vg and Va >> 0
+ VT = 0.102 ;Log(Ig) slope @ Vg<0. VT=k/q*Tk (cathodes absolute temp, typically 1150K)
+ rTr = 0.9 ;ratio of VT for Igr. Typically 0.8
+ kVT = 5m ;Va dependant koeff. of VT
+ gft1 = 0.02 ;reduces the steering voltage around Vg=-Vg0, for finetuning purposes
+ gft1a= 0.25 ;reduces the steering voltage around Vg=-Vg0. Effect decreases with 1/(1+kB*Va)
+ gft2 = 1 ;finetunes the Igr drop @ incrasing Va and around Vg=-Vg0
*
*Parameters for the caps
+ cag = 1p8 ;From datasheet
+ cak = 0p35 ;From datasheet
+ cgk = 2p5 ;From datasheet
*
*special purpose parameters
+ os = 1 ;Overall scaling factor, if a user wishes to simulate manufacturing tolerances
+ murc = 10 ;Mu of the remote cutoff triode
+ ksrc = 10G ;Inverse Iarc gain factor for the remote cuttoff triode
+ kprc = 1k ;Mimics the island effect for the remote cotoff triode
+ Vbatt = 0 ;heater battery voltage for direct heated battery triodes
+ Vdrmax = 2 ;max voltage of internal Vg drop, for convergence improvements
*
*Calculated parameters
+ Iad = {100/rad} ;Ia where the anode a.c. resistance is set according to rad.
+ ks = {pow(mu/(rad*xs*Iad**(1-1/xs)),-xs)} ;Reduces the unwished xs influence to the Ia slope
+ ksnom = {pow(mu/(rad*1.5*Iad**(1-1/1.5)),-1.5)} ;Sub-equation for calculating Vg0
+ Vg0 = {Vct + (Iad*ks)**(1/xs) - (Iad*ksnom)**(2/3)} ;Reduces the xs influence to Vct.
+ kl = {pow(1/(radl*xl*Ild**(1-1/xl)),-xl)} ;Reduces the xl influence to the Ia slope @ small Va
+ Ild = {sqrt(radl)*1m} ;Current where the Il a.c. resistance is set according to radl.
*
*Space charge current model
Rak A K 100G ;avoids "floating net" errors
Bft ft 0 V=1/(1+pow(2*abs(v(G,Ki)+Vg0),3)) ;an auxiliary voltage to finetune the triode around Vg=-Vg0
Bggi GGi 0 V=(v(Gi,Ki)+Vg0)*(1/(1+kIsr*max(0, v(G,Ki)+Vg0))) - gft1*v(ft) - gft1a*v(ft)/(1+kB*v(Ahc)) ;Effective internal grid voltage.
Bahc Ahc 0 V=uramp(v(A,Ki)) ;Anode voltage, hard cut to zero @ neg. value
Bst St 0 V=uramp(max(v(GGi)+v(A,Ki)/(mu), v(A,Ki)/kp*ln(1+exp(kp*(1/mu+v(GGi)/(1+v(Ahc)))))));Steering volt.
Bs Ai Ki I=os/ks*pow(v(St),xs) ;Langmuir-Childs law for the space charge current Is
*Bstrc Strc 0 V=uramp(max(v(GGi)+v(Ahc)/(murc), v(Ahc)/kprc*ln(1+exp(kprc*(1/murc+v(GGi)/(1+v(Ahc)))))));FOR REMOTE CUTOFF TUBES ONLY
*Bsrc Ai Ki I=os/ksrc*pow(v(Strc),xs) ;FOR REMOTE CUTOFF TUBES ONLY
*
*Anode current limit @ small Va
.func smin(z,y,n) {pow(pow(z+1f, -n)+pow(y+1f, -n), -1/n)} ;Min-function with smooth trans.
.func ssmin(z,y,n) {min(min(z,y), smin(z*1.003,y*1.003,n))};smin-function which suppresses small residual differencies
Ra A Ai 1
Bgl Gi A I=uramp(i(Ra)-ssmin(1/kl*pow(v(Ahc),xl),i(Ra),tsh)) ;Ia emission limit
*
*Grid model
Rgk G K 10G ;avoids "floating net" errors
Bvdg G Gi I=1/kvdg*pow(v(G,Gi),1.5) ;Reduces the internal effective grid voltage when Ig rises
Bcoh G Gi I=pow(uramp(v(G,Gi)-Vdrmax),2) ;A convergence help which softly limits the internal Vg voltage drop.
Rgip G Gi 1G ;avoids some warnings
.func fVT() {VT*exp(-kVT*sqrt(v(A,Ki)))}
.func Ivd(Vvd, kvd, xvd, VTvd) {if(Vvd < 3, 1/kvd*pow(VTvd*xvd*ln(1+exp(Vvd/VTvd/xvd)),xvd), 1/kvd*pow(Vvd, xvd))} ;Vacuum diode function
Bgvd G Ki I=Ivd(v(G,Ki) + Vctg + min(0,v(A,Ki)/mu), kg/os, xg, fVT()) ;limits the internal Vg for convergence reasons
Bstn Stn 0 V=v(GGi)+min(0,v(A,Ki))/mu ;special steering voltage, sensitive to negative Anodevoltages only
Bgr Gi Ai I= ivd(v(Stn),ks/os, xs, rTr*fVT())/(1+(kB+v(ft)*gft2)*v(Ahc));Is reflection to grid when Va approaches zero
*Bgr Gi Ai I=(ivd(v(Stn),ks/os, xs, rTr*fVT())+os/ksrc*pow(v(GGi),xs))/(1+(kB+v(ft)*gft2)*v(Ahc));FOR REMOTE CUTOFF TUBES ONLY
Bs0 Ai Ki I=uramp(ivd(v(Stn),ks/os, xs, rTr*fVT()) - os/ks*pow(v(Stn),xs))
Bbatt Ki K V=Vbatt/2 ;for battery heated triodes; Offsets the average cathode potential to the half heater battery voltage
*
*Caps
C1 A G {cag}
C2 A K {cak}
C3 G K {cgk}
.ends
*
*Version log
*i1 :Initial version
*i2 :Pin order changed to the more common order A G K (Thanks to Markus Gyger for his tip)
*i3 :bugfix of the Ivd-function: now also usable for larger Vvd
*i4: Rgi replaced by a virtual vacuum diode (better convergence). ft1 deleted (no longer needed)
;2 new prarams for Ig finetuning @ Va and Vg near zero. New overall skaling factor os for aging etc.
*i5: improved convergence performance. PosVg/NegVa area now correct. Also accurate now for remote cutoff triodes!
*i6: identical to the i5, but tubes measured with hot anode (Pa=0.7*Pmax) for highest accuracy
```

- Home
- Amplifiers
- Tubes / Valves
- Vacuum Tube SPICE Models