■プログラムの紹介■
Iso-parametric 要素を使った2次元Laplace Equationを解くプログラムを紹介します。
これまで、紹介してきた有限要素法のプログラムでは、有限要素式の積分に数値計算は使われていませんでした。これから紹介するプログラムには、Gauss-Legendre積分法が[N]T[N]と[B]T[B]の積分に使われます。更に、形状関数の微分に差分法が使われています。
Gauss-Legendre積分法と微分計算を除けば、プログラムの構成は、FEM3Q.FORと同じです。
■4-Noded要素のFEM4Q.FORの紹介■
それでは、早速、 4-Noded Iso-parametric 要素を使ったプログラムFEM4Q.FORから紹介します。
まず、最初に、新しく導入されている変数名を紹介します。つまり、FEM3Q.FORになかった変数名のことです。下表を見て下さい。
変数名 | TYPE | 意味/説明 |
---|---|---|
ND | 整数 | 要素当たりの節点数を意味します。 |
INTEPT | 整数 | Gauss-Legendre積分法のSampling Points数 |
SAI(I) | 実数 | Gauss-Legendre積分法のSampling Pointsの座標値(1次元配列) |
W(I) | 実数 | Gauss-Legendre積分法のSampling点の重み値(1次元配列) |
BPP(I,J,K,L) | 実数 | 詳細は、下表を見て下さい。(4次元配列) |
次に、プログラムFEM4Q.FORで、新しく加わったSubroutineの紹介とそれらの役割を、下表で説明します。これらは、Iso-parametric 要素を、プログラムで使える様にするために必要なSubroutineです。
Subroutine名 | 引数 | Return 変数 | 役割/目的 |
---|---|---|---|
GRULE | INTEPT SAI W | SAI W | INTEPTの数値に従い、Gauss-Legendre積分法のSampling点の座標値と重み値をMainへ返します。 |
DERIV | ND INTEPT X Y SAI BPP | BPP | 各形状関数の各Gauss-Legendre積分法のSampling点でのξとηに対する微分値を計算し、BPP(I,J,K,L)に格納します。IndexのIはξかηを、Jは形状関数の番号を、KとLはGauss-Legendre積分法のSampling Pointsの位置を意味します。 |
ISOPARA | ND E1 E2 F | F | 無次元座標値((E1,E2)=(ξ,η))に従い、形状関数の値(F(I))を計算します。このSubroutineは、Subroutine DERIVからcallされます。 |
BACK to 3-Dim | NEXT |
---|
Menu | 4-noded | Create | 8-noded | 9-noded | 12-noded | 3-Dim | Example | Helmholtz |