|
Surface Sampling機能の特長 従来のDataset Sampling機能(HT011 Dataset Sampling 機能をつかった事例)では3次元ボリュームデータに対してサンプリング処理を行う必要があり計算負荷が重いものになっておりました。一方FieldView 16.1 で実装されたSurface Sampling機能では2次元サーフェスデータ間でサーフェスからサーフェスへのサンプリング処理を行うことが可能となります。これにより異なる格子で計算された二つの計算結果の定量比較を短時間で実現します。
Surface Samplingの手順 こちらから、サンプルデータをダウンロードください。迎角の異なる二つの翼周り流れ解析結果(angle000.unsとangle010.uns)を使用したSurface Sampling機能の適用事例をご紹介します。
1. Grid Target Surfaceの作成 File → Data Input → FV-UNSよりangle000.unsを読み込みます。次にVisualization Panels → Coordinate SurfaceよりY=0.5の位置にCoordinate Surfaceを作成します。この面をGrid Target Surface(この面上の全格子点座標を使用してサンプリングを行います)として使用します。

▲ Grid Target Surface:この面上の全格子点座標を使用してサンプリングを行います
2. Results Target Surfaceの作成 File → Data Input → FV-UNSよりINPUT MODE=Appendでangle001.unsを読み込みます。次にVisualization Panels → Coordinate SurfaceよりY=0.5の位置にCoordinate Surfaceを作成します。この面をResults Target Surface(この面上の計算結果がサンプリングされます)として使用します。

▲ Results Target Surface: この面上の計算結果がサンプリングされます
3. FVXコマンドによるSurface Samplingの実行
Surface SamplingはFVXプログラムにより実行します。以下のようなFVXプログラム(surface_sampling.fvx)を用意し、Tools → Execute FVX Fileよりこれを実行します。Grid Surface Target上の全ての格子点の座標を使用してResults Target Surface上の計算結果のサンプリングを行い Grid Surface Targetと同一の形状にマッピングした結果が“surface_sample.uns”に出力されます。
-- Select the grid surface target
fv_script("SELECT DATASET 1")
fv_script("SELECT COORD 1")
surface_1 = get_current_object_handle()
-- Select the results surface target
fv_script("SELECT DATASET 2")
fv_script("SELECT COORD 1")
surface_2 = get_current_object_handle()
surface_sampling({
surface_grid_target = surface_1,
surface_results_target = surface_2,
surface_file = "surface_sample.uns"
})
▲ Surface Samplingを実行するFVXサンプルプログラム
以下は上のプログラムで使用しているFVXコマンドの説明です。
get_current_object_handle() : FVXプログラム外で作成された面のハンドルを取得するコマンド
surface_sampling(surface_sampling_table) : surface_sampling_tableを入力としてsurface samplingを実行するコマンド
surface_sampling_tableは以下の項目を含みます:
・surface_grid_target: Grid Target SurfaceのFVXハンドル(必須)
・surface_results_target: Results Target SurfaceのFVXハンドル(必須)
・surface_file: Surface Samplingの結果を出力するFV-UNSファイル名
4. Surface Sampling結果の読み込み File→Data Input→FV-UNSよりINPUT MODE: Appendで前段3で出力された“surface_sample.uns”を読み込みます。このファイルにはGrid Target Surfaceの形状が境界面としてFV-UNS形式で保存されており、Grid Target Surfaceの結果(変数名の先頭に”G:”が付きます)とResults Target Surfaceの結果(変数名の先頭に”R:”が付きます)の両方を含んでいます。下の図ではGrid Target Surfaceの格子上にResults Target Surface上の結果”R:Ux”がサンプリングされていることが確認できます(つまりangle000.unsのY=0.5面の格子上にangle010.unsのY=0.5面の結果が表示されています)。Grid Target Surface上の格子点座標がResults Target Surface上に存在しない点ではサンプリングが行えないので、その部分はマゼンタ色で表示されます。

▲ Surface Samplingの結果: Grid Target Surfaceの格子上にResults Target Surface上の結果を表示
5. サーフェスデータ間の定量比較 “R:”や”G:”の付いた変数間の差分や比率をユーザー定義関数を使用して計算することで両データセット間の定量比較が可能になります。下の図は両データセットのUxの差分を計算した結果を示しています。

▲ Surface Samplingの結果: 異なる格子で計算された二つの計算結果の定量比較が可能
|