上の式のρω2が今回の固有値になります。 後は、音響解析のsoundeigenvalueで説明した通りにプログラムを書けばLanczos法による固有値を計算ができます。 ここでは、基本の解析ソフトとしてEIGENLANCZOS_SOLID3-JACOBS.FORを作りました。 その他にも、Bisection法を組み込んだソフトも作成しました。これについては、後で説明します。 このプログラムですが、上式の積分を行う部分を除くと、音響解析のLANCZOS-SOUND10-JACOB-VT.FORとまったく同じです。基本的に上の式まで導出できれば後は簡単に固有値を得るプログラムを完成することができます。
では早速何か計算してみましょう。その前に、プログラムの説明をしておきます。
■プログラム: EIGENLANCZOS_SOLID3-JACOBS.FOR■
まず、プログラムの構成を説明するために、本プログラムで使われているサブプログラム群とそれらの引数を下に
記しておきます。しかし、ここで新しく作成したサブプログラムはありません。このプログラムは以前紹介した3次元弾性解析の3DSTATIC8QF8COMBINE.FORまたは3DSTATIC8QF27COMBINE.FORと音響解析のLANCZOS-SOUND10-JACOB-VT.FORを合体させて作りました。
やったことは、サブプログラムの引数の整合性を合わすことでした。下のサブプログラムですが、名前と引数が以前紹介したのとまったく同じものはオミットしました。
Subroutine名 | 与える 変数 |
送り返す 変数 |
役割/目的 |
---|---|---|---|
ISOPARA | ND,E1,E2,E3 | F | 形状関数の値を座標(E1,E2,E3)で計算する 8節点1次ヘキサと27節点2次ヘキサの両方 が使えるようになっている |
INPUT | ND MXE MXN MXENGN MXBA INPFILE |
DELTA,DENSITY YOUNG,POISSON NE,NNODE NEIGEN,NODEX XCOORD,NBF IBNDF |
計算に必要なデータを入力ファイルから読み取る。 更にデータのチェックも行う |
GSM | VISCO,FLMDA,MXE MXN,MXNA,MXWA INTEPT,ND,BPP,SF WT,NE NNODE,NBWA,XCOORD NODEX,A,BX,SS,SK |
GSMTX GEOM |
[K]と[M]マトリクスを作るための積分を行う |
FROM | MXNA,MXBA,MXWA NBWA,NBF,IBNDF,1.D0 |
GSMTX GEOM |
[K]と[M]マトリクスにDirichlet型境界条件をはめ込む |
SUMUP | DELTA,MXNA,MXWA NNODE,GSMTX,GEOM DENSITY |
GSMTX GEOM |
[K]と[M]マトリクスを作成した後、[K]=[K]-δ[M]を計算する |
EIGENVEC | MXN,MXENGN,DELTA NNODE,GEOM,SUBSMTX VEC,EPS,NEIGEN MAXITA,DENSITY |
FLMBDA SUBSVEC VEC1 |
固有値と部分空間での固有ベクトルを計算する |
CONVRGNC | DELTA,DENSITY,ND MXE,MXN,MXNA MXWA,MXENGN,NE,NNODE NBWA,GSMTX,V1,VEC1 FLMBDA,GEOM,SS,NODEX NEIGEN,OUTFILE,EPSPLT XCOORD |
なし | 実空間での固有ベクトル{x}を計算した後 [K]{x}=λ[M]{x}の収束状況を調べる。 未知数が3つ用に書き換えた |
SORTING | NNODE,MXN,MXENGN NEIGEN,FLAMBDA EIGENVEC |
FLAMBDA EIGENVEC |
固有値を並び替える 未知数が3つ用に書き換えた |
EXCEL | MXNA,MXENGN,OUTFILE NNODE,VEC1,IEIGN |
なし | モード別に実空間の固有ベクトルをファイルに書き込む |
今回のソフトで新たに増えた変数名について説明しておきます。 また、固有値の計算で出てくる変数名については、 音響解析を見て下さい。
変数名 | 意味 |
---|---|
DENSITY | 材料の密度(ρ) |
YOUNG | ヤング係数(E) |
POISSON | ポアソン比(ν) |
NBF | Dirichlet境界条件が与えられている節点数(x,y,z軸の合計) |
IBNDF | Dirichlet境界条件が与えられている節点番号(x,y,z軸の合計) |
MXNA | ディメンション用の変数名でMXNの3倍の値。MXNは最大節点数 |
MXBA | ディメンション用の変数名でMXBの3倍の値。MXBはDirichlet境界条件が与えられる最大節点数 |
MXWA | ディメンション用の変数名でMXWの3倍の値。MXWは最大バンド幅数 |
NBWA | NBWの3倍の値。NBWは読み込んだデータのバンド幅 |
VISCO | せん断弾性係数(G): G=E/(2(1+ν)) |
FLMDA | (λ): λ=Eν/((1+ν)(1-2ν)) |
では、早速何か計算してみましょう。ただし、複雑な形状は要素分割に時間が掛かりますので、簡単なビームを取り上げようと考えています。
BACK | NEXT |
---|
Menu | LU Decompo | Stiff | 3D Solid | 3D Fluid | Eigen&Lanczos | Sound Eigen | Solid Eigen | Solid Axisym |