連載
» 2013年12月10日 11時45分 UPDATE

SPICEの仕組みとその活用設計(7):解析実行エラーの原因と対策(その2) (1/3)

第6回では、SPICE解析を行う際に問題になる「収束エラー」のうち、「回路の特性」を原因とするものについて説明した。第7回では、「理想化の問題」と「解析設定条件」に起因する収束エラーとその対策について解説する。

[加藤博二(Sifoen),MONOist]
SPICEの仕組みとその活用設計

 前回は、解析実行時に発生する「収束エラー」のうち、「回路の特性」を原因とするものについて解説しました。今回はそれに引き続き、「理想化の問題」と「解析設定条件」に起因する収束エラーについて説明していきます。


理想化の問題を原因とする収束エラー

図1 図1 Lに電流変化を与える

 例えば、図1のようにインダクタに電流i1をt=0で与えることを考えます。

 図1の回路の計算は連載第5回の手順に従い、コンダクタンスG1の有無によって次のようになります(v1は節点1の電圧、ΔTは刻み時間)。


G1なしの場合

式(1)

 この式からv1を求めると

式(2)

となります。

 式(2)を見ると、v1は刻み時間ΔTに反比例することが分かります。SPICEは精度を保証するため安定値を求めようとして数値計算の原理に従い自動で刻み時間ΔTを順次縮小させますが*1)、この作用は正帰還となって刻み時間の下限に達してしまうのです。つまり、v1はどうしても異常電圧になってしまうのです。

*1)SPICEは結果の変化幅も管理しており、変化幅が大きい時は刻み時間を短くして変化幅を抑制します(連載第4回の過渡解析の記事も参照してください)。

 それでも図1の構成ならSPICEはGMIN*2)の助けを借りて解くことができるのですが、実際の回路においてはこの異常電圧の影響で他の素子の動作点が計算の都度大幅に変化して安定値を得られなくなることがあるのです。

*2)GMINについては「解析設定条件を原因とする収束エラー」の項で説明します。

 表1に実際のエラーメッセージの例を示しますが、「時間刻みが規定値の
100E-18(秒)を下回っても回路が安定していないこと」、「節点$N_0007の電圧が62万Vと異常に高いこと」が分かりますので、この節点電圧を中心に、「異常電圧を発生させない」、「異常電流を流さない」といった対策を取ることになります。

表1 表1 収束エラーのメッセージ例(表組みは筆者が作成)(クリックで拡大)

G1がある場合

 対策としてしばしば用いられる、インダクタに並列抵抗を与えた場合を考えます。計算式は(3)と(4)です。

式(3)

式(4)

 ここでR1=1/G1です。

 式(2)との違いは、ΔT→0としてもv1=R1×i1なる安定電圧があり、節点電圧がΔTとは無関係に安定化されることです。このため、順次ΔTを短縮していくと節点1の電圧v1は安定値(=R1×i1)に漸近していきます。

 加えて回路のQ*3)も低下して共振も抑制されるので、回路の安定動作点を得やすくなるのです。

*3)Qとは共振の鋭さを表す指数であり、大きいほど一度発生した振動が減衰しないことを表します。

       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.