■Program: BEM8QUDQ.FOR■
Program: BEM8QUDQ.FOR は、2次要素を使ってLaplace 式を解くプログラムです。プログラムの構成については、1次要素のBEM8LINQ.FOR とほぼ同じです。大きく違う点は、G(x,ξ) の積分です。
前のページでも説明しましたが、境界要素法の場合、G(x,ξ) の積分の善し悪しが、解析精度を左右します。そこで、BEM8QUDQ.FOR では、要素が曲線でSource point を含む場合、要素の積分区間(-1, +1)を6分割しています。もちろん、分割数は、任意に設定できます。分割する積分範囲の座標を下表に示します。
Observation point の位置 | 分割の上限値と下限値を表す座標値 | ||||||
---|---|---|---|---|---|---|---|
η1 | η2 | η3 | η4 | η5 | η6 | η7 | |
η=-1 | -1 | -0.95 | -0.85 | -0.7 | -0.5 | 0 | 1 |
η=0 | -1 | -0.2 | -0.05 | 0 | 0.05 | 0.2 | 1 |
η=+1 | -1 | 0 | 0.5 | 0.7 | 0.85 | 0.95 | 1 |
上の表の数値について、もう少し追加説明しておきましょう。Source point の位置が η=-1 である場合、最初の積分区間は、-1 から -0.98 、そして、次の区間は、 -0.98 から -0.85 になります。
Source point を含まない要素の積分についても、分割積分法が使ってあります。しかし、精度の向上には、寄与していない様です。つまり、荒っぽい積分でも良い精度が出ているということですね。
数値積分には、 loge(1/x) f(x) の型に限定した方法があります。ここで紹介している2次元Laplace 式の境界要素法には、最適な数値積分の方法といえるでしょう。積分区間は、(0, +1) ですので、BEM8LINQ.FOR や BEM8QUDQ.FOR に埋め込むには、多少の努力が必要になります。これは、貴方への宿題にしておきましょうか。
次のセックッションでは、BEM8LINQ.FOR や BEM8QUDQ.FOR を使った例題を紹介します。
BACK | NEXT |
---|
Menu | Linear | Corner | Mixedform | Parabolic | Example |