私は、誰かが有限要素メッシュをある形式から別の形式に変換するのを手伝うことを志願しました (i-deas *.unv から Alberta へ)。NumPy を使用してメッシュの追加整形を行いましたが、生のテキスト ファイル データを NumPy 配列に読み込む際に問題が発生しています。genfromtxt と loadtxt を試しましたが、これまでのところ成功していません。
いくつかの詳細:
1) すべてのグループは、ヘッダーとフッターのフラグ " -1" で区切られています。
2) NODE グループには、独自の行にヘッダー "2411" があります。このグループから 1 行おきに読み取りたいのは、4 つの整数を含む各行をスキップすることですが、3 つの Fortran 倍精度数を含む行を読み取ります。
3) ELEMENT 接続グループには、独自の行にヘッダー "2412" があります。すべてのデータは整数で、最初の 4 列のみを読み取る必要があります。2 つと 3 つのノード要素の値が欠落しているため、NumPy 配列には空のスロットがいくつかあります。
4) "2477" ノード グループ 正規表現を使用して、読み取る行を見つけることができると思います。
5) 実際のデータ ファイルには約 100 万行のテキストがあるため、可能であれば (または NumPy がすばやく読み取るために行うことを) ベクトル化することを切望しています。
情報が多すぎて申し訳ありません。ありがとうございます。
以下の行は、*.unv テキスト ファイル形式の一部のサンプルです。
-1
2411
146303 1 1 11
6.9849462399269246D-001 8.0008842847097805D-002 6.6360238055630028D-001
146304 1 1 11
4.1854795755893875D-001 9.1256034628308313D-001 3.5725496189239300D-002
146305 1 1 11
7.5541258490349616D-001 3.7870257739063029D-001 2.0504544370783115D-001
146306 1 1 11
2.7637569971086767D-001 9.2829777518336010D-001 1.3757239038663285D-001
-1
-1
2412
9 21 1 0 7 2
0 0 0
1 9
10 21 1 0 7 2
0 0 0
9 10
1550 91 6 0 7 3
761 3685 2027
1551 91 6 0 7 3
761 2380 2067
39720 111 1 0 7 4
71854 59536 40323 73014
39721 111 1 0 7 4
45520 48908 133818 145014
-1
-1
2477
1 0 0 0 0 0 0 3022
PERMANENT GROUP1
7 2 0 0 7 3 0 0
7 8 0 0 7 7 0 0
7 147 0 0 7 148 0 0
2 0 0 0 0 0 0 2915
PERMANENT GROUP2
7 1 0 0 7 5 0 0
7 4 0 0 7 6 0 0
7 9 0 0 7 11 0 0
-1