Contents

Previous Topic

4. 可視化ネットワーク例

Next Topic

改版履歴

5. AVS/Express PCE にて利用できるデータファイルフォーマット

AVS/Express PCEで可視化を行う時に使用できるデータは, 大きく分けて以下の2つのフォーマットが用意されています.

  • AVS Field

    2次元や3次元の構造格子のデータを扱うフォーマットです.

  • AVS UCD

    Unstructured Cell Data の略で,非構造格子型のデータを扱うフォーマットです.

5.1 AVS Fieldデータフォーマット

AVS Fieldフォーマットはヘッダー部と物理量データ部,形状データ部の3つのパートで作成されます. この3つのパートを1つのファイルとして取り扱うことができますが,作成するのに面倒なので, 別ファイルとして取り扱うこともできます.形状が等間隔直交メッシュの場合は, 形状データは必要ありません. データ部に書いてある内容をヘッダー部で説明するような形式になります. データ部はASCII 形式でもバイナリ形式でも取り扱うことができます.

AVS/Express PCE

5.1.1 ヘッダファイル・パラメータ

  • ヘッダファイルのファイル名には必ず拡張子.fldが必要です.

  • ヘッダファイルの最初の行は#AVSと書き込みます.

    (2行目からの#はコメントですので#の後に続く文字は全て無視されます)

  • ndim = 値(必須)

    …フィールドの計算空間の次元数

  • dim1 = 値(必須)

  • dim2 = 値(必須,ndimの値に依存)

  • dim3 = 値(必須,ndimの値に依存)

    …各軸の次元サイズ

  • nspace = 値(必須)

    …物理空間の次元数.データが存在する空間が2次元(x、y平面)であるか, 3次元(x,y,z)であるかを記述します.

  • veclen = 値(必須)

    …各フィールド要素のデータ数

  • data = {byte,integer,float,doubleの中の1つが必須}

    …各フィールド要素のデータ数

  • data = {byte,integer,float,doubleの中の1つが必須}

    …データ・タイプ

  • field = {uniform,rectilinear,irregularの中の1つが必須}

    …フィールドのタイプ

AVS/Express PCE
  • label = 文字列(オプション)

    …各要素にタイトルを付ける

  • unit = 文字列(オプション)

    …各要素に単位を付ける

以下のvariable・coordにはサブパラメータがあります

  • variable(必須)

    …データファイルのフォーマットを指定

  • coord(必須 但し uniformフィールドタイプには不要)

    …座標情報のフォーマットを指定

varlable・coordのパラメータコマンド

パラメータ

  • n

データ要素数.座標値数を指定

  • file

データ又は座標値が人っているファイル名の指定

  • filetype,ascii,unformatted,binary

コマンド

  • skip = n

asciiファイルでは読み飛ばす行数を指定 unformatted,binary では読み飛ばすバイト数を指定 (skip のデフォルトは0)

  • offset = m

最初のデータを読み始める前に読み飛ばすカラム数を指定 (asciiファイルの時のみ使用) (offset のデフォルトは0)

  • stride = p

次のデータを読み込むための読み飛ばすカラム数を指定 (binaryと書式なしの場合は p x データ・サイズ) (stride のデフォルトは1)

5.2 AVS Fieldデータ例

5.2.1 スカラーデータ例

次に示すデータのFieldデータを作成します.

AVS/Express PCE

小さい文字の数値は座標値で,イタリックの文字はノード上の物理量(スカラー値)です. このデータの形状データおよび物理量のデータを以下に示します.

形状データ:scalar.geo

0.0   1.0   2.0   3.0   0.0   1.0   2.0   3.0   0.0   1.0   2.0   3.0
0.0   0.0   0.0   0.0   1.0   1.0   1.0   1.0   2.0   2.0   2.0   2.0

物理量データ:scalar.dat

50.   55.   60.   80.   57.   60.   65.   95.   70.   76.   88.   100.

上記のデータに対するAVS Fieldデータを以下に示します.

AVS Fieldデータ:scalar.fld

  1:   #AVS
  2:   ndim=2
  3:   dim1=4
  4:   dim2=3
  5:   nspace=2
  6:   veclen=1
  7:   data=float
  8:   field=irregular
  9:   coord 1 file=scalar.geo filetype=ascii skip=0 offset=0
 10:   coord 2 file=scalar.geo filetype=ascii skip=1 offset=0
 11:   variable 1 file=scalar.dat filetype=ascii skip=0 offset=0

注)行頭の数字は行番号を示しています.入力しないで下さい.

各行の意味は以下のようになっています.

1行目 1行目は必ず#AVSと書きます.

2行目 2次元格子データなので,ndim=2となります.

3,4行目 i方向の次元数が4,j方向の次元数が3なので,dim1=4,dim2=3となります.

5行目 2次元平面のデータなのでnspaceの値は2になります.

6行目 物理量が1種類だけなので,veclenの値は1になります.

7行目 物理量のデータが浮動小数点のデータなので,dataの指定はfloatになります.

8行目 このデータのタイプはuniformになりますが,各データのX,Y,Z座標値を与えるので, irregular形式として取り扱います.

9行目 形状ファイルavs.geoの中に1行目から1レコードで書かれてあり読み飛ばす必要はないので, skip=0,offset=0となります.

10行目 形状ファイルavs.geoの中に2行目から1レコードで書かれてあり始めの一行目だけを 読み飛ばすので,skip=1,offset=0 となります.

11行目 物理量のデータファイル avs.dat の中に,1行目から1レコードで書かれてあり 読み飛ばす必要はないので,skip=0,offset=0となります.

5.2.2 ベクトルデータ例

右記に示すデータのFieldデータを作成します.

AVS/Express PCE

小さい文字の数値は座標値で,イタリックの文字はノード上の物理量(ベクトル値)です. このデータの形状データおよび物理量のデータを以下に示します.

形状データ:vedor.geo

0.0   1.0   1.0   0.0
0.0   0.0   1.0   1.0

物理量データ:vedor.dat

1.0   1.0   1.0   1.0
-1.0   0.0   0.5   1.0

上記のデータに対するAVS Fieldデータを以下に示します.

AVS Fieldデータ:vector.fld

  1:   #AVS
  2:   ndlm = 2
  3:   dim1 = 2
  4:   dim2 = 2
  5:   nspace = 2
  6:   veclen = 2
  7:   data = float
  8:   field = irregular
  9:   coord 1 file=vector.geo filetype=ascii skip=0 offset=0
 10:   coord 2 file=vector.geo filetype=ascii skip=1 offset=0
 11:   variable 1 file=vector.dat filetype=ascii skip=0 offset=0 stride=1
 12:   variable 2 file=vector.dat filetype=ascii skip=1 offset=0 stride=1
注)行頭の数字は行番号を示しています.入力しないで下さい.

各行の意味は以下のようになっています.(スカラーデータと違う部分に関してのみ説明します)

3,4行目 i方向の次元数が2,j方向の次元数が2なので,dim1=4,dim2=3となります.

6行目 物理量は,U,Vの組みなので,veclenの値は2になります.

11行目 物理量のデータファイルavs.datの中に,1行目から1レコードで書かれてあり 読み飛ばす必要はないので,skip=0,offset=0となります.

12行目 物理量のデータファイル avs.dat の中に,2行目から1レコードで書かれてあり 一行目だけを読み飛ばすのでskip=0,offset=0となります.

5.3 AVS UCDデータフォーマット

有限要素法等で計算された結果は,フィールドデータフォーマットと違い,構造格子状になっていません. 三角形や,四角形などの要素型になっています. このようなデータは,UCDデータフォーマットで取り扱います.UCDデータフォーマットは セル(要素)とノード(節点)で構成され,ノードにデータを与えたり,セルにデータを持たせることができます.

5.3.1 セル(要素)の種類

データに使用できるセルタイプには次のものがあります.各ノードに示されている番号は, ノードの接続の順番を示しています.

AVS/Express PCE

上に示すセルに対して,2次要素としてノード問に対しても情報を持つことができます.

AVS/Express PCE

5.3.2 データの形式

UCDのファイルフォーマットは,ノードの座標値,データ等の情報を 次に示すようにアスキー形式で作成します.

#コメント
<ステップ数>
<サイクルタイプ>
step1 <コメント>
<節点数> <要素数>
<節点番号1> <X> <Y> <Z>
<節点番号2> <X> <Y> <Z>
:
<要素番号1> <マテリアル番号> <要素タイプ> <要素の構成>
<要素番号2> <マテリアル番号> <要素タイプ> <要素の構成>
:
:
<節点データ数> <要素データ数>
<節点データ成分数> <第1成分ベクトル長> <第2成分ベクトル長>
<第1成分名>, <第1成分単位名>
<第2成分名>, <第2成分単位名>
:
:
<節点番号1> <節点データ1> <節点データ1>
<節点番号2> <節点データ2> <節点データ2>
:
:
<要素データ成分数> <第1成分ベクトル長> <第2成分ベクトル長>
<第1成分名>, <第1成分単位名>
<第2成分名>, <第2成分単位名>
:
:
<要素番号1> <要素データ1> <要素データ2> ...
:
:
step2 <コメント>
<節点数> <要素数>
<節点番号1> <X> <Y> <Z>
<節点番号2> <X> <Y> <Z>
:
:
<節点データ数> <要素データ数>
<要素データ成分数> <第1成分ベクトル長> <第2成分ベクトル長>
<第1成分名>, <第1成分単位名>
:
:
step3 <コメント>
:
:

ファイル形式の説明は次の通りです.

(1) # データに関する記述の前((2)の部分以前)に存在する#で始まる行は, コメント行として使用することができます.

(2) <ステップ数> ファイル内に書かれているデータのステップ数を記述します.

(3) <サイクルタイプ> 繰り返しのタイプ.data,geom,data_geomから指定します.geomが指定されたときは (4)~(7)の項目が繰り返され,dataが指定されたときは(4)から次のステップまでの項目が繰り返されます. data-geomが指定されれば,(4)から次のステップまでの項目が繰り返されます.

(4) stepN 各ステップの先頭にはステップ番号を記述します.第1ステップはstep1, 第2ステップはstep2...と記述する必要があります.ステップ番号の後には, そのステップに対するコメントを記述することができます. Read_UCDモジュールはこのコメントを出力するので,ビューワー・ウィンドウに表示させることも可能です.

(5) <節点数>,<要素数> 節点数および要素数.サイクル・タイプがgeomまたはdata_geomの場合はステップ毎に 記述されますが,geomの場合には,第1ステップと同じ値を第2ステップ以降に記述する必要があります.

(6) <節点番号>,<X>,<Y>,<Z> 節点番号と節点の座標値を全ての節点に関して記述します.節点番号は整数値です. 連続した番号でなくても構いませんが,重複しないようにして下さい.

(7) <要素番号> 整数値です.連続した番号でなくても構いませんが,重複しないようにして下さい.

  • <マテリアル番号>
要素をグループ分けするのに用いる整数値です.
  • <要素タイプ>
要素のタイプを指定します.要素にはコーナーのみに節点を持つ 1次要素と中関節点を持つ2次要素があります.
  • <要素の構成>
要素を構成する節点の番号を記述します.この番号は(6)で記述したものに対応しています.

以上について,すべての要素に関して記述します.

5.3.3 スカラーデータ例

左記に示すデータのFieldデータを作成します.小さい文字の数値は座標値で, イタリックの細文字はノードの番号です.イタリックの太文字はセル上の物理量,スカラー値)です. このデータは,節点上ではなく,要素上に物理量が存在する例です. この図のUCDデータを以下に示します.

scalar.inp

  1:   1
  2:   data
  3:   step1
  4:   8 3
  5:   1   0.   0.   0.
  6:   2   1.   0.   0.
  7:   3   2.   0.   0.
  8:   4   3.   0.   0.
  9:   5   0.   1.   0.
 10:   6   1.   1.   0.
 11:   7   2.   1.   0.
 12:   8   3.   1.   0.
 13:   1   1 quad 1 2 6 5
 14:   2   1 quad 2 3 7 6
 15:   3   1 quad 3 4 8 7
 16:   0   1
 17:   1   1
 18:   scalar,
 19:   1 0.1
 20:   2 0.4
 21:   3 0.3
注)行頭の数字は行番号を示しています.入力しないで下さい.

各行の意味は以下のようになっています.

1行目 1ステップのデータなので,ステップ数は1となります.

2行目 ステップ数が1なので,この部分はdataでもgeomでもdata_geomでも構いません.

3行目 全ノード数が8,セル数が3になります.

5-12行目 ノード番号と,ノードのX,Y,Z座標値を示しています.

13-15行目 各セルのセル番号と,セルタイプ,ノードの接続順番を指定します.

16行目 このデータは,節点上ではなく,要素上に1種類の物理量が存在するデータなので, 節点データ数は0,要素データ数が1となります.

17行目 1種類のスカラー値のため,データ成分数が1,第1成分ベクトル長は1となります.

18行目 成分名(任意の文字列:scalar)と,その単位名(任意の文字列:). 単位名は,つけなくても構いませんが,成分名の後のコンマ”,”は必ずつけて下さい.

19-21行目 要素番号,要素データを各要素毎に記述します.

5.3.4 ベクトルデータ例

左記に示すデータのFieldデータを作成します.小さい文字の数値は座標値で, イタリックの細文字はノードの番号です.イタリックの大文字はセル上の物理量,ベクトル値です. このデータは,要素上ではなく,節点上に物理量が存在する例です. この図のUCDデータを以下に示します.

vector.inp

  1:   1
  2:   data
  3:   step1
  4:   4 1
  5:   1   0.   0.   0.
  6:   2   1.   0.   0.
  7:   3   0.   1.   0.
  8:   4   1.   1.   0.
  9:   1 1 quad 1 2 4 3
 10:   3 0
 11:   1 3
 12:   Vector-component,
 13:   1 0.0 -0.5 0.0
 14:   2 0.5 -0.5 0.0
 15:   3 0.5 0.0 0.0
 16:   4 0.25 0.5 0.0
注)行頭の数字は行番号で示しています.入力しないでください.

各行の意味は以下のようになっています.

1行目 1ステップのデータなので,ステップ数は1となります.

2行目 ステップ数が1なので,この部分はdataでもgeomでもdata_geomでも構いません.

3行目 全ノード数が4,セル数が1になります.

5-8行目 ノード番号と,ノードのX,Y,Z座標値を示しています.

9行目 各セルのセル番号と,セルタイプ,ノードの接続順番を指定します.

10行目 このデータは,要素上ではなく,節点上に1種類のベクトル値が存在するデータなので, 節点データ数は3,要素データ数が0となります.

11行目 1種類のベクトル値のため,データ成分数が1,第1成分ベクトル長は3となります.

12行目 成分名(任意の文字列:Vector-component)と,その単位名(任意の文字列:). 単位名は,つけなくても構いませんが,成分名の後のコンマ”,”は必ずつけて下さい.

13-16行目 節点番号,節点データを各節点毎に記述します.