■Fortran Programs■
ここでちょっと一服しましょう。
有限要素法の勉強は、まだまだ続きますが、いままで貴方が学習したことをプログラム化して(Fortranで)計算してみましょう。
プログラムとして次の 4 つを用意しましたので、どの様に計算が実行されているか観察してみて下さい。
プログラム名 | 近似式 | 重み関数 |
---|---|---|
WRM1X1.FOR | u(x)=φ0(x)+a1φ1(x) | φ1(x) |
WRM1X1H.FOR | u(x)=φ0(x)+a1φ1(x) | 重み関数は別に与える。 |
WRM2X2.FOR | u(x)=φ0(x)+a1φ1(x)+a2φ2(x) | φ1(x)とφ2(x) |
WRM2X2H.FOR | u(x)=φ0(x)+a1φ1(x)+a2φ2(x) | 重み関数は別に与える。 |
■4つのプログラムに共通な項目■
プログラムには、計算する上でキーになる変数が使われています。
それらを下表にまとめてみました。
変数名 | 意味 |
---|---|
N | Gauss-Legendre積分のSammpling点数のこと。 |
ALPHASQ | Helmholtz Eq.のα2のこと。 |
NSEG | 領域の分割数。 積分式をGauss法で計算するために領域を幾つかの数に分割します。 |
DELTAX | 数値微分のΔxのこと。 |
MULTI | Δx=L/(MULTI*NSEG)としている。 |
SAI(I) | Gauss-Legendre積分のξiのこと。 |
W(I) | Gauss-Legendre積分のωiのこと。 |
XST | 積分の下限値のこと。 |
XEN | 積分の上限値のこと。 |
A1 | 近似式のa1のこと。 |
A2 | 近似式のa2のこと。* |
INTE | 与えられた関数 G1 と G2 を用い、積分式をXSTからXENまで計算する。 |
F0(X) | 近似式のφ0(x)のこと。 |
F1(X) | 近似式のφ1(x)のこと。 |
F2(X) | 近似式のφ2(x)のこと。* |
DERIV | 与えられた関数の与えられた点で微分を計算する。 |
F(....) | 積分される関数を計算する。** |
H1(X) | 重み関数を計算する。** |