GNU/Linux >> Znalost Linux >  >> Linux

Jak vykreslit proud v ngspice?

Oli odpověděl správně, ale I(element_name) je rozšíření přidané pouze do komerčních verzí SPICE.

V ngspice (který je založen na Berkeley Spice 3) můžete vykreslit pouze proudy přes (nezávislé) zdroje napětí. Toto jsou jediné proudy, které se objevují v obvodových rovnicích, ze kterých SPICE pracuje.

V interaktivní relaci Spice nebo ze speciálního bloku ve skriptu (viz také tato otázka) můžete použít výrazy jako (v(1)-v(2))/1k když proud prochází odporem 1kΩ mezi uzly 1 a 2. Pro reaktivní prvky (jako kondenzátor 1μF) něco jako (v(1) - v(2))/(2*pi*frequency*1u) by také mělo fungovat.


Nepoužil jsem ngspice (používám LTSpice, ale z toho, co jsem pochopil, jsou skoro všechny SPICE založeny na původní syntaxi Berkeley a fungují podobně), ale obvykle vykreslíte aktuální přes součást nebo do např. podle prvního Kirchoffova zákona (součet proudů setkávajících se v bodě je nulový)

EDIT - jak upozornil jpc, pro ngspice (a pravděpodobně většinu ostatních nekomerčních/raných variant) jsou věci mírně odlišné, protože můžete vykreslit pouze proudy přes zdroj napětí. Takže by bylo potřeba přidat 0V zdroj do větve okruhu zájmu a vykreslit proud skrz něj. Níže jsem přidal příklad.

Takže pokud máte jednoduchý obvod skládající se z rezistoru (R1) se zdrojem napětí (V1) přes něj (nejsem odborník na netlist, takže vezměte jako hrubý příklad):

V1 1 0 5

R1 1 0 1000

(1, 0 jsou uzly, 5 (V) a 1000 (Ohm) jsou příslušné hodnoty)

Můžete buď vykreslit proud pomocí I(R1), nebo I(V1), nikoli I(1). Můžete však vykreslit V(1) pro napětí.

Verze NGSPICE (testováno a potvrzeno)

V1 1 0 5
R1 1 2 1000V figurína 2 0 0

Všimněte si, že Vdummy je v sérii s rezistorem, takže jím musí protékat stejný proud. Pro vykreslení proudu pro R1 tedy napíšeme I(Vdummy). U složitějšího obvodu se jen ujistíme, že platí stejné podmínky.

Zde je "skutečný" příklad z LTspice:

NETLIST

V1 V+ 0 24 Rser=0
V2 SIG 0 SINE(-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 uF
R3 N004 0 3K9
R4 N002 0 22K
C1 N002 SIG 100µF

OBRÁZEK ​​OBVODU

MOŽNOSTI PLNĚNÍ

(Všimněte si, že neexistuje žádné I(n001), I(n002 atd.)


Můžete vykreslit proudy, ale před spuštěním simulace musíte vědět, o kterých proudech chcete vědět.

např. Pokud jste měli diodu D1 a chtěli byste vykreslit proud přes ni, můžete:

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

Více informací je na straně 519 (kapitola 31) příručky ngspice na http://ngspice.sourceforge.net/docs/ngspice-manual.pdf


Linux
  1. Jak získat přístup k webové poště přes cPanel

  2. Linux – Jak zrušit sdílení sítě pro aktuální proces?

  3. CentOS / RHEL 6 :Jak zjistím svou aktuální úroveň běhu?

  1. Jak vytvořím crontab pomocí skriptu

  2. Jak zkontrolovat mou aktuální verzi FFMPEG

  3. Jak správně spustit top příkaz přes SSH?

  1. Ssh – Jak se připojit k počítači přes jiný počítač pomocí Ssh?

  2. Jak přesunout obsah složky do aktuální složky?

  3. Jak získat aktuální CPUPower Governor