Spiceの応用解析――微分方程式を解く:SPICEの仕組みとその活用設計(22)(3/4 ページ)
今回は数値計算の代表的なツールであるSpiceの応用解析として、“アナログコンピュータ”を模擬して代表的な微分方程式を解いてみます。
物理現象の解析
ここまでは単なる数学的な関数についてSpiceでもアナログ現象を模擬できることを中心に説明してきましたが、物理現象はこのような単純なものではありません。
実際、アナログコンピュータはその初期は砲弾の弾道計算などに用いられていましたし、デジタルコンピュータの原型と言われるENIACもWikipedia(2015年2月3日17:45時点)によれば「アメリカ陸軍の弾道研究室での砲撃射表の計算向けに設計された」とあるように、弾道計算は当時の最先端技術をつぎ込む重要課題だったようです。
今回は当時をなぞって、ある物体を所定の角度(=Angle)で投げ上げた時の落下の様子を計算してみます。
まず、計算に当っての仮定を次のように設定します。
- 初速度Vで投げ上げられた物体の垂直成分はV・Sin(Angle)です
- 初速度Vで投げ上げられた物体の水平成分はV・Cos(Angle)です
- 垂直方向には-9.8m/s2の加速度が働いています
- 水平方向に風は吹いていません(水平方向の速度変化はありません)
- 質量は1点に集中し、空気抵抗の影響はないものとします(質量分布はδ関数で表現します)
したがって、垂直方向の速度VVは
となります。垂直方向の位置PYはこの速度VVを積分したものですので
です。
一方、X方向については速度VHの低下する要因がありませんので
で一定です。水平方向の位置PXはこの速度VHを積分したものですので
です。
これらの式の実行回路は図5のようになり、投げ上げ角度Angleを30、45、60、75度と変えた時の落下曲線の様子を図6に示しますが教科書通りの曲線が得られました。
ここでは図示しませんが「※1」のように風の影響を考慮すると最大到達距離の角度が45度からズレていく様子も観測することができます。
※1:風が吹いて水平方向に速度変動がある場合は垂直の場合と同様に加速度として演算します。
※2:空気抵抗を考慮する場合は速度(VV,VH)に起因する減速の効果を考慮します。
積分回路について
PSpiceには積分器が装備されていますが、最近注目されているLT-Spiceにはそのようなモデルがありません。
このような場合にはユーザーが自分で作る必要があります。実現する方法としては次の2つの手法があります。
(A)容量への電流ー電圧特性を使う
- 入力端子INの信号をGデバイス(V-I変換)で電流に変換します。
- 変換された電流を容量C1に充電します。
- 容量C1の電圧をEデバイス(V-V変換)で出力信号に変換します。
- 積分器の初期値は.ICコマンドで容量C1の初期電圧を設定します。
この積分器は特殊なデバイスを使用していませんので他のSpiceへの移植性は問題ありません。
注:容量C1自身のプロパティで初期電圧を設定すると過渡解析の設定条件によっては初期化されないケースがあります。
この現象を避けるためには“.ICコマンド”で初期値を設定する必要があります。連載第6回の記事を参考にしてください。
(B)非線形デバイスを使う
多機能な非線形電源BデバイスがSpice3には装備されていますが、関数としてはSin、対数、指数、などに限られています。しかし、一部のSpiceでは拡張機能として微積分機能を備えたツールがあり、代表としてLT-SpiceのBデバイスでの設定例を図8に示します。
文法は次の通りです。
V=idt(信号源、初期値) …13式
ただし、この機能は拡張機能ですので限られたSpiceにしか使用できません。お手持ちのツールの説明書を参考にしてください。
Copyright © ITmedia, Inc. All Rights Reserved.