GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo trazar la corriente en ngspice?

Oli dio una respuesta correcta pero I(element_name) es una extensión agregada solo a las versiones comerciales de SPICE.

En ngspice (que se basa en Berkeley Spice 3) solo puede trazar corrientes a través de fuentes de voltaje (independientes). Estas son las únicas corrientes que aparecen en las ecuaciones del circuito con las que trabaja SPICE.

En una sesión de Spice interactiva o desde un bloque especial en el script (vea también esta pregunta) puede usar expresiones como (v(1)-v(2))/1k cuando la corriente pasa por una resistencia de 1 kΩ entre los nodos 1 y 2. Para elementos reactivos (como un condensador de 1 μF), algo así como (v(1) - v(2))/(2*pi*frequency*1u) también debería funcionar.


No he usado ngspice (uso LTSpice, pero por lo que entiendo, casi todas las SPICE se basan en la sintaxis original de Berkeley y funcionan de manera similar), pero generalmente trazas el actual hasta un componente o en, p. base de un transistor, en lugar de en un nodo, según la primera ley de Kirchoff (la suma de las corrientes que se encuentran en un punto es cero)

EDITAR:como señaló jpc, para ngspice (y probablemente la mayoría de las otras variantes no comerciales / tempranas) las cosas son ligeramente diferentes, ya que solo puede trazar corrientes a través de una fuente de voltaje. Entonces, uno tendría que agregar una fuente de 0V en el tramo del circuito de interés y trazar la corriente a través de esto. He añadido un ejemplo a continuación.

Entonces, si tiene un circuito simple que consta de una resistencia (R1) con una fuente de voltaje (V1) a través de él (no soy un experto en la lista de conexiones, así que tome como ejemplo aproximado):

V1 1 0 5

R1 1 0 1000

(1, 0 son los nodos, 5 (V) y 1000 (Ohms) son los valores respectivos)

Puede trazar la corriente con I (R1) o I (V1), no I (1). Sin embargo, podría trazar V(1) para el voltaje.

Versión NGSPICE (probado y confirmado)

V1 1 0 5
R1 1 2 1000V ficticio 2 0 0

Tenga en cuenta que Vdummy está en serie con la resistencia, por lo que debe fluir la misma corriente a través de ella. Entonces, para trazar la corriente para R1, escribimos I (Vdummy). Para un circuito más complejo, solo nos aseguramos de que se apliquen las mismas condiciones.

Aquí hay un ejemplo "real" de LTspice:

LISTA DE RED

V1 V+ 0 24 Rser=0
V2 SIG 0 SENO(-1.4563 1m 1000 0 0 0 0) AC 2 Rser=0
V3 V- 0 -24
Q1 N001 N002 N003 0 2N2222
R1 V+ N001 1f
R2 N003 V-2K7
C2 N004 N003 100 µF
R3 N004 0 3K9
R4 N002 0 22K
C1 N002 SIG 100 µF

FOTO DEL CIRCUITO

OPCIONES DE PARCELA

(Tenga en cuenta que no hay I(n001), I(n002), etc.)


Puede trazar corrientes, pero necesita saber qué corrientes desea conocer antes de ejecutar su simulación.

p.ej. Si tuviera un diodo D1 y quisiera trazar la corriente a través de él, podría:

.save @d1[id]
.tran <slice> <end>
.plot tran @d1[id]

Hay más información en la página 519 (Capítulo 31) del manual de ngspice en http://ngspice.sourceforge.net/docs/ngspice-manual.pdf


Linux
  1. Cómo acceder al correo web a través de cPanel

  2. Ssh:¿cómo conectarse a una PC a través de otra PC usando Ssh?

  3. ¿Cómo mover el contenido de una carpeta a la carpeta actual?

  4. ¿Cómo ejecutar correctamente el comando superior a través de SSH?

  5. Cómo obtener el gobernador actual de CPUPower

Cómo instalar Minecraft en Ubuntu

¿Cómo importar una base de datos a través de phpMyAdmin?

Cómo revisar el correo electrónico a través de Webmail

Cómo instalar ClipBucket a través de cPanel

cómo trazar stdin desde la terminal?

¿Cómo debo determinar la utilización actual de la red?