Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpenFOAMの時間変化かつ分布を持つ 流入条件について(timeVaringMappedFixedValue)

OpenFOAMの時間変化かつ分布を持つ 流入条件について(timeVaringMappedFixedValue)

849be8a73074bccd6f3d5ff3fbbb940f?s=128

matsubaraDaisuke

October 29, 2017
Tweet

More Decks by matsubaraDaisuke

Other Decks in Science

Transcript

  1. 第61回OpenCAE勉強会@関⻄ OpenFOAM v4.0 時間変化かつ分布を持つ 流⼊条件について 2017/10/29 1 第61回OpenCAE勉強会@関⻄ 松原 ⼤輔

    2017年10⽉29⽇
  2. 2 目的 ・他社(他者)の計算結果を境界に与えて計算したい。 ・計算領域を分けて、別々に計算したい場合。 timeVaringMappedFixedValue機能 第61回OpenCAE勉強会@関⻄ 2017/10/29

  3. 3 解析例 出典:http://www.cradle.co.jp/tec/column08/005.html 計算1 計算2 この領域の計算を事前にしておく. 後からこの領域だけで計算 LESの場合、サンプリング周波数 に注意 計算2の領域での検討が多くなる

    ほど計算1の分だけ計算時間が削 減されるので効率的 第61回OpenCAE勉強会@関⻄ 2017/10/29
  4. 4 timeVaryingFixedValueの設定 ケースデータ 0 inlet { type timeVaryingFixedValue; offset (0

    0 0); setAverage off; } U(例inlet) 最低限の3セット 例えば(10 0 0)とすると x方向の速度が設定値分 加算される よくわかりません 個人的に足し算より掛 け算が欲しかった 第61回OpenCAE勉強会@関⻄ 2017/10/29
  5. 5 ファイル構成 (timeVaringMappedFixedValue) ケースデータ constant transportProperties polyMesh boundaryData 境界名(例:inlet) points

    0 1 U nut 第61回OpenCAE勉強会@関⻄ 2017/10/29
  6. 6 Pointsについて FoamFile { version 2.0; format ascii; class vectorField;

    object points; } 26 ( // x y z ( 0 0 0 ) ( 0 0 0.025 ) ( 0 0 0.05 ) ( 0 0 0.1 ) ( 0 0 0.2 ) ( 0 0 0.3 ) ( 0 0 0.4 ) ( 0 0 0.5 ) ( 0 0 0.6 ) ( 0 0 0.7 ) ( 0 0 0.8 ) ( 0 0 0.9 ) ( 0 0 1 ) ) … … 補間用データ 点数 各点の座標を 羅列 第61回OpenCAE勉強会@関⻄ 2017/10/29
  7. 7 U,nut等の変数について FoamFile { version 4.0; format ascii; class vectorAverageField;

    object points; } (0 0 0) 26( // u v w (0 0 0) (5.903836028 0 0 ) (6.518363449 0 0 ) (7.19685673 0 0 ) (7.945974047 0 0 ) (8.419824443 0 0 ) (8.773066621 0 0 ) (9.057236643 0 0 ) (9.296239875 0 0 ) (9.503227992 0 0 ) (9.686250859 0 0 ) (9.850612054 0 0 ) (10 0 0 ) ) … … Averageにしな いとエラー 各点に対応する 物理量を入力 (順番が大切) 平均機能を使う ときに使用 (未検証) 第61回OpenCAE勉強会@関⻄ 2017/10/29
  8. 8 例:大気境界層(時間変化(変動)なし) = $%& ' '()* +/- , $%& =

    1[m], $%& =10[m /s] 5[m](100分割) 1[m](40分割) 1[m](20分割) yMin yMax outlet inlet noSlip その他はSlip 第61回OpenCAE勉強会@関⻄ 2017/10/29
  9. 9 例:大気境界層(時間変化(変動)なし) FoamFile { version 2.0; format ascii; class vectorField;

    object points; } 26 ( // x y z //yMin ( 0 0 0 ) ( 0 0 0.025 ) ( 0 0 0.05 ) ( 0 0 0.1 ) ( 0 0 0.2 ) ( 0 0 0.3 ) ( 0 0 0.4 ) ( 0 0 0.5 ) ( 0 0 0.6 ) ( 0 0 0.7 ) ( 0 0 0.8 ) ( 0 0 0.9 ) ( 0 0 1 ) //yMax ( 0 1 0 ) ( 0 1 0.025 ) ( 0 1 0.05 ) ( 0 1 0.1 ) ( 0 1 0.2 ) ( 0 1 0.3 ) ( 0 1 0.4 ) ( 0 1 0.5 ) ( 0 1 0.6 ) ( 0 1 0.7 ) ( 0 1 0.8 ) ( 0 1 0.9 ) ( 0 1 1 ) ) … … boundaryData /inlet /points = $%& ' '()* +/- , $%& = 1[m], $%& =10[m /s] 第61回OpenCAE勉強会@関⻄ 2017/10/29
  10. 10 例:大気境界層(時間変化(変動)なし) FoamFile { version 4.0; format ascii; class vectorAverageField;

    object points; } (0 0 0) 26( // u v w //yMin (0 0 0) (5.903836028 0 0 ) (6.518363449 0 0 ) (7.19685673 0 0 ) (7.945974047 0 0 ) (8.419824443 0 0 ) (8.773066621 0 0 ) (9.057236643 0 0 ) (9.296239875 0 0 ) (9.503227992 0 0 ) (9.686250859 0 0 ) (9.850612054 0 0 ) (10 0 0 ) //yMax (0 1 0 ) (5.903836028 1 0 ) (6.518363449 1 0 ) (7.19685673 1 0 ) (7.945974047 1 0 ) (8.419824443 1 0 ) (8.773066621 1 0 ) (9.057236643 1 0 ) (9.296239875 1 0 ) (9.503227992 1 0 ) (9.686250859 1 0 ) (9.850612054 1 0 ) (10 1 0 ) ) … … boundaryData /inlet /0/U = $%& ' '()* +/- , $%& = 1[m], $%& =10[m /s] 第61回OpenCAE勉強会@関⻄ 2017/10/29
  11. 11 例:大気境界層(時間変化(変動)なし) = $%& ' '()* +/- , $%& =

    1[m], $%& =10[m /s] 第61回OpenCAE勉強会@関⻄ 2017/10/29
  12. 12 空間のデータ補間について(検証) yMin yMax 5[m /s] 10[m /s] 第61回OpenCAE勉強会@関⻄ 2017/10/29

  13. 13 空間のデータ補間について(検証) 4 5 6 7 8 9 10 11

    0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 U [m/s] y [m] OpenFOAM  デフォルトでは線形補間 境界付近でズレ Uを中央でLineプローブ (paraFoam) 第61回OpenCAE勉強会@関⻄ 2017/10/29
  14. 14 未設定時間のデータ補間について(検証) yMin yMax 5[m /s] yMin yMax 10[m /s]

    t=0[s] t=1[s] t=0.5[s]の時は 7.5[m /s]❓ (設定) (設定) (未設定) 第61回OpenCAE勉強会@関⻄ 2017/10/29
  15. 15 ケースデータ constant transportProperties polyMesh boundaryData 境界名(例:inlet) points 0 1

    U←5m /s 未設定時間のデータ補間について(検証) U←10m /s ←この間、どうなるの❓ 第61回OpenCAE勉強会@関⻄ 2017/10/29
  16. 16 未設定時間のデータ補間について(検証) Uをプローブ (paraFoam) 設定していない時間では線形補間させる 4 5 6 7 8

    9 10 11 -0.1 0.1 0.3 0.5 0.7 0.9 1.1 U [m/s] t [s] OpenFOAM  第61回OpenCAE勉強会@関⻄ 2017/10/29
  17. 17 cuttingPlane or Sampling 計算結果を境界条件に与えるには? cuttingPlane{ type surfaces; libs ("libsampling.so");

    writeControl writeTime; surfaceFormat foamFile; fields ( p U nut ); interpolationScheme cellPoint; surfaces ( xNormal { type cuttingPlane; planeType pointAndNormal; pointAndNormalDict { basePoint (5 0 0); normalVector (1 0 0); } interpolate true; } );} system /controlDict 第61回OpenCAE勉強会@関⻄ 2017/10/29 ←重要
  18. 18 計算結果を境界条件に与えるには? boundaryData /postProcessing postProcessing cuttingPlane 0.1 0.2 xNormal scalarField

    vectorField points U ⾃分はpythonで⾃動化したが、 pyFormや標準であるかも ⾚字の所を BoundaryDataの⽅に コピってくる。 Foam{..}も追記 第61回OpenCAE勉強会@関⻄ 2017/10/29
  19. 19 終わり 第61回OpenCAE勉強会@関⻄ 2017/10/29