1. OpenFOAMによる熱流体解析
OpenFOAMはopenfoam foundationが公開している無償の熱流体解析ソルバーで、誰でも自由にライセンスを気にすることなく使うことができます。所有しているPCに何台でもインストールして計算することも可能ですし、数10、数100並列の大規模計算も無償で実行できます。
OpenFOAMは市販の流体解析ソフトと同等の機能を有しているため、世界中の流体解析者が様々な用途で利用しています。一方で、コマンドベースの操作が基本となるOpenFOAMの特性上、苦手とする分野も存在します。OpenFOAMでは、計算フォルダ下に、0、constant、systemの3個のフォルダを準備し、計算内容に応じて所定のファイルを各フォルダ下に作成します。chtMultiRegionFoamソルバーを利用した固体内の熱伝導を考慮した計算では、さらに、 0、constant、systemの3個のフォルダ下に、材料毎にフォルダを分けて準備する必要があります。また、材料毎に、他の材料と接しているサーフェースに分けて境界条件を設定する必要があります。このため固体部品の種類が多いほど、モデル設定作業が複雑になってしまいます。
例えば、右図に示す、基板(FR-4)、チップ(シリコン)の2種類の固体材料を含むシンプルな筐体内の熱流体解析を考えます。
計算フォルダの構成
フォルダを材料毎に分けて作成する必要があります。
境界条件(パッチ)の設定
さらに、材料毎に他の材料と接しているサーフェスを分けて指定する必要があります。
① 基板とチップが接している面
② 基板と空気が接している面
③ チップと基板が接している面
④ チップと空気が接している面
⑤ 空気とチップが接している面
⑥ 空気と基板が接している面
⑦ 流入口
⑧ 流出口
⑨ 筐体壁面
モデル内に存在する個体材料の種類が増えるほど、モデル作成作業が複雑になってしまいます。今回の例では筐体はモデル化していませんが、筐体も個体材料としてモデル化する場合、フォルダと境界条件の設定はさらに増えることになります。
これらの問題を回避する方法の一つとして、市販ソフトの利用が挙げられます。本解析事例では、(米)アルテア社のプリプロセッサHyperWorksを利用してOpenFOAM用のメッシュを作成しました。
HyperWorksの紹介ページ
HyperWorksを利用すると、コマンドで境界条件(パッチ)を設定するより作業時間を大幅に短縮できます。
2. モデル概要
chtMultiRegionFoamソルバーで、固体内の熱伝導を含む筐体の熱流体解析を実施しました。図1にモデルの概要図を示します。8個の個体材料を定義し、流入口と流出口を1か所ずつ設定しました。なお、流入口にはポーラス体を定義しました。CPU、チップA、チップBにそれぞれ発熱量を定義し、ケース外壁は断熱としました。
計算は4ケースおこない、ケース1-1から1-3では通風抵抗(システムインピーダンス)を確認するため流出口に速度を定義しました。ケース2ではP-Q特性によるファンモデルを設定して計算しました。また、輻射モデルはfvDOM法を定義しました。なお、計算は3次元-定常-非圧縮としました。表1に計算ケースを示します。
3. 計算条件
図2に計算条件を示します。図3にケースで流出口に定義したP-Q特性を、表2に個体材料の材質を示します。なお、流入口のポーラスモデルはDarcy-Forchheimer則を適用しました。
◆空気の物性値
密度:1.2 [kg/m3]
粘性係数:1.8×10-5 [Pa・s]
プラントル数:0.71 [-]
◆ 輻射
fvDOM法
4. OpenFOAMの計算フォルダ
固体内の熱伝導を含む単相の熱計算では、chtMultiRegionFoamソルバーで計算する必要がありますが、異なる材料毎にフォルダを分けてモデルを作成する必要があります。本モデルは流体が1種類、固体材料が8種類のため、計算フォルダの構成は以下になります。
すべて手作業で計算フォルダを準備すると作業が煩雑になるため、(米)アルテア社のHyperWorksや弊社が開発した専用プリプロセスソフトGUI-FOAMを活用すると、モデル作成時間を大幅に短縮できます。
5. 計算結果①(ケース1-1~1-3)
図4に、ケース1-1から1-3の中心断面における流速のコンター図を示します。表3に、ケース1-1から1-3の流量と圧力損失を示します。
表3の結果から、本モデルの通風抵抗(システムインピーダンス)をExcelの近似曲線機能を使って作成しました。
6. 計算結果②(ケース2)
図6にケース2の中心断面の流速を、図7に流跡線を示します。
図8に表面温度のコンター図を、表4に測定ポイント1~5の温度を示します。
図8. 表面温度のコンター図[℃]
図9に、流量と圧力損失の計算結果(paraviewで取得)の値を、P-Q特性とシステムインピーダンスに重ね掛けした図にプロットします。
図9. 動作点の確認
7. まとめ
固体内の熱伝導を含む単相の熱計算では、chtMultiRegionFoamソルバーで計算する必要がありますが、異なる材料毎にフォルダを分けてモデルを作成する必要があります。
アルテア社のHyperMeshを利用する事で、patchやCellZoneの指定が簡単に行えるため、複数の固体部品を含む熱流体解析であっても少ない工数で実行可能です。
また、流出口に流速を指定した計算を複数パターン実行する事で、通風抵抗(システムインピーダンス)を調査することができます。
流出口にP-Q特性を定義する事で、ファンの動作点における熱流体解析を実施できます。
市販のソフトで実行していた熱流体解析をOpenFOAMに切り替えることで、数値シミュレーションのコストを大幅に削減する事ができます。
補足
補足①:ポーラス体の設定
スポンジやスリットなど微小な穴の開いた領域を流体が通過すると、流動抵抗が発生します。メッシュサイズに比べて穴の大きさが微小な場合、穴の一つ一つを形状としてメッシュ作成してしまうと、メッシュ数が膨大になり、計算時間が長くなくなってしまいます。
このため、流体解析では多くの場合ポーラス体を使って流動抵抗を再現します。ポーラス体を定義した領域を流体が通過すると、流速に応じて圧力損失が付加されます。
OpenFOAMには様々なポーラスモデルが実装されていますが、ここでは計算に使用したDarcy-Forchheimer則について説明します。
ここで、μは粘性係数、ρは密度、 uは流速、 dとfはポーラスのすき間形状によって決まるパラメータを示します。式から分かる通り、 Darcy-Forchheimer則では流速の1乗に比例する項と、流速の2乗に比例する項の和で抵抗を再現しています。
OpenFOAMでポーラス体を設定する方法を簡単に説明します。
1.ポーラス体を設定する領域はCellZoneを分けて定義します。
2.constantフォルダに、fvOptionsファイルを作成します。
3.typeをexplicitPorositySourceに指定します。
4.explicitPorositySourceCoeffs内のtypeでDarcyForchheimerを指定します。
参考として、dが10000(等方性)、fが5000(等方性)の時のfvOptionsのコマンド(一部)を以下に示します。
補足②:流出口に設定するP-Q特性
流体解析でファンをモデル化する方法は複数存在します。例えば、ブレードのCADデータを作成し、実際にスライディングメッシュでブレードに回転運動を定義する事も出来ます。ただし、この方法は精度は高いですが計算時間がかかってしまうため、流体解析では多くの場合P-Q特性でファンを簡易的にモデル化します。
P-Q特性は、ファンの能力を流量と圧力損失のグラフで表現したファン固有の指標で、ファンメーカーが公開しています。通風抵抗(=圧力損失)が0の場合、最大の流量Q0で風を送ることができます。通風抵抗が小さい図中のポイント1では、流量Q1で動作できます。一方、抵抗が大きいポイント2に設置した場合、流量Q2でしかてファンは動作できません。
なお、筐体の通風抵抗がP0より大きい場合、ファンを設置しても風は発生しないことになります(=ファンの能力では、通風抵抗に逆らって風を送ることができない)。この場合、電圧を上げる、ファンを直列に配置する、高性能なファンに交換する等の対応が必要になります。
OpenFOAMではP-Q特性を考慮した計算が可能です。ファンを計算領域内部に設定する場合と計算領域端部に設定する場合では、設定手順が異なります。ここでは簡単に流出口(端部)にP-Q特性を設定する方法を説明します。
1. P-Q特性を記述したファイルを、ファイル名:fanCurveとして計算フォルダ内に置きます。
2. 0フォルダのp_rgh等の圧力を設定するファイルで、流出口のパッチのtypeをfanPressureに指定します。
3. fileコマンド(1.で作成したfanCurveファイルの置き場所)やdirectionコマンド等を指定します。
4. UファイルのtypeはpressureInletOutletVelocity;に指定します。
補足③:動作点
動作点は、通風抵抗とファンのP-Q特性を重ね掛けした交点となります。筐体内部に設定する発熱量に対して、必要となる流量は手計算で概算できますので、いろいろなファンのP-Q特性に通風抵抗を重ね掛けする事で、流量を事前に確認する事ができます。
例として、0.03m3/sの流量が必要な場合を考えます。
ファンAの動作点では、流量が0.017 m3/sしかないため、能力が不足していることになります。一方、ファンBであれば、流量は0.034 m3/s程度得られそうなため、必要な流量を確保できそうです。