[Re:20] Reboot : ゼロから始める OpenFOAM @ windows  時系列データーの抽出とグラフ作成、CSV出力

流れ場を計算すると、結局計算時間がかかってしまうのは、流れ場が、定常でも非定常でも、収束しているかどうかを確認しないといけないからです。定常な流れ場になっているのか、非定常でも、周期的な流れになっているのか、それを確認しないといけないので、ある程度時間発展したところまで計算を進めないといけません。それにまず時間がかかります。

さらに、時間をかけて得たデーターを可視化したり、処理する際、そのデーターの量によって、また大変時間がかかります。

チープにパソコンで計算していると、これらが時間がかかります。

計算の出力は、欲張らず、身の丈で、ほどほどに間引いてギリギリ少なめに出力する方が良さそうです。

さて、計算の調子を確認するのに必要な情報は、空間的な定点における物理量の観察です。

ParaVIEW では、以下のステップで作業するようです。

    1. 観測したい点を、選択
    2. その位置におけるデーターを全時間から、収集。
    3. スプレッドシートの保存。

ちなみに、グラフに表示できるのは、一点のみの各種物理データーのみのようです。複数点の時系列データーを、同時には作業、表示はできないようです。

  1. 選択
    選択する方法はいくつか用意されています。
    選択する対象は、ポイント、面、ブロック、の三種類があるようです。
    ここではデーターを収集するので、ポイントを指定します。
  2. 読み込み
  3. スプレッドシート

 

出力されたスプレッドシートには単純な物理量だけではなく、

物理量値、最小値、最大値、平均値、標準偏差、

などが含まれることもあります。

この値が、スカラー量なら単体で、ベクトル量なら3成分と大きさ、というふうに、大変データー量がインフレーションしています。

それら物理量の後に、時刻、座標、、、のデーターが記されています。

うっかり時間区切りの多いファイルをエクセルで開くと二進も三進も行きません(動かなくなるという意味)

【例1】PlotOverLne
Point ID
Points_0
Points_1
Points_2
Points_Magnitude
U_0
U_1
U_2
U_Magnitude
arc_length
p
vorticity_0
vorticity_1
vorticity_2
vorticity_Magnitude
vtkValidPointMask

【例2】PlotSelectionOverTime
Block Name
Row ID
N
Time
avg(U (0))
avg(U (1))
avg(U (2))
avg(U (Magnitude))
avg(X)
avg(Y)
avg(Z)
avg(p)
avg(vorticity (0))
avg(vorticity (1))
avg(vorticity (2))
avg(vorticity (Magnitude))
avg(vtkOriginalPointIds)
avg(vtkValidPointMask)
max(U (0))
max(U (1))
max(U (2))
max(U (Magnitude))
max(X)
max(Y)
max(Z)
max(p)
max(vorticity (0))
max(vorticity (1))
max(vorticity (2))
max(vorticity (Magnitude))
max(vtkOriginalPointIds)
max(vtkValidPointMask)
med(U (0))
med(U (1))
med(U (2))
med(U (Magnitude))
med(X)
med(Y)
med(Z)
med(p)
med(vorticity (0))
med(vorticity (1))
med(vorticity (2))
med(vorticity (Magnitude))
med(vtkOriginalPointIds)
med(vtkValidPointMask)
min(U (0))
min(U (1))
min(U (2))
min(U (Magnitude))
min(X)
min(Y)
min(Z)
min(p)
min(vorticity (0))
min(vorticity (1))
min(vorticity (2))
min(vorticity (Magnitude))
min(vtkOriginalPointIds)
min(vtkValidPointMask)
q1(U (0))
q1(U (1))
q1(U (2))
q1(U (Magnitude))
q1(X)
q1(Y)
q1(Z)
q1(p)
q1(vorticity (0))
q1(vorticity (1))
q1(vorticity (2))
q1(vorticity (Magnitude))
q1(vtkOriginalPointIds)
q1(vtkValidPointMask)
q3(U (0))
q3(U (1))
q3(U (2))
q3(U (Magnitude))
q3(X)
q3(Y)
q3(Z)
q3(p)
q3(vorticity (0))
q3(vorticity (1))
q3(vorticity (2))
q3(vorticity (Magnitude))
q3(vtkOriginalPointIds)
q3(vtkValidPointMask)
std(U (0))
std(U (1))
std(U (2))
std(U (Magnitude))
std(X)
std(Y)
std(Z)
std(p)
std(vorticity (0))
std(vorticity (1))
std(vorticity (2))
std(vorticity (Magnitude))
std(vtkOriginalPointIds)
std(vtkValidPointMask)
vtkValidPointMask