2 votos

¿Cómo empezar a utilizar ngspice?

Recientemente he terminado un trabajo con hspice, y ahora no tengo acceso al servidor. He instalado ngspice en mi máquina Fedora 15, pero no estoy familiarizado con su funcionamiento. En hspice, yo era capaz de producir un archivo de salida con los valores medidos y un conjunto de formas de onda que se trazaron con cosmosscope fácilmente.

Sin embargo, no estoy seguro de cómo hacer esto en ngspice. Aquí hay algo de código SPICE básico:

Transient Response of a Linear Network

** Circuit Description **

* input signal source
Vi 1 0 SIN ( 0V 10V 60Hz )
* linear network
R1      1   2   1Ohm
C1      2   0   2.65mF
Rload   3   0   10Ohm
E1      3   0   2   0   10

** Analysis Request **
* compute transient response of circuit over three full
* periods (50 ms) of the 60 Hz sine-wave input with a 1 ms
* sampling interval
.TRAN 1ms 50ms 0ms 1ms

** Output Request **
* print the output and input time-varying waveforms
.PRINT TRAN V(3) V(1)
* plot the output and input time-varying waveforms
* set the range of the y-axis between -100 and +100 V
.PLOT TRAN V(3) V(1) (-100,+100)

.END

¿Cómo puedo conseguir que ngspice muestre los valores solicitados y los represente gráficamente a la vez?

ACTUALIZACIÓN: Me he familiarizado más con ngspice. Parece que, efectivamente, fue capaz de dar salida a los datos que quería y puede trazar los datos. Sin embargo, tengo que hacer esto por separado con diferentes comandos en el intérprete ngspice. Me pregunto cómo puedo conseguir que ngspice simplemente trace todo y dé salida a todos los datos de una sola vez. Aquí hay una imagen de cómo funciona:

1voto

JP Richardson Puntos 113

Puede poner el comando intérprete entre .control y .endc en el archivo del circuito. De esta forma se ejecutarán junto con la simulación.

PS. Para un trazado y postprocesado más complejo, puedes empezar con datos tabulares de SPICE e introducirlos en gnuplot o Python+numpy+matplotlib.

PS. Ten en cuenta que ngspice está basado en Berkeley Spice 3 (reescrito en C) mientras que la mayoría de los motores SPICE comerciales estaban basados en la 2ª versión (en Fortran). Las diferencias radican principalmente en que ngspice soporta nombres de nodos textuales y funciones matemáticas arbitrarias en fuentes de corriente/tensión dependientes. Esto último a menudo causa dolores de cabeza cuando se intenta utilizar modelos de circuitos integrados proporcionados por el fabricante que utilizan la antigua (y no soportada en ngspice) POLY declaración.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X