|
|
◆ readgmsh22()
| def readgmsh22 |
( |
fname |
, |
|
|
x |
, |
|
|
y |
, |
|
|
z |
, |
|
|
kc |
, |
|
|
lb |
|
|
) |
| |
Gmshファイルから有限要素法用のメッシュ情報を読み込む
- 目的
- Gmsh形式 (バージョン 2.2) のファイルから有限要素法用のメッシュ情報を読み込む.
・$MeshFormat, $Nodes および $Elements セクションの情報のみ読み取る. その他は読み飛ばす.
・$Elements には領域を構成するメッシュ要素(例えば, 2次元なら3角形要素, 3次元なら4面体要素)の他に, 境界を定義する要素(例えば, 2次元なら直線要素, 3次元なら3角形要素)が含まれる.
・$Nodes および $Elements セクションにおいて, ノード番号とエレメント番号は飛び飛びの値ではいけない. すなわち, それぞれ 1 〜 n, 1 〜 ne の間で重複してはいけない. ただし, 現れる順番は任意でよい.
- 戻り値
- (info, n, ne)
info (int)
= 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り.
= 11: ファイルオープンエラー.
= 13: データフォーマットエラー.
= 14: データ値エラー.
= 15: セクションの並び順のエラー.
= 16: 処理中にファイルの終わりに達した.
n (int)
格子点数.
ne (int)
要素数.
- 引数
-
| [in] | fname | 入力ファイル名. |
| [out] | x | Numpy ndarray (1次元配列, float, n)
格子点の x 座標. |
| [out] | y | Numpy ndarray (1次元配列, float, n)
格子点の y 座標. |
| [out] | z | Numpy ndarray (1次元配列, float, n)
格子点の z 座標. |
| [out] | kc | Numpy ndarray (2次元配列, int32, ldkc x ne) (ldkc = nn + 1 (ただし nn は要素の節点数))
コネクション行列: kc[k, 0] は要素 k のタイプ, kc[k, 1], ..., kc[k, nn] は要素 k の節点を表す.
要素タイプの値は次のとおり.
= 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 | Numpy ndarray (2次元配列, int32, ldlb x ne) (ldlb = nlb + 1 (ただし nlb は要素あたりのラベル数))
要素のラベル番号: lb[k, 0] は要素 k のラベル数, lb[k, 1], ..., lb[k, nlb] は要素 k のラベルを表す. |
|