|
|
◆ readmesh()
| void readmesh |
( |
char * |
fname, |
|
|
int * |
ndim, |
|
|
int * |
n, |
|
|
double |
x[], |
|
|
double |
y[], |
|
|
double |
z[], |
|
|
int |
ln[], |
|
|
int * |
ne, |
|
|
int |
ldkc, |
|
|
int |
kc[], |
|
|
int |
le[], |
|
|
int * |
nb, |
|
|
int |
ldks, |
|
|
int |
ks[], |
|
|
int |
lb[], |
|
|
int * |
info |
|
) |
| |
FreeFEM++ mesh ファイルから有限要素法用のメッシュ情報を読み込む
- 目的
- FreeFEM++ mesh (MEDIT) 形式のファイルから有限要素法用のメッシュ情報を読み込む.
ただし, 以下のキーワードの情報のみを読み込む. これら以外はエラーになる.
MeshVersionFormatted (= 2), Dimension (= 2 または 3), Vertices, Edges, Triangles, Quadrilaterals, Tetrahedra, Hexaedra.
- 引数
-
| [in] | fname | 入力ファイル名. |
| [out] | ndim | 次元数 (2 または 3). |
| [out] | n | 格子点数. |
| [out] | x[] | 配列 x[lx] (lx >= *n)
格子点の x 座標. |
| [out] | y[] | 配列 y[ly] (ly >= *n)
格子点の y 座標. |
| [out] | z[] | 配列 z[lz] (lz >= *n)
格子点の z 座標. |
| [out] | ln[] | 配列 ln[lln] (lln >= *n)
各格子点のラベル番号. |
| [out] | ne | 要素数. |
| [in] | ldkc | 配列 kc[] の整合寸法. (ldkc >= ns + 1 (ただし, ns は各要素の節点数)) |
| [out] | kc[] | 配列 kc[ldkc*lkc] (lkc >= *ne)
コネクション行列: kc[ldkc*(k-1)] は要素 k のタイプ, kc[ldkc*(k-1) + 1], ..., kc[ldkc*(k-1) + ns] は要素 k の節点を表す.
要素タイプの値は次のとおり.
= 2: 3節点3角形.
= 3: 4節点4角形.
= 4: 4節点4面体.
= 5: 8節点6面体. |
| [out] | le[] | 配列 le[lle] (lle >= *ne)
要素のラベル番号. |
| [out] | nb | 境界を定義する要素数. |
| [in] | ldks | 配列 ks[] の整合寸法. (ldks >= nsb + 1 (ただし, nsb は各境界要素の節点数)) |
| [out] | ks[] | 配列 ks[ldks*lks] (lks >= *nb)
境界要素のコネクション行列: ks[ldks*(k-1)] は要素 k のタイプ, ks[ldks*(k-1) + 1], ..., ks[ldks*(k-1) + nsb] は要素 k の節点を表す.
要素タイプの値は次のとおり.
= 1: 2節点直線.
= 2: 3節点3角形.
= 3: 4節点4角形. |
| [out] | lb[] | 配列 lb[llb] (llb >= *nb)
境界要素のラベル番号. |
| [out] | info | リターンコード.
= 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り.
= 11: ファイルオープンエラー.
= 13: データフォーマットエラー.
= 14: データ値エラー.
= 15: セクションの並び順のエラー.
= 16: 処理中にファイルの終わりに達した. |
|