OpenFOAM

【SALOMEでヒートシンクの熱流体固体連成メッシュ作成】chtMultiRegionSimpleFoam用マルチリージョンモデル構築手順

こんにちは(@t_kun_kamakiri

OpenFOAMの熱流体固体連成によるヒートシンクの熱流体解析の設定方法を解説します。
使用するソルバはchtMultiRegionSimpleFoamで熱流体と固体を連成させた定常解析用のソルバになります。

OpenFOAMv2412のバージョンにおいて現在は、浮力を考慮した熱流体解析ソルバは以下のものがあります。

ソルバ名定常 / 非定常主な特徴主な用途・備考
chtMultiRegionSimpleFoam定常多領域の熱流体連成(非圧縮性)構造物と流体の熱連成、定常問題向け
chtMultiRegionFoam非定常多領域・非圧縮性の時間依存連成解析熱伝導と流体連成の過渡解析
chtMultiRegionTwoPhaseEulerFoam非定常多領域 + 二相流(Euler-Euler) + 熱連成液体/気体の二相流+固体との熱連成に対応
buoyantSimpleFoam定常単領域の自然対流・熱伝導密度差による自然対流、定常解析向け
buoyantPimpleFoam非定常上記の非定常版過渡的な自然対流解析
buoyantBoussinesqSimpleFoam定常Boussinesq近似(小温度差)温度変化が小さい自然対流
buoyantBoussinesqPimpleFoam非定常上記の時間依存版過渡的自然対流、簡略化モデル

この中のchtMultiRegion系は流体(液体、気体)・固体の複数領域の熱流体解析を行うために設計されています。
ただ、テキストベースで解析設定しようとすると、めちゃくちゃ大変です。
以下にOpenFOAMが用意しているチュートリアルを解説した記事がありますので、一度読んでみると良いでしょう。

以前にsappyHexMeshでヒートシンクの固体・流体連成の解析を紹介しました。

【ヒートシンクの熱流体(1)】OpenFOAMの熱流体固体連成のメッシュ作成こんにちは(@t_kun_kamakiri) OpenFOAMの熱流体固体連成によるヒートシンクの熱流体解析の設定方法を解説します。 ...
【ヒートシンクの熱流体(2)】OpenFOAMの熱流体固体連成の計算実行 こんにちは(@t_kun_kamakiri) OpenFOAMの熱流体固体連成によるヒートシンクの熱流体解析の設定方法を解...

今回は違った方法でモデル作成を行いヒートシンクの解析まで行います。
領域分割やメッシュ作成はSALOMEを使用します。

本記事の内容

SALOMEを使ったマルチリージョン用モデル作成の手順を紹介します。

OpenFOAM v2412(WSL Ubuntu 22.04)
SALOME 9.15.0

モデル作成

モデル作成はFreeCADモデルで行いました。

形状は非常にシンプルなので、ここでは詳しい解説は行いません。

発熱減の底面は厚み2mmで42mm×40mmの大きさとします。

以下のように厚み2mm高さ15mmのフィンが9個並んでいるものとします。

外部領域を作成し、STEPファイルとして出力しておきました。

SALOMEでメッシュ分割

ここからSALOMEでメッシュ作成を行います。

SALOMEのインストール

salomeのダウンロードはこちらから行います。

zipファイルでダウンロードして適当なフォルダで解凍すると使用することができます。

解凍が済んだらrun_salome.batをダブルクリックするとsalomeが起動します。

領域分割および境界面作成

まずはSTEPファイルを読み込みます。

読み込むと以下のようにモデルは一体ものとなっています。

一体ものをソリッドに分解します。
分解するとソリッドの名前が文字化けしていたので、わかりやすい名前に変更しておきます。

このようにソリッドに分解されていますが、領域が2つに分かれているというわけではありません。

例えばこのようにair領域だけを表示させると直方体のソリッドモデルになっています(heatsinkモデルで区切られているわけではない)

ここから領域を分解したり、ヒートシンクの底面の面分解をしたりしたいので、少々複雑ですがその手順を示したいと思います。

まずは全体のモデルをソリッドに分解します。

ヒートシンクモデルと外部領域でカットすると底面がカットされた面を作成することができます。

そして水色の開いた面を作成するために以下の手順を踏みます。
一体もののシェルを面に分解します。(100個近くの面に分解されます)

以下のようにうまいことアングルを変えながら不要な面を削除していきます。

ヒートシンクの底面を結合します。

底面がカットされた外部領域とヒートシンクの底面とをエッジを残して結合します。
これで、外部領域はヒートインクのエッジが残った閉じた面になりました。

ここから外部領域をソリッドに戻します。

これで底面のエッジが残った状態のソリッドができました。

2つのソリッドを表示させると以下のようになります。
まだ、2つのソリッドが存在するだけで、領域に分割されているわけではありません。

領域分割するためにパーティションで区切ります。

これで外部領域とヒートシンクは完全に区切られましたが、まだ区切られただけで領域がソリッドにはなっていません。

以下で2つのソリッドを作成します。

これで外部領域とヒートシンクが区切られた2つのソリッドが作成できました。

外部領域の底面に境界面を設定したいので少々手順が複雑になりました。

境界面に名前を付ける

ここからは境界面に名前を付けていく作業です。
操作としては面をグルーピングしていきつつ名前を付けていくだけなので、それほど難しい手順ではありません。

付ける名前は各面で以下とします。

メッシュ作成

続いてメッシュ作成を行います。
今回はメッシュ作成は簡単に行いたいのでテトラメッシュを基本としたメッシュにします。

境界層を設定したい場合は以下のようにします。
ヒートシンク周りは少し細かめに境界層を3層入れます。

外部領域も境界層を3層入れておきます。

あまりヒートシンク周りの境界層を厚くし過ぎると、ヒートシンクの内側で境界層をが干渉しあってメッシュ品質が悪くなってワーニングを出します。
ですので、境界層は干渉しあわないようにサイズを調整する必要があります。
※本当はヒートシンクの外側だけに境界層を入れたいのですが、やり方がわからず…

メッシュを切ると以下のようになっています。
外部領域がめちゃくちゃ狭いですが、とりあえずこれでいきます。

OpenFOAM用にメッシュをエクスポートして完成です!

まとめ

SALOMEでマルチリージョン用のメッシュ作成ができました。

次回はこちらのようにOpenFOAMを使った固体・流体連成の解析設定を紹介します。

関連記事もどうぞ

COMMENT