OpenDX によるデータ描画のまとめ
参考: http://opendx.npaci.edu/docs/html/pages/qikgu027.htm
OpenDX から読み込みが可能なデータフォーマットは以下のとおり
このうち、 DX 用に出力したわけではないデータを読み込めるのは最後のものである。 これは、読み込むデータファイルそれ自体と、そのデータ構造を記述した header file の組からなり、 header file には元のデータのファイル名が埋め込まれている。 この header file は DX の Data Prompter で生成するが、テキストファイルなので自由に編集できる。 DX が扱うデータは、座標とその値という組であり、値はスカラーでもベクターでもよく、一つの座標に複数の値を割り当てることもできる。 座標は基本的に grid データだが、散布図のように不規則な任意の座標や、あるエリアとして与えることもできる。 DX の用語では、エリアで与えるモデルを connection、座標点で与えるモデルを position と呼んでおり、前者はエリア内で一定の値を持つが後者は点の間で自動的に補完されて連続分布を作る。
x1 y1 z1 d1_1 d2_1 x2 y2 z2 d1_2 d2_2 : xn yn zn d1_n d2_n
DX ではこのようなデータフォーマットはカラム配置であるとされる。また、独立変数はファイル中に任意の値として含まれ、 DX で云う正規 grid ではない。 値は点に対するもの (position dependent) であって領域に対するもの (connection dependent) ではない。 以下、DX から Data Prompter をこれを起動して読み込む。
d1_11 d1_12 ... d1_1m d1_21 d1_22 ... d1_2m : d1_n1 d1_n2 ... d1_nm d2_11 d2_12 ... d2_1m d2_21 d2_22 ... d2_2m : d2_n1 d2_n2 ... d2_nm
DX ではこれはブロック配置であり、座標は正規 grid で与えられる。 以下 Data Prompter を起動し
Single time step を no にした場合は、同じデータ構造が time step 分繰り返されているものと看做され、その場合は t0, Δt, t_num を入力する。
これでうまくいくはずなのだが、何故か DX が
Data Prompter has experienced an internal error and will terminate.
と云って visualize にしくじる。
野良build した 4.4.4 では以下のように出た。 ソースを確認すると、上のメッセージは signal を拾って自分で出していたようだ。
*** glibc detected *** free(): invalid pointer: 0xb7a854e4 ***
ただし、この時 /tmp に tmpXXXXXX.net tmpXXXXXX.cfg というファイルができている(XXXXXXはランダムな文字列)。これを、適当な名前をつけて X.net, X.cfg としてコピーし、 DX の Run Visual Programs... から実行するとちゃんと動作する。
[referer: [an error occurred while processing this directive]]