2−6.常微分方程式のまとめと演習

Hamiltonianが

H = (p2+q2)/2        (a1)

で与えられる1次元調和振動子を数値的に解いてみよう。

運動方程式は

dq/dt - p = 0           (a2)

dp/dt + q = 0           (a3)

        と2つの連立1次常微分方程式で表される。

        それぞれの数値計算アルゴリズムを以下にまとめ、初期条件 [p0, q0] = [1, 0]、 dt=0.1 としたサンプルプログラムを与える。

        《演習》

  1. Euler法のサンプルプログラムを参考にして、Leap-Frog法、Runge-Kutta法、Predictor-Corrector法、Symplectic法 で調和振動子の時間発展を求めよ。それぞれの方法のサンプルプログラムを参考にしてもよい。
     
  2. 各種方法による結果をgnuplotを使ってグラフ化し、比較考察せよ。

    gnuplot
    .....
    gnuplot> set data style lines
    gnuplot> plot 'fort.10' u 1:2           t - p(t) のプロット
    gnuplot> plot 'fort.10' u 1:3           t - q(t) のプロット
    gnuplot> plot 'fort.10' u 1:4           t - e(t) のプロット(eは全エネルギー=保存すべき量であることに注意)
    gnuplot> plot 'fort.10' u 2:3           p(t) - q(t) のパラメトリックプロット(厳密解は(p2+q2)/2=e(0)の円であることに注意)
     
  3. Symplectic法による結果の特徴を考察せよ。影のハミルトニアン

    H' = H + dt/2 pq

    が(十分正確に)保存していることを確認せよ。

     
  4. 4次のRunge-Kutta法[解法のヒント]、及び1次のSymplectic法を用いて以下の非調和振動子の時間発展を求めよ。

    H = p2/2 + q4/4

    初期条件 [p0, q0] = [2n, 0], n=0,1,2,3,... として結果を考察せよ。
     
  5. (アドバンストな自習問題)電場(E)磁場(B)中での電子(質量m、電荷-q)の運動を考える。適当な摩擦(係数g)を取り入れた運動方程式は

    dx/dt = v
    m dv/dt = qv x B - gv + qE

    で与えられる。
    B
    = [0, 0, 1], E = [cos(t), 0, 0], m = q = g = 1
    初期条件 x0 = [0,0,0], v0 = [v0, 0, 0], [0, v0, 0] として結果を考察せよ。

 

        《レポート》

  1. 演習4のプログラムと自分なりに考察したことをメールで以下のアドレスに送ること。

    提出先: ryoichi@r02.mbox.media.kyoto-u.ac.jp
    締切り: 11月9日(火)

    氏名、学籍番号を忘れずに。授業に関する要望・感想があれば遠慮せずに書いてください。

レポート提出者(出した人は番号があるか確認してください):

提出者:

0500-16-3529

0500-15-0173

0500-15-0389

0500-15-0404

0500-15-0647

0500-15-0656

0500-15-0638

0500-15-0807

0500-15-0852

0500-15-1279

0500-15-1528

0500-15-1537

0500-15-1804

0500-15-1921

0500-15-1958

0500-15-1976

0500-15-2033

0500-15-2230

0500-15-2697

0500-15-2991

0500-15-3077

0500-15-3246

0500-15-3255

0500-15-3308

0500-15-3596

0500-15-3676

0500-15-3845

0500-15-3999

0500-15-4191

0500-15-4252

0500-15-4271

0500-15-4539

0500-15-4557

0500-15-4978

0500-15-5142

0500-15-5385

0500-15-6211

0500-15-6220

0500-15-6337

0500-15-6892

0500-15-6991

0500-15-7236

0500-15-7281

0500-15-7451

0500-15-7782

0500-15-8091

0500-15-8233

0500-15-8289

0500-15-8313

0500-15-8725

0500-15-8805

0500-15-8823

0500-15-9179

0500-15-9419

0500-15-9464

0500-15-9473

0500-15-9571

0500-15-9581

0500-15-9689

0500-15-9894

0500-14-0721

0500-14-1030

0500-14-1746

0500-14-1245

0500-14-2350

0500-14-2476

0500-14-2529

0500-14-2645

0500-14-2734

0500-14-2841

0500-13-0420

0500-13-0466

0500-13-1697

0500-13-2326

0500-13-2952

0500-11-2154

0500-11-3071

6100-15-2893

6100-14-1218

[2004.11.10, 22:30]

*受け取りの確認の意味で番号(なければ名前)を載せています。掲載を希望しない人があれば対応しますので、レポート毎にメールに希望を記載してください。