OpenFOAM

【回転するバスケットボールまわりの流れ(4)】OpenFOAMで無回転の球体まわりの流れ

こんにちは(@t_kun_kamakiri)(‘◇’)ゞ

本記事ではOpenFOAMのバスケットボールまわりの流体解析を行う下準備のための記事です

球体まわりのメッシュをinnerとouterに分けて別々で6面体メッシュで生成しました。

本記事の内容

innerとouterをcyclicAMI周期境界でつないで球体まわりの解析を行う

本記事の内容は下記の参考記事のモデル作成です。

1度試しにsnappyHexMeshでメッシュ生成しましたが、バスケットボールの凹みの部分のメッシュを細かくしないといけなく計算時間がかかるので本記事の内容の通りメッシュを作成しなおすことにしました。

バスケットボールはシュートの際に1秒間に2回転ほどしているそうです。
味方にパスをするときはもっと高速で回転していると思いますが、果たして回転させるとどう違うのか考察をしていく心意気です(^^)

カマキリ

自宅で解析できる記事は他にも書いています。

モデル作成と勉強しながら、アウトプットのため記事にまとめていきます。最終的にはOpenFOAMを使ってバスケットボールまわりの流れを解析します。

頑張りますよ(‘ω’)ノ

使用環境

  • Windows11
  • FreeCAD:0.20
  • OpenFOAM-v2212 (2006)ESI版
  • Paraview:5.11.0

innerとouterを合体させる

別のモデルのメッシュ情報を合体させるためにはmergeMeshesを使います。
まず、現在のフォルダの状態を確認しておきましょう。

モデル情報は2つあります。

  • バスケットボール周辺:inner
  • 外部の計算領域:outer

こちらはParaViewで別々モデルを表示させただけですので、メッシュ情報としてはまだ合体していません。まずはinnerモデルをコピーします。

これで新たなmergeというモデルができたので、そちらにinnerとouterを合体させたモデルを作成します。

合体するには以下のコマンドを使います。

これによりmerge(元はinnerのモデル)にouterのメッシュが追加されました。
では、mergeでのメッシュ状態をParaViewで確認してみましょう。

この状態ではin_to_outとout_to_inの境界の節点は結合しておらず別々の境界となっています。この状態で解析をすると球体の空洞のまわりというよりin_to_out(もしくはout_to_in)が壁になってしまう解析になります。

cyclicAMI

異なるメッシュ状態であっても周期境界 (格子の切り方が違う2面をつなぐ Cyclic Arbitrary Mesh Interface (cyclicAMI)タイプ)を課すことで解析することができます。

cyclicAMIの記事は下記にも書きましたのでご参考ください。

先ほど作成したmergeでの状態をコピーします。

解析設定はcyclicAMI_runで行うことにします。

やることは以下の2つです。

  • constant/polyMesh/boundaryの境界条件を変更
  • 境界条件0/U,p,k,omega,nut,alphatの境界条件を変更

constant/polyMesh/boundary(修正前)

0/U(修正前)

これをchangeDictionaryDictで修正します。

もう少し楽な書き方があるかもしれませんが・・・

これで「constant/polyMesh/boundary」と「0/U, 0/p, 0/k, 0/omega, 0/nuTilda, 0/nut」の境界条件が変更されます。

これにより境界条件が変わります。

解析実行

では解析実行しましょう。
今回は非圧縮の定常流れ(k-omega SST)使います。

  • inlet:流速(1.0, 0, 0) m/s
  • 動粘性係数:nu 1.5e-5[m2/s]

system/controlDictには残差、連続の式の誤差、抗力係数を出力する設定を記述します。

今回は半径は128mm(バスケットボールが125mm)なので投影面積$A=\pi r^2$より計算される値「Aref 0.05144576;」を書きました。

では、計算実行します。

計算結果を確認します。

残差と連続の式による誤差は最低確認するようにしましょう。

連続の式の誤差

  • sum local : 誤差絶対値の格子体積重み付け平均
  • global : 誤差(符号あり)の格子体積重み付け平均
  • cumulative : globalの累積

レイノルズ数:$Re=\frac{Ud}{\nu}=\frac{1.0*0.128}{1.5e-5}=8,533$なので乱流状態です。

乱流状態だと抗力係数は一定値0.44になるということです。
高いレイノルズ数になるとドラッグクライシスと呼ばれる抗力係数がガクっと下がる領域が出ますが、この領域をCAE解析で再現するには相当なメッシュ数と非定常流れを解かないといけないため、本記事では扱いません(自宅PCのすぺっくではきついです)。

今回計算したモデルで抗力係数を確認してみましょう。

postProcessing/forceCoeffs(sphereMeshed)/0/coefficient.dat

800~1000stepの平均の抗力係数Cd値は0.25です。
これは球体まわりの抗力係数Cd=0.44と比べると小さい値です。

文献値とCAEの結果が合わなかった原因はまだわかりませんが、以下の要因が考えられます。

  • 解析領域の狭さ
  • スキームの選択
  • 球体周りのメッシュの直交性の悪さ
  • cyclicAMIが悪さをしている
  • その他計算条件の見直し(乱流モデルなど)

球体周りで渦が発生しています。
球体周り流れの再現性など影響を受けると考えれれる原因をひとつずつ潰していくしかないですね。

改善の余地はまだありそうなので、次の機会にトライしてみます。

まとめ

今回はバスケットボールのまわりの下準備のため球体まわりの流体解析を行いました。
メッシュ生成は前回までの記事でblockMeshで作成し全てのメッシュを6面体メッシュで作りました。

今回行った球体まわりの抗力係数は文献値のCd=0.44になりませんでした。本記事のように抗力係数が正しい値にならなかった場合には解析条件を修正する必要があります。

例えば以下の記事では概ね文献値通りの抗力係数を示してくれます。
こちらと比較して今回の解析条件は何が違うのか調査する必要があります。

次回のアクションとしては、以下の修正を行ったときの結果への影響を検証します。

  1. 解析領域を広げる
  2. cyclicAMIをやめる
  3. 球体周りのメッシュサイズを細かくする

結論「球体周りのメッシュサイズを細かくする」ことで文献値と近くなりました。

おすすめ参考図書

☟こちらは、OpenFOAMの日本語書籍として重宝しているわかりやすい参考書だと思います。

OpenFOAMによる熱移動と流れの数値解析(第2版)

OpenFOAMによる熱移動と流れの数値解析(第2版)

3,520円(12/26 10:31時点)
Amazonの情報を掲載しています

☟こちらもOpenFOMの古いバージョンでの和訳になります。さすがにこちらはバージョンに対する日本語でのケアはしていないので、OpenFOAMに慣れている方は購入しても良いかと思います。僕は「日本語でまとまっている内容」なので少し重宝しています。

OpenFOAMプログラミング

OpenFOAMプログラミング

Mari´c,Tomislav, H¨opken,Jens, Mooney,Kyle
8,250円(12/26 19:52時点)
Amazonの情報を掲載しています

☟以下に、もっと初心者向けの同人誌を紹介しておきます。
初心者は「ってか、まずどうやってOpenFOAMをインストールするの?」というところからつまずきがちです。
そんな時は、以下の書籍をおすすめします。

改訂新版 OpenFOAMの歩き方 (技術の泉シリーズ(NextPublishing))

改訂新版 OpenFOAMの歩き方 (技術の泉シリーズ(NextPublishing))

川畑 真一
2,376円(12/26 00:04時点)
発売日: 2022/04/15
Amazonの情報を掲載しています

インストール方法とチュートリアルで流体解析を体験・・・ちょっと高度な解析まで解説があります。著者曰くOpenFOAMのバージョンの追跡を行いながら、書籍をアップデートするようなので安心ですね。

OpenFOAMコードの辞書的な扱いとしては以下の参考書が大変役に立ちます。
本記事ではESI版のOpenFOAMを使っているため本書のFoundation版で対応していない部分がありますが、その辺を考慮しても持っていて損はないでしょう。

OpenFOAMライブラリリファレンス

OpenFOAMライブラリリファレンス

株式会社テラバイト, 人見 大輔
16,500円(12/26 08:40時点)
Amazonの情報を掲載しています

今回の記事はこちらの著者の方からモデル提供をいただきモデル作成の解説を行いました。
OpenFOAMでメッシュ作成

 

関連記事もどうぞ

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です