GNU/Linux >> Linux の 問題 >  >> Linux

ngspiceで電流をプロットするには?

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 章) にあります


Linux
  1. シェル コマンドを使用して mysql データベースを削除する方法

  2. FFMPEG の現在のバージョンを確認する方法

  3. 現在の CPUPower ガバナーを取得する方法

  1. cPanelを介してウェブメールにアクセスする方法

  2. Linux –現在のプロセスでネットワークの共有を解除する方法は?

  3. フォルダのコンテンツを現在のフォルダに移動する方法は?

  1. Ssh – Sshを使用して別のPCを介してPCに接続する方法は?

  2. CentOS / RHEL 6 :現在のランレベルを確認するにはどうすればよいですか?

  3. スクリプトを使用して crontab を作成する方法