TecIOとは?
TecIOはTecplotの無料ソフトウェアライブラリであり、Tecplotファイル形式の読み書きを可能にします。 ライブラリの利用者は、特定のニーズに応じて2種類の異なるAPIから選択できます。SZLファイルの書き込みには、より使いやすく、かつ必要なメモリ量が少ないAPIが用意されています。メモリ節約の理由は、APIがデータを受け入れる順序に柔軟性があるためです。TecIOは64ビットインデックスをサポートしており、個々のゾーンが20億ノードを超えることが可能になります!
詳細については、TecIOデータシート(PDF)をご覧ください。
テックIOなんて誰が気にする?
Tecplot 360 の大半にとって、TecIO library はさほど関心TecIO library 。では、TecIOはどのようなユーザーを対象としているのでしょうか?
TecIOは、Tecplot 360直接かつ信頼性の高い経路を求めるコード開発者のために構築されています。ユーザーがTecplot出力を要求している場合でも、ワークフローを積極的に効率化したい場合でも、Tecplot形式のエクスポート機能を追加することはユーザーエクスペリエンスを向上させる実用的な方法です。TecIOは、幅広い商用コードや社内コードで信頼されている形式での結果の高速かつ効率的な書き込みを可能にします。
何千ものゾーンを95%高速で書き込み
TecIOの並列版であるTecIO-MPIは、数百から数千の小さなゾーンを持つ構造化ソルバーを含む、大量の分割ゾーンを書き込むシミュレーション向けに最適化されています。ゾーン数が多いとボトルネックが発生し、並列スケーリングが制限される可能性があります。TecIO-MPIはこうしたケースにおける並列書き込み性能を向上させ、最新版では出力時間を95%削減します。
TecIOはどこで入手できますか?
TecIO用のダイナミックライブラリは Tecplot 360に同梱されています。Tecplot 360 先のbinフォルダ内にあります。ヘッダーファイルはincludeフォルダ内にあります。サンプルプログラムはutil/tecioフォルダの下にあります。Tecplot 360 がサポートする全プラットフォームTecplot 360 静的および動的TecIOライブラリでTecplot 360 LinuxおよびMacintosh上で実装されたTecIO MPIは、Tecplot 360ではOpenMPIを使用します。WindowsではMicrosoft MPIを使用します。異なるMPI実装向けのTecIO-MPIが必要な場合は、ソースコード(難読化済み)をダウンロードし、ターゲットマシン上でビルドしてください。
TecIOのドキュメントとサンプルは、 データ形式ガイド追加のサポートが必要な場合は、技術サポートまでメールでお問い合わせください。 support@tecplot.com または425-653-9393までお電話ください。なぜコードからSZLバイナリファイルを書くのか?
Tecplot 360に結果をインポートして分析する場合、バイナリ形式はデータファイルのサイズを縮小し、特にASCIIファイルと比較して速度と効率を向上させます。
- Tecplot SZL (.szplt)– 新しいSZL形式は、大規模データセット向けに最適化されており、一般的なワークフローにおいてメモリ使用量を削減しながらパフォーマンスを大幅に向上させます。TecIOはSZLファイルの読み書きに対応しています。特に、有限要素(非構造格子)データはSZLファイル内で圧縮されます。最後に、SZLファイルはMPIランクから並列で書き込むことが可能です。
- Tecplot PLT (.plt)– 旧バージョンのTecplot 360 で作成されたレガシー形式は、新しいバージョンのTecplot 360でも引き続きサポートTecplot 360 これは書き込み専用形式です。
TecIO FAQ
TecIOがサポートしているプログラミング言語は何ですか?
TecIOはCのAPIを使っているので、C、C++、Fortranから簡単に呼び出すことができます。Tecio/examplesフォルダには、C++とFortranの両方のサンプルがあります。
TecIOは並列にデータを書き込むことができますか?
TecIOには2つのバージョンがあります:TecIO-MPIはデータの並列書き込みをサポートし、大規模CFDコードのようなMPI(メッセージ・パッシング・インターフェイス)アプリケーションで使用されます。標準的なTecIOはスレッドを使って並列に予備計算を行いますが、データは逐次的に書き込まれます。
TecIOはどのようなデータ型に対応していますか?
TecIOは単精度または倍精度の浮動小数点数を書き込むことができます。APIは8ビット、16ビット、32ビットの整数変数をSZLファイルに出力することを可能にします。64ビットのゾーンサイズをサポートしているため、SZLファイル形式を使用することで個々のゾーンが20億ポイントを超えることが可能です。多面体ゾーンはPLT形式において20億セルに制限されます。(多面体ゾーンはSZLファイル形式ではサポートされていません。)
TecIOがサポートするゾーンタイプは?
TecIOはすべてのゾーンタイプをサポートしますが、すべてのファイル形式がすべてのゾーンタイプをサポートするわけではありません。下記の表を参照してください。
| ゾーンタイプ | PLT | SZL | パーティショニングされたSZL |
|---|---|---|---|
| Iオーダー、IJオーダー | はい | はい | はい(パーティションなし) |
| IJKオーダー | はい | はい | はい |
| FE-ラインセグ、FE-トライアングル、FE-クォードラテラル | はい | はい | はい(パーティションなし) |
| FE四面体、FEブリック | はい | はい | はい |
| FEポリヘドラル | はい | いいえ | いいえ |
| FE混合 | いいえ | はい | はい(3D細胞形状) |
TecIOは高次要素をサポートします
TecIOは、FEMixedゾーンタイプを使用して高次要素をSZL形式に書き出すことをサポートします
「パーティショニングされた」データとは?
TecIO library 、SZLデータファイルの書き込み時に、有限要素ゾーンの分割をサポートします。つまり、ゾーンを一度に書き込む必要はなく、分割して書き込むことができます。この機能は、クラスタ内の独立したノード上で複数のソルバープロセスを実行し、それぞれがシミュレーションのサブセットを解くことで、大規模な解を並列計算する大規模シミュレーションコード(CFDなど)を使用する場合に使用します。しかし、開発目的など、必要に応じて、デスクトップワークステーション上で実行されるシングルプロセスのソルバーでパーティショニングされたデータを使用することもできます。
ゾーンパーティションは同じSZLファイルに書き込まれ、Tecplot 360に読み込まれたときに1つのゾーンに再結合されます。パーティションは表示されませんし、ゾーンがパーティション化されていることすらわかりません。
「ゴーストノード」と「ゴーストセル」とは何ですか?
パーティショニングされた大規模シミュレーションでは、通常、ゾーンパーティションがわずかに重なる必要があります。言い換えれば、パーティション間の境界の両側にあるノードやセルは、複数のソルバープロセスに存在することになります。まず、パーティショニングルールに従ってそれを "所有 "するプロセス、次に、空間的に隣接するパーティションを解くプロセスに存在します。「所有する」プロセス以外のプロセスでは、このようなデータは一般的に "ゴーストセル "や "ゴーストノード "と呼ばれます。
TecIO libraryは、分割されたデータを後で視覚化に適した単一の仮想データセットに結合するために、重複するセルとノードに関する情報を必要とします。このため、各ソルバープロセスは、ゾーンデータ(ゴーストノードとゴーストセルを含む必要がある)とともに、ゴーストノードとゴーストセルのリストを渡す必要があります。このゴーストノードとゴーストセルのリストをTecIOに渡すことで、SZLファイルへの重複データの書き込みをなくすことができます。
グリッドファイルとソリューションファイルを別々に持つことはできますか?
グリッドとソリューションデータは別々のファイルに書き込むことができます。同様に、複数の解のタイムステップ間で同じグリッドを共有することもできます。



