第8回レポート(6/18出題)

この課題は2週間後までに提出してください。 次週は新たな課題を出しません。

初心者向け

今回はCではvoid型関数、FORTRANではサブルーチンの使い方の 続きをやる。 第一課題の「今週のプログラム」は行列計算だが、レポートの第二課題は 先週に引き続いて、ニュートンの運動方程式を解く。 これは経験者向けの第6回課題と同じである。
  1. 例によって 初心者のための今週のプログラムの 第八回分を読んで、プログラムを入力し、実行してみる。
    (1)実行結果(2)気づいたこと(3)難しかった点・疑問点(4)感想
    等をレポートする。
  2. 先週は調和振動子をRunge-Kutta法とleap-frog法で解くプログラムを作った。 今週は、それを少し書き直して、 重力場中の単振り子の運動方程式を解いてみよう。 どちらの方法で計算してもかまわない。

    糸ではなく、硬い棒が支点から ぶらさがっている状況を考える。支点はぐるぐる回れるとしておく(天井に当たる とかは気にしない)。 角度を力学変数にすれば、一自由度の運動方程式になるので、 書き換えはそれほどの手間ではない。 せっかくの数値計算なので、話を微小振動だけに限る必要はない。 初速度を0として、いろいろな角度から振り子を振らせてみる。

    データをプロットするなり、数値を眺めるなりして、振り子の周期を求めよう (目で見て決められる程度でよい) 等時性が成り立つのは、振幅が小さい時だけだから、角度が大きくなるにつれて 周期が変化するはずである。 角度に対して周期をプロットして、これを確かめてみよう。

プログラミング経験者向け(すべて、プログラムと実行結果を提出)

  1. Schroedinger方程式の計算プログラムに挑戦する。 最終目標はCrank-Nicholson法またはTrotter分解(Checker Board分解) の方法を用いてGauss型波束の一次元ポテンシャル透過を計算することである。 計算方法はどちらを用いてもよい。

    いきなりそれに挑戦してもよいし、とりあえずもっと易しい問題 を設定してもかまわない(たとえば、 ポテンシャルなしの場合にGauss波束をEuler法で 動かしてみる、など)

    注意点は空間の差分化と複素数の扱いで、それぞれ工夫すること。 適当な初期波束を作り (ここは少々手計算が必要だろう。Gauss波束について思い出す必要あり)、 時間発展をさせてみる。 実部と虚部それぞれの時間変化、および確率分布の時間変化をグラフに してみよう。