Window 7
Windows 10
PowerShell
|
GPTPython: EasyGDFGPT の gdf ファイルの操作GPT 出力ファイルである gdf を操作する Python のライブラリーです.gdf はバイナリーファイルなので,操作がとても面倒です.EasyGDF を使うと gdf ファイルをバイナリーファイルのまま操作可能です. 目次インストールと設定インストールAnaconda 環境の場合のインストールは,以下のコマンドを使います. > conda install -c conda-forge easygdf pip を使う場合は,以下のとおりです. > pip install easygdf 使用方法EasyGDF を使用するためには,プログラムの先頭付近に「import easygdf」を記述します.すると,gdf ファイルを操作するいくつかの関数を使うことができます.以下に,プログラム例を示します. メソッドload(f, ...)このメソッドを使うと,gdf ファイルを読み込みこむことができます. load(f, max_recurse=16, max_block=1e6)
load() を使うと,gdfファイルのすべてのデータを python の辞書に読み込むことができます.gdf ファイルは,ヘッダーとデータブロックから構成されます.これらの情報は,以下のキーを持つ辞書として読み込まれます.具体的な辞書のキーと値を以下の表に示します.
読み込んだファイルのメインデータは、各階層の名前-値のペアのリストである「ブロック」で表示されます。ブロックは pythonの辞書型のデータとして返され,それには三つのキー (name, value, children) があリます.children の中身はそれ自体,同じフォーマットのブロックのリストです.gdfファイル内の配列の値は,numpy 配列(array) になります.実際にのプログラム例と読み込んだ辞書がたのデータを「EasyGDF の load() の使い方」に示します. save(f, blocks=None, ...)このメソッドはデータを gdf ファイルとして保存します. save(f, blocks=None, creation_time=None, creator="easygdf", destination="", gdf_version=(1, 1), creator_version=(2, 0), destination_version=(0, 0), dummy=(0, 0), max_recurse=16)
load_screens_touts(f, ...)screen とtout の出力である gdf ファイルを読み込み,その内容を辞書型のデータで返します.スクリーンはリスト "screens" に,tout は対応するリスト "touts"に格納されます.ルートレベルのパラメータとヘッダーオブジェクトは,辞書のルートで返されます. save_screens_touts(f, screens=None, touts=None, ...)ユーザーデータを GPT 出力のフォーマット (*.gdf) でファイルに保存します.署名は,対応する load 関数の出力と完全に互換性があります.screen と tout は,以下のnumpy配列を持つdictsのリストとして渡されます. tout の particle keys: x, y, z, Bx, By, Bz, m, q, nmacro, rmacro, ID, fEx, fEy, fEz, fBx, fBy, fBz, G, rxy. toutのスキャッターキー:scat_x, scat_y, scat_z, scat_Qin, scat_Qout, scat_Qnet, scat_Ein, scat_Enet, scat_inp sceen の particle ID, x, y, z, Bx, By, Bz, t, m, q, nmacro, rmacro, rxy, G 配列は未使用であれば dict に設定する必要はありません.不足するキーは,自動的に正しい長さのゼロで埋められます.冗長なキー (rxy, G, ID など) の場合,提供されたデータから値が計算されます.tout の散布図キーと粒子キーは配列の長さを埋める際に別々に扱われます (例:x が長さ 10 の配列に設定された場合,出力では y はその長さにパッドされますが scat_x は空のままとなります).dictに含まれる補助キーは,screen/toutに保存されます. 配列要素に加えて,screen はスカラー "position"を,tout はスカラー "time" を持つことができ,これらはグループのパラメータとして使用されます.デフォルトはそれぞれ0です. load_initial_distribution(f, ...)save_initial_distribution(f, x=None, y=None, z=None, GBx=None, GBy=None, GBz=None, ...)ページ作成情報参考資料更新履歴
|