En el lado ngspice de las cosas, debe incluir el modelo en su circuito, usando uno de varios comandos.
Lo más simple es poner el .model en su lista de redes y usar el nombre para referirse a él, por ejemplo. su modelo se ve así:
.modelo D1N914 D (Is = 168.1E-21 N = 1 Rs = .1 Ikf = 0 Xti = 3 Eg = 1.11 Cjo = 4p M = .3333
+ Vj = .75 Fc = .5 Isr = 100p Nr = 2 Bv = 100 Ibv = 100u Tt = 11.54n)
Nota ngspice parece tener un problema con un par de parámetros en este modelo (Isr y Nr), por lo que la simulación puede no ser realista ya que los eliminé solo para hacer que las cosas funcionen.
Parece ser un modelo de psice, y (según LTSpice):
Isr = Parámetro actual de recombinación
Nr = coeficiente de emisión de Isr.
No creo que tengan mucho efecto en la simulación, probablemente se agreguen efectos de alto orden en las especias comerciales.
Aquí hay un ejemplo de netlist (con Isr y Nr eliminados, ver más arriba):
V1 1 0 5
R1 1 2 1k
D1 2 3 D1N914
Vdummy 3 0 0
.modelo D1N914 D (Is = 168.1E-21 N = 1 Rs = .1 Ikf = 0 Xti = 3 Eg = 1.11 Cjo = 4p M = .3333
+ Vj = .75 Fc = .5 Bv = 100 Ibv = 100u Tt = 11.54n)
* .option noacct
.dc V1 0 10 1
* .print i (Vdummy)
.end
Si escribimos plot i (Vdummy), obtenemos esto:
La segunda opción sería hacer algo como agregarlo a una tarjeta de modelo y hacer .include \ xxxx \ xxx \ modelcard.diode en su lista de redes. Sin embargo, no he probado esta opción, solo la primera que funciona bien. Imagino que hay alguna forma de vincular la tarjeta modelo al símbolo que Matt describe en su respuesta (en LTspice agrega el archivo como uno de los parámetros del símbolo)