力学演習II 数値計算(3): 強制振動
2000-11-22
注意!
演習室のプリンタの用紙やトナーには限りがあります。
必要以上にたくさん印刷することは避けてください。
特に、WWWの文書(この文書を含む)は、
なるべくオンラインで見るようにしてもらえると助かります。
数値計算プログラムの高精度化
数値計算にEuler法をそのまま使うと、
dtをものすごく細かくしない限り、
大きな誤差を生じてしまう。
しかし、数値計算法を工夫すれば、精度は劇的に向上する。
たとえば、単振動の方程式
 |
(1) |
を 2次の方法(改良Euler法またはHeun法)で解く場合、
dt=0.1とか
dt=0.05程度の刻みで
10周期分計算しても、0.1%程度の誤差しか生じない。
計算結果を位相空間内の軌跡として図示すると、
ほとんど完全に閉じた曲線が得られる。
強制振動子の運動方程式
質量
の質点が、
次の3種類の力を受けて、1次元的に運動しているとする:
- バネからの力
- 速度に比例する抵抗力
- 強制振動を生じる外力
この場合、質点の運動方程式は
すなわち
 |
(2) |
となる。
方程式(2)を
適当に無次元化すると、
次のような形に書きなおすことができる:
 |
(3) |
この方程式は、
と
という
2つの無次元パラメータを含んでいる。
実験や数値計算の結果を比較する場合には、
無次元パラメータ(今の例では
と
)が
同じであれば、
たとえ
や
が
異なったとしても
``同じ実験条件''と見なすことができる(したがって、たとえば、
減衰が大きいか小さいかを論じる際には、
の大小よりも
の大小で考えるのが正しい)。
なお、本当は初期条件まで合わせてはじめて``同じ実験条件''となるのだが、
初期条件の影響が時間とともに減衰して消え去るような場合には、
初期条件の違いは重要ではない。
練習
- 式(1)を解く数値計算プログラムを
高精度化せよ。
比較的粗い刻み(dt=0.1とかdt=0.05程度)で
10周期分の数値計算をおこない、
位相空間内で完全に閉じた軌跡が得られることを示せ。
- 外力型強制振動の運動方程式(2)を
無次元化し、式(3)を導け。
ちなみに、式(3)を
式(1)と
同様の形に書き直すと
のようになる(ただし
を省略した)。
右辺が
を
含まないようにするためには、
式(1)とは違って
変数が3つ必要になることに注意してほしい。
つまり、強制振動の位相空間は3次元である。
- 運動方程式(3)で
減衰がない場合(
)を考える。
外力の振動数
を、
ちょうど共振が起きるような値に設定し、
解
を数値計算で求めて、
の関数として
図示せよ。
初期条件は10月の課題[1]と同じとする。
また、同じ条件に対する解を手計算で求め、
数値計算の結果と一致することをグラフにより確認せよ。
以上の課題を、あさって(24日)の夕方までに提出せよ。
12月の課題
- 外力の振動数
の値を、
ちょうど
で
共振が起きるような値に設定する。
微小な減衰(
)が存在する場合について、
系が定常状態に達するまで数値計算をおこない、
解を
の関数として図示せよ。
この結果を、
の場合と比較せよ。
なお、初期条件は好きなように選んでよい。
- 減衰の大きさを
とする。
外力の振動数
の値を
さまざまに変えて数値計算をおこない、
横軸に
,
縦軸に定常応答の振幅をとってグラフにまとめよ。
また、定常振幅と
のあいだの関係式を理論的に求め、
数値計算の結果と一致することを確認せよ。
- 減衰を
として、課題[2]と同様に
さまざまな
に対する定常応答振幅を求め、
理論と比較せよ。
これらの課題をレポートにまとめ、
12月18日の朝までに 事務室前のレポート箱に提出すること。
[力学演習のページに戻る]