Oli が正解しましたが、I(element_name) は商用 SPICE バージョンにのみ追加された拡張機能です。
ngspice (Berkeley Spice 3 に基づく) では、(独立した) 電圧源を通る電流のみをプロットできます。これらは、SPICE が機能する回路方程式に現れる唯一の電流です。
インタラクティブな Spice セッションまたはスクリプトの特別なブロックから (この質問も参照)、 (v(1)-v(2))/1k
のような式を使用できます。 電流がノード 1 と 2 の間の 1kΩ 抵抗を通過する場合。リアクタンス要素 (1μF コンデンサなど) の場合、(v(1) - v(2))/(2*pi*frequency*1u)
のようなもの も動作するはずです。
私は ngspice を使用していません (私は LTSpice を使用していますが、ほとんどすべての SPICE が元のバークレー構文に基づいており、同様に機能することを理解しています)。 コンポーネントまたはKirchoff の第 1 法則によると、ノードではなくトランジスタのベース (ある点で交わる電流の合計はゼロ)
編集 - jpc が指摘したように、ngspice (およびおそらく他のほとんどの非商用/初期のバリアント) の場合、電圧源を介してのみ電流をプロットできるため、状況はわずかに異なります。そのため、対象の回路のレッグに 0V ソースを追加し、これを流れる電流をプロットする必要があります。以下に例を追加しました。
したがって、電圧源 (V1) を持つ抵抗 (R1) で構成される単純な回路がある場合 (私はネットリストの専門家ではないので、大まかな例として取り上げます):
V1 1 0 5
R1 1 0 1000
(1、0 はノード、5 (V) と 1000 (オーム) はそれぞれの値)
I(1) ではなく、I(R1) または I(V1) で電流をプロットできます。ただし、電圧の V(1) をプロットすることはできます。
NGSPICE バージョン (テストおよび確認済み)
V1 1 0 5
R1 1 2 1000Vダミー 2 0 0
Vdummy は抵抗器と直列に接続されているため、同じ電流が流れる必要があることに注意してください。したがって、R1 の電流をプロットするには、I(Vdummy) と書きます。より複雑な回路については、同じ条件が適用されることを確認するだけです.
以下は LTspice の「実際の」例です:
ネットリスト
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μF
R3 N004 0 3K9
R4 N002 0 22K
C1 N002 SIG 100µF
サーキットの写真
プロット オプション
(I(n001)、I(n002)などがないことに注意してください)
電流をプロットできますが、シミュレーションを実行する前に知りたい電流を知る必要があります。
例えばダイオード D1 があり、それを流れる電流をプロットしたい場合、次のことができます。
.save @d1[id]
.tran <slice> <end>
.plot tran @d1[id]
詳細は、http://ngspice.sourceforge.net/docs/ngspice-manual.pdf の ngspice マニュアルの 519 ページ (第 31 章) にあります