シミュレーションの演習
GS17:ヒステリシスのある共振回路
左図は減衰振動電気回路モデルです。記号は次のとおりです。
ここでインダクタンスが空心コイルではなく、磁心コイルの場合どうなるでしょうか。磁心コイルでは磁気ヒステリシスを生じますから、ボンドグラフは図のようになります。ここでHYSはヒステリシスを生じる関数です。
簡単のため、磁気回路断面積は一定で面積Sとします。となります。インダクタンスLは磁束
と電流
との鎖交数と定義されます。磁界の強さHは電流
に比例しますが、磁束密度Bとの間には次の関係があります。
Hに対し、Bは飽和曲線であり、かつ、ヒステリシス曲線となります。モデルとしては左図のようになります。


定式化
ボンドグラフから式に書き下すと次のようになります。あわせてブロック線図も示します。
![]() 強磁性体のB-H曲線のシミュレーションブロック図 |
![]() 代数ループ |
---|
はHが増加するときと、減少するときで異なる2値関数です。すなわち
の符号によりFUNCは切り替えられます。切替時に2つのFUNCが同値であれば問題はありませんが、実際は異なりますから区間
において上に示したブロック線図は上右図の代数ループと等価となります。明らかにこの計算は発散し、計算不可となります。関数切替が代数ループとなるからです。代数ループの回避をしなければこのシミュレーションはできないことになります。BGSPでは計算ができませんので20-Simを使用します。20-Simにおいて代数ループを回避するには方法が2つあります。以下のシミュレーションにおいて説明します。
シミュレーション:方法その1
下図は方法1による場合の20-SimにおけるRUN設定画面です。"Algebraic Relation Solver"という設定コーナーが見えます。ここをクリックしますと、刻みの設定ができます。刻みを細かくすると代数ループ回避の可能性が高くなります。ここではにしました。
20-SimにおけるRUN設定画面
方法1によるシミュレーション結果
シミュレーションの結果を下に示します。[1]p274の図10.19と一致しています
H-B特性を次図に示します。これも[1]p274の図10.19と一致しています
方法2によるシミュレーション
方法2ではdelay関数を利用して代数ループを回避します。下に20-Simのボンドグラフ設定図を示します。このボンドグラフではSwitch、Tableも利用し、さらに要素Iについてはインタフェースの編集を行い、新たなport入力を設けます。切替には要素Iの前にゼロジャンクションを設け、"エフォート+Delay"により切り替えます。Tableブロックの入力はでなくてはなりませんが、これはI要素のインタフェースにstate出力がありますのでこれを利用します。switchブロックの出力をport信号として利用します。

設定画面を次に示します。これは"RUN Property"の設定画面ですが、方法1と異なり、"Algebraic Loop"の設定がありません。ボンドグラフにおいて"Delay"ブロックを利用したため、代数ループが生じなくなったからです。

要素Iのコードは次のようになります。コードをBGS17に示します。方法2の関数表は方法1と同じです。
I parameters real i=1; equations state=int(p.e); p.f=port1 /i;
シミュレーション結果は方法1と同じですので省略します。方法2は文献[1]と同じ考え方に立っていますが、ボンドグラフはかなり違います。TUTSIMについての文献がないので理由はわかりません。