|
|
◆ ReadGmsh22()
| Sub ReadGmsh22 |
( |
FName As |
String, |
|
|
N As |
Long, |
|
|
X() As |
Double, |
|
|
Y() As |
Double, |
|
|
Z() As |
Double, |
|
|
Ne As |
Long, |
|
|
Kc() As |
Long, |
|
|
Lb() As |
Long, |
|
|
Info As |
Long |
|
) |
| |
Gmsh ファイル (Version 2.2) から有限要素法用のメッシュ情報を読み込む [実験バージョン]
- 目的
- Gmsh形式 (バージョン 2.2) のファイルから有限要素法用のメッシュ情報を読み込む.
・$MeshFormat, $Nodes および $Elements セクションの情報のみ読み取る. その他は読み飛ばす.
・$Elements には領域を構成するメッシュ要素(例えば, 2次元なら3角形要素, 3次元なら4面体要素)の他に, 境界を定義する要素(例えば, 2次元なら直線要素, 3次元なら3角形要素)が含まれる.
・$Nodes および $Elements セクションにおいて, ノード番号とエレメント番号は飛び飛びの値ではいけない. すなわち, それぞれ 1 〜 n, 1 〜 ne の間で重複してはいけない. ただし, 現れる順番は任意でよい.
- 引数
-
| [in] | Fname | 入力ファイル名. |
| [out] | N | 格子点数. |
| [out] | X() | 配列 X(LX - 1) (LX >= N)
格子点の X 座標. |
| [out] | Y() | 配列 Y(LY - 1) (LY >= N)
格子点の Y 座標. |
| [out] | Z() | 配列 Z(LZ - 1) (LZ >= N)
格子点の Z 座標. |
| [out] | Ne | 要素数 (境界を定義する要素を含む). |
| [out] | Kc() | 配列 Kc(LKc1 - 1, LKc2 - 1) (LKc1 >= Nn + 1, LKc2 >= Ne)
コネクション行列: Kc(0, K-1) は要素 K のタイプ, Kc(1, K-1), ..., Kc(Nn, K-1) は要素 K の節点を表す (Nn は要素中の節点数).
要素タイプの値は次のとおり.
= 1: 2節点直線.
= 2: 3節点3角形.
= 3: 4節点4角形.
= 4: 4節点4面体.
= 5: 8節点6面体.
= 6: 6節点プリズム.
= 7: 5節点ピラミッド.
= 8: 3節点2次線要素.
= 9: 6節点2次3角形.
= 10: 9節点2次4角形.
= 11: 10節点2次4面体.
= 12: 27節点2次6面体.
= 13: 18節点2次プリズム.
= 14: 14節点2次ピラミッド.
= 15: 1節点点要素.
= 16: 8節点2次4角形.
= 17: 20節点2次6面体.
= 18: 15節点2次プリズム.
= 19: 13節点2次ピラミッド.
= 20: 9節点3次不完全3角形.
= 21: 10節点3次3角形.
= 22: 12節点4次不完全3角形.
= 23: 15節点4次3角形.
= 24: 15節点5次不完全3角形.
= 25: 21節点5次3角形.
= 26: 4節点3次エッジ.
= 27: 5節点4次エッジ.
= 28: 6節点5次エッジ.
= 29: 20節点3次4面体.
= 30: 35節点4次4面体.
= 31: 56節点5次4面体.
= 92: 64節点3次6面体.
= 93: 125節点4次6面体. |
| [out] | Lb() | 配列 Lb(LLb1 - 1, LLb2 - 1) (LLb1 >= Nlb, LLb2 >= Ne)
要素のラベル番号: Lb(0, K-1) は要素 K のラベル数(= Nlb), Lb(1, K-1), ..., Lb(Nlb, K-1) は要素 K のラベルを表す.
|
| [out] | Info | リターンコード.
= 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り.
= 11: ファイルオープンエラー.
= 13: データフォーマットエラー.
= 14: データ値エラー.
= 15: セクションの並び順のエラー.
= 16: 処理中にファイルの終わりに達した. |
|