説明

熱流体シミュレーションプログラム,熱流体シミュレーション装置および熱流体シミュレーション方法

【課題】熱流体シミュレーションにより熱分布と流体の流れとを迅速に把握できるようにする。
【解決手段】流速場および温度場の事前シミュレーションを行ない、事前シミュレーション中の流速場および温度場のそれぞれについてスナップショットデータを収集し、収集されたスナップショットデータについて主成分分析を行なうことにより流速場用次元変換行列および温度場用次元変換行列を算出し、算出された流速場用次元変換行列および温度場用次元変換行列を用いて流速場の解析モデルおよび温度場の解析モデルをそれぞれ自由度削減モデルに変換し、流速場および温度場のシミュレーションを解析自由度の削減レベルで行なう。

【発明の詳細な説明】
【技術分野】
【0001】
本件は、流速場および温度場のシミュレーションを行なう熱流体シミュレーションプログラム,熱流体シミュレーション装置および熱流体シミュレーション方法に関する。
【背景技術】
【0002】
サーバ等の製品を開発する際やデータセンタ等を構築する際には、熱流体シミュレーションを利用して熱分布と空気の流れとを事前に把握することにより、熱設計を効率化する取り組みが行なわれている。
一般に、熱流体シミュレーションでは、時系列的に連続する複数の時間ステップが設定され、解析条件に基づき熱流体方程式を解く処理を時間ステップ毎に繰り返す、時系列シミュレーションが行なわれる。
【0003】
このような熱流体シミュレーションでは、下記理由(a1),(a2)のために、膨大な計算時間が必要となる。
理由(a1):熱流体方程式の解法上の制限、具体的にはCFL(Courant-Friedrichs-Lewy)条件により、時間ステップの時間間隔を大きく取れないこと。
理由(a2):各時間ステップにおいて状態変化を表す微分方程式(熱流体方程式)を解く計算コストが大きいこと。
【0004】
これに対し、上記熱流体シミュレーションと同様の時系列シミュレーションを行なう、非圧縮流体のシミュレーションでは、上記理由(a1),(a2)による計算時間の増大に対処すべく、下記手法(b1),(b2)が知られている。
手法(b1):微分方程式の各項を個別に考慮して逐次的に解く安定的逐次解法
手法(b2):事前計算の結果を利用して、問題の本質を捉えたまま解析自由度を削減する解析自由度削減法
【0005】
流体シミュレーションは、空気などの流体の流れの時間変化を表す微分方程式(ナビエ・ストークス方程式;Navier-Stokes equations)に基づいている。これに対し、熱流体シミュレーションは、ナビエ・ストークス方程式と熱の時間変化を表す熱移流拡散方程式とを連立させた微分方程式に基づいたシミュレーションであり、上述のような手法(b1),(b2)をそのまま適用することはできない。
【0006】
したがって、非圧縮流体の熱流体シミュレーションでは、上記理由(a1),(a2)による計算時間の増大に対処する手立ては知られておらず、依然として膨大な計算時間が必要となっている。そのため、熱設計において、熱分布と流体の流れとを迅速に把握することができていない。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2007−179501号公報
【特許文献2】米国特許第6266071号明細書
【非特許文献】
【0008】
【非特許文献1】Jos Stam, “Stable Fluids”, SIGGRAPH1999, ACM, pp.121-128
【非特許文献2】Adrien T reuille, et al., “Model Reduction for Real-time Fluids”, SIGGRAPH2006, ACM, pp.826-834
【発明の概要】
【発明が解決しようとする課題】
【0009】
1つの側面では、本件は、熱流体シミュレーションにより熱分布と流体の流れとを迅速に把握できるようにすることを目的とする。
【課題を解決するための手段】
【0010】
本件の熱流体シミュレーションプログラムは、流速場および温度場のシミュレーションを行なうコンピュータに、
流速場および温度場のシミュレーションをそれぞれ所定の解析自由度で行ない、
前記所定の解析自由度でのシミュレーションの結果に基づき前記所定の解析自由度よりも小さい解析自由度の削減レベルを決定し、流速場の解析モデルを、前記所定の解析自由度から、流速場について決定された解析自由度の削減レベルへ変換する流速場用次元変換行列を算出するとともに、温度場の解析モデルを、前記所定の解析自由度から、温度場について決定された解析自由度の削減レベルへ変換する温度場用次元変換行列を算出し、
算出された前記流速場用次元変換行列および前記温度場用次元変換行列を用いて流速場の解析モデルおよび温度場の解析モデルをそれぞれ自由度削減モデルに変換し、流速場および温度場のシミュレーションを前記解析自由度の削減レベルで行なう、
処理を実行させる。
【0011】
また、本件の熱流体シミュレーション装置は、流速場および温度場のシミュレーションを行なうもので、第1シミュレーション部,分析部および第2シミュレーション部を有している。第1シミュレーション部は、流速場および温度場のシミュレーションをそれぞれ所定の解析自由度で行なう。分析部は、前記第1シミュレーション部によるシミュレーション結果に基づき前記所定の解析自由度よりも小さい解析自由度の削減レベルを決定し、流速場の解析モデルを、前記所定の解析自由度から、流速場について決定された解析自由度の削減レベルへ変換する流速場用次元変換行列を算出するとともに、温度場の解析モデルを、前記所定の解析自由度から、温度場について決定された解析自由度の削減レベルへ変換する温度場用次元変換行列を算出する。第2シミュレーション部は、前記分析部によって算出された前記流速場用次元変換行列および前記温度場用次元変換行列を用いて流速場の解析モデルおよび温度場の解析モデルをそれぞれ自由度削減モデルに変換し、流速場および温度場のシミュレーションを前記解析自由度の削減レベルで行なう。
【0012】
さらに、本件の熱流体シミュレーション方法は、流速場および温度場のシミュレーションをコンピュータにより行なうものであって、
流速場および温度場のシミュレーションをそれぞれ所定の解析自由度で行ない、
前記所定の解析自由度でのシミュレーションの結果に基づき前記所定の解析自由度よりも小さい解析自由度の削減レベルを決定し、流速場の解析モデルを、前記所定の解析自由度から、流速場について決定された解析自由度の削減レベルへ変換する流速場用次元変換行列を算出するとともに、温度場の解析モデルを、前記所定の解析自由度から、温度場について決定された解析自由度の削減レベルへ変換する温度場用次元変換行列を算出し、
算出された前記流速場用次元変換行列および前記温度場用次元変換行列を用いて流速場の解析モデルおよび温度場の解析モデルをそれぞれ自由度削減モデルに変換し、流速場および温度場のシミュレーションを前記解析自由度の削減レベルで行なう。
【発明の効果】
【0013】
熱流体シミュレーションにより熱分布と流体の流れとを迅速に把握することが可能になる。
【図面の簡単な説明】
【0014】
【図1】本実施形態の熱流体シミュレーション装置のハードウエア構成および機能構成を示すブロック図である。
【図2】本実施形態の熱流体シミュレーション装置の機能構成および動作を説明するための図である。
【図3】本実施形態の熱流体シミュレーション装置の処理の流れを説明するための図である。
【図4】(A),(B)は熱流体シミュレーションで用いられる格子モデルを示す図である。
【図5】本実施形態の熱流体シミュレーション装置によるシミュレーション結果の第1表示例(折れ線グラフ)を示す図である。
【図6】本実施形態の熱流体シミュレーション装置によるシミュレーション結果の第2表示例(表)を示す図である。
【図7】本実施形態の熱流体シミュレーション装置によるシミュレーション結果の第3表示例(コンター図)を示す図である。
【図8】本実施形態の熱流体シミュレーション装置によるシミュレーション結果の第4表示例(ベクトル分布図)を示す図である。
【図9】本実施形態の熱流体シミュレーション装置によるシミュレーション結果の第5表示例(カラーマップ)を示す図である。
【図10】解析条件(境界条件)の変更機能を有する本実施形態の熱流体シミュレーション装置の処理の流れを説明するための図である。
【図11】本実施形態の参照演算子を説明すべく実次元空間における参照対象セルの位置を示す図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して実施の形態を説明する。
〔1〕本実施形態の熱流体シミュレーション装置の構成および機能
図1は、本実施形態の熱流体シミュレーション装置1のハードウエア構成および機能構成を示すブロック図、図2は、本実施形態の熱流体シミュレーション装置1の機能構成および動作を説明するための図である。
【0016】
図1および図2に示す熱流体シミュレーション装置1は、流速場および温度場のシミュレーションを行なうもので、入力操作部10,処理部20,記憶部30および表示部40を有している。なお、入力操作部10は、ユーザによって操作され各種情報を本装置1に入力するマンマシンインタフェース、例えばマウス,キーボード等である。処理部20は、CPU(Central Processing Unit)等である。記憶部30は、RAM(Random Access Memory),ROM(Read Only Memory),HDD(Hard Disk Drive),SSD(Solid State Drive)等の内部記憶装置であってもよいし、外部記憶装置であってもよい。また、表示部40は、CRT(Cathode Ray Tube),LCD(Liquid Crystal Display)等のディスプレイである。
【0017】
処理部20は、熱流体シミュレーションプログラムを実行することにより、後述する入力部21,表示制御部22,事前熱流体シミュレーション部23,スナップショット収集部24,モデル分析部25および自由度削減熱流体シミュレーション部26としての機能を果たす。
【0018】
記憶部30は、後述する計算条件データ,スナップショットデータ,解析自由度削減データおよびシミュレーション結果をそれぞれ保持する記憶領域31〜34を有するほか、上記熱流体シミュレーションプログラムなどを格納する領域(図示略)も有する。
表示部40は、表示制御部22によって表示状態を制御され、各種情報を表示するもので、例えば、記憶領域34に保存される熱流体シミュレーションの結果を表示する(図2の矢印a11参照)。
【0019】
入力部21は、シミュレーションに先立ち、ユーザがGUI(Graphical User Interface)機能を用い入力操作部10を操作して入力した、熱流体シミュレーションに必要な各種情報を受信し(図2の矢印a1参照)、受信した情報を記憶部30に記録・保存する。
ここで、入力部21により入力設定される、熱流体シミュレーションに必要な各種情報は、熱流体シミュレーションを行なう際の計算条件データを含み、計算条件データは、記憶領域31に保存される(図2の矢印a2参照)。記憶領域31に保存される計算条件データは、例えば、熱流体シミュレーションで用いられる形状モデル,物性値,各種境界条件,発熱条件,収束条件,抵抗条件,送流条件などの解析条件を含む。
【0020】
事前熱流体シミュレーション部(第1シミュレーション部)23は、入力操作部10および入力部21によりユーザから受け付けた命令に従い(図2の矢印a3参照)、記憶領域31の計算条件に基づき(図2の矢印a4参照)、熱流体シミュレーション、つまり流速場および温度場のシミュレーションを行なう。このとき、事前熱流体シミュレーション部23は、解析自由度を削減することなく、それぞれ所定の解析自由度(実次元、つまり前記所定の解析自由度を有する実次元空間)で流速場および温度場のシミュレーションを行なう。
【0021】
また、事前熱流体シミュレーション部23は、流速場および温度場のシミュレーションを、ナビエ・ストークス方程式および熱移流拡散方程式を含む後述する連立微分方程式(1)〜(3)に基づき実行する。流速場および温度場のシミュレーションの手法、つまり連立微分方程式(1)〜(3)の解法としては、安定的逐次解法や、上記特許文献1などに開示される格子法などが用いられる。本実施形態では、安定的逐次解法を採用した場合について説明する。安定的逐次解法では、後述するように、ナビエ・ストークス方程式(下記(1),(4)式参照)および熱移流拡散方程式(下記(3),(17)式参照)における各項が個別に考慮されて逐次的に解かれ、流速場および温度場のシミュレーションが実行される。
【0022】
スナップショット収集部(収集部)24は、事前熱流体シミュレーション部23によるシミュレーション中の流速場および温度場のそれぞれについて、所定のタイミングでスナップショットデータを収集する。このとき、収集部24は、様々の状況の流速場および温度場のスナップショットデータを網羅的に収集する。また、流速場は温度場よりも速く変化するため、収集部24は、流速場のスナップショットデータの収集を、温度場のスナップショットデータの収集時間間隔よりも短い時間間隔で行なう。なお、収集部24によるスナップショットデータを収集する上記所定のタイミングについては、例えば、記憶領域31に計算条件データとして予め記録保存されているものとする。
【0023】
収集部24によって収集される流速場のスナップショットは、事前熱流体シミュレーション部23による計算結果として得られる流体の流れの速度である。また、収集部24によって収集される温度場のスナップショットは、事前熱流体シミュレーション部23による計算結果として得られる温度分布である。スナップショットデータは、流速場と温度場とのそれぞれについて複数個収集される。収集部24によって収集された流速場のスナップショットは、記憶領域32に保存される(図2の矢印a5参照)。
【0024】
なお、事前熱流体シミュレーション部23および収集部24は、下記所定の終了条件を満たした場合に事前シミュレーションおよび収集処理を終了する。所定の終了条件は、例えば、事前シミュレーション開始後の経過時間が所定時間に達した場合や、事前熱流体シミュレーション部23による計算が定常状態に達した場合や、後述するスナップショット収集部24で所望のスナップショットの収集を完了した場合などとして与えられる。所定の終了条件については、例えば、記憶領域31に計算条件データとして予め記録保存されているものとする。
【0025】
モデル分析部(分析部)25は、記憶領域32におけるスナップショットデータ(図2の矢印a6参照)の主成分分析を行ない流体の流れや温度分布の解析自由度の削減レベルを決定するとともに、実次元の解析モデルから自由度削減モデルへの次元変換行列の算出を行なう。
より具体的に、分析部25は、記憶領域32における流速場のスナップショットデータおよび温度場のスナップショットデータのそれぞれについて、主成分分析を行なって前記所定の解析自由度よりも小さい解析自由度の削減レベルを決定する。このとき、分析部25は、主成分分析の結果である累積寄与度が所定閾値以上となる固有ベクトルの次元数を解析自由度の削減レベルとして決定する。
【0026】
そして、分析部25は、流速場の解析モデルを、所定の解析自由度(流速場の実次元)から、流速場について決定された解析自由度の削減レベルへ変換する流速場用次元変換行列を算出する。また、分析部25は、温度場の解析モデルを、所定の解析自由度(温度場の実次元)から、温度場について決定された解析自由度の削減レベルへ変換する温度場用次元変換行列を算出する。分析部25によって算出された流速場用次元変換行列および温度場用次元変換行列は、記憶領域33に解析自由度削減データとして保持される(図2の矢印a7参照)。
【0027】
自由度削減熱流体シミュレーション部(第2シミュレーション部)26は、記憶領域33の流速場用次元変換行列および温度場用次元変換行列を用い(図2の矢印a8参照)、流速場の解析モデルおよび温度場の解析モデルをそれぞれ自由度削減モデルに変換する。そして、自由度削減熱流体シミュレーション部26は、記憶領域31の計算条件に基づいて(図2の矢印a9参照)、流速場および温度場のシミュレーションを解析自由度の削減レベルで行なう。自由度削減熱流体シミュレーション部26によるシミュレーション結果は、記憶領域34に保存される(図2の矢印a10参照)。記憶領域34に記憶されたシミュレーション結果は、表示制御部22により表示部40において表示されるが(図2の矢印a11参照)、プリンタ(図示略)により紙などに記録されて出力されてもよい。なお、図2の矢印a12については、下記項目〔4〕において後述する。
【0028】
〔2〕本実施形態の熱流体シミュレーション装置の動作
次に、上述のごとく構成された本実施形態の熱流体シミュレーション装置1の動作について、図3〜図9を参照しながら説明する。
〔2−1〕熱流体シミュレーション装置の動作概要
本実施形態の熱流体シミュレーション装置1では、熱流体シミュレーションを高速化するために、非圧縮ナビエ・ストークス方程式と熱移流拡散方程式との連立方程式を、各項を個別に考慮した7つの方程式に分けて解くことにより、事前熱流体シミュレーションが行なわれる。そして、事前熱流体シミュレーションの結果(スナップショットデータ)に基づき解析モデルの解析自由度が削減され、解析自由度を削減した状態で熱流体の連立微分方程式が解かれ、周辺の空気との温度差で生じる流体の流れが浮力としてモデル化される。
【0029】
具体的に、本実施形態の熱流体シミュレーション装置1では、上記手法(b2)、つまり事前計算の結果を利用し解析自由度を削減する解析自由度削減法が、熱流体の解析に拡張される。つまり、第1シミュレーション部23において、事前に解析対象系の熱流体シミュレーション解析が行なわれる。そして、分析部25において、事前シミュレーションの結果を主成分分析することで、問題の本質的な自由度が分析され、解析の自由度を削減したモデルへの変換行列が、流速場および温度場のそれぞれについて導出される。その後で、第2シミュレーション部26において、解析自由度を削減したモデルを扱えるように改良した連立微分方程式を解くことで、熱流体についての時系列シミュレーションが行なわれる。
【0030】
第1シミュレーション部23による事前の解析は、例えば、上記手法(b1)の安定的逐次解法を用いて高速化される。安定的逐次解法は、既存の熱流体シミュレーション手法の1つである格子法の高速な解法である。ここで、非圧縮ナビエ・ストークス方程式は4つの項で構成され(下式(4)参照)、熱移流拡散方程式は3つの項で構成される(下式(17)参照)。安定的逐次解法では、これらの方程式におけるそれぞれの項について、各項のみの影響を考えた7つの方程式をたてると、個々の方程式は簡単なものとなり、各項についての方程式を安定的に解くことが可能となる。これにより、安定的逐次解法では、時系列シミュレーションにおける時間ステップの時間間隔を大きくとることが可能となり、事前の熱流体シミュレーションを高速に行なうことができる。
【0031】
また、本実施形態では、周辺の空気との温度差で生じる流体の流れが、浮力としてモデル化され、ナビエ・ストークス方程式の外力項(下式(4)の外力項(A)参照)に入れ込まれる。これにより、熱による流体の流れの影響を、ナビエ・ストークス方程式において考慮することができる。
以上のような本実施形態の熱流体シミュレーション手法の詳細について、以下、図3,図4および下式(1)〜(40)を参照しながら後述する。
【0032】
〔2−2〕熱流体シミュレーション装置における処理の流れ
次に、図3に示すフローチャート(ステップS11〜S22)に従って、本実施形態の熱流体シミュレーション装置1における処理の流れについて説明する。
シミュレーションに先立ち、ユーザが入力操作部10を操作して入力した、熱流体シミュレーションに必要な各種情報、ここでは計算条件データが、入力部21において受信されると、受信された情報は、記憶部30の記憶領域31に記録保存される(ステップS11)。計算条件データには、前述したように、例えば、熱流体シミュレーションで用いられる形状モデル,物性値,各種境界条件,発熱条件,収束条件,抵抗条件,送流条件などの解析条件が含まれる。
【0033】
この後、入力部21で、ユーザが入力操作部10を操作して入力した、熱流体シミュレーション実行命令が受信されると、熱流体シミュレーションが開始される(ステップS12)。熱流体シミュレーションが開始されると、まず、第1シミュレーション部23において、安定的逐次解法により、解析自由度を削減することなく、それぞれ所定の解析自由度で流速場および温度場のシミュレーション(事前熱流体シミュレーション)が実行される(ステップS13)。ステップS13での事前熱流体シミュレーションで用いられる安定的逐次解法については、下記項目〔2−4〕において下式(4)〜(22)を参照しながら後述する。
【0034】
第1シミュレーション部23による事前熱流体シミュレーション中には、収集部24により、流速場(流体の流れの速度場,流況)や温度場(温度分布)について、それぞれ複数個のスナップショットが収集される(ステップS14)。各スナップショットは、流速場または温度場を、記憶領域31に予め設定されたタイミングで抜き出したもので、記憶領域32に保存される。スナップショットの収集(サンプル収集)については、下記項目〔2−5−1〕において後述する。
【0035】
収集部24が、あるタイミングでスナップショットを収集すると、記憶領域31に設定された所定の終了条件に基づき、第1シミュレーション部23による事前シミュレーションおよび収集部24による収集処理を終了するか否かが判断される(ステップS15)。所定の終了条件が満たされず事前シミュレーションおよびスナップショット収集を未だ終了しない場合(ステップS15のNOルート)、ステップS13およびS14の処理が繰返し実行される。所定の終了条件が満たされた場合(ステップS15のYESルート)、つまり、事前シミュレーション開始後に所定時間経過した場合や、事前シミュレーションが定常状態に達した場合や、収集部24で所望のスナップショットの収集を完了した場合などには、ステップS16の処理が実行される。
【0036】
所定の終了条件が満たされると、分析部25により、記憶領域32における流速場のスナップショットデータおよび温度場のスナップショットデータのそれぞれについて、主成分分析が行なわれる(ステップS16)。スナップショットの主成分分析については、下記項目〔2−5−2〕において下式(23)〜(25)を参照しながら後述する。
【0037】
そして、主成分分析の結果に基づき、分析部25により、所定の解析自由度(実次元)よりも小さい解析自由度の削減レベルが、流速場のスナップショットデータおよび温度場のスナップショットデータのそれぞれについて、決定される(ステップS17)。このとき、主成分分析の結果である累積寄与度が所定閾値以上となる固有ベクトルの次元数が、解析自由度の削減レベルとして決定される。解析自由度の削減レベルの決定については、下記項目〔2−5−3〕において後述する。
【0038】
ついで、分析部25により、流速場用次元変換行列および温度場用次元変換行列が算出され、算出された流速場用次元変換行列および温度場用次元変換行列は、記憶領域33に解析自由度削減データとして保持される(ステップS18)。ここで、流速場用次元変換行列は、流速場の解析モデルを、所定の解析自由度(流速場の実次元)から、流速場について決定された解析自由度の削減レベルへ変換するものである。また、温度場用次元変換行列は、温度場の解析モデルを、所定の解析自由度(温度場の実次元)から、温度場について決定された解析自由度の削減レベルへ変換するものである。次元変換行列の算出については、下記項目〔2−5−3〕において後述する。
【0039】
次元変換行列が算出されると、第2シミュレーション部26により、記憶領域33の流速場用次元変換行列および温度場用次元変換行列を用いて解析自由度を削減した状態(解析自由度の削減レベルを有する解析自由度削減空間)で、熱流体シミュレーションが実行される(ステップS19)。具体的に、第2シミュレーション部26においては、記憶領域33の流速場用次元変換行列および温度場用次元変換行列を用い、流速場の解析モデルおよび温度場の解析モデルがそれぞれ自由度削減モデルに変換される。そして、自由度削減熱流体シミュレーション部26により、記憶領域31の計算条件(解析条件)に基づき、流速場および温度場のシミュレーションが解析自由度の削減レベルで行なわれる。第2シミュレーション部26によるシミュレーション結果は、記憶領域34に保存される。このような解析自由度削減法による熱流体シミュレーションについては、下記項目〔2−6〕において下式(30)〜(40)を参照しながら後述する。
【0040】
ステップS19において一の時間ステップについての熱流体シミュレーションが実行されると、シミュレーション結果の表示を行なうタイミングであるか否かが判断される(ステップS20)。シミュレーション結果の表示タイミングは、記憶部30の所定領域に予め設定されており、表示タイミングになった場合(ステップS20のYESルート)、記憶領域35のシミュレーション結果が、表示制御部23によって表示部40に表示される(ステップS21)。表示処理後、図3に示すフローチャートでは、ステップS19の処理に戻るが、ステップS22の処理へ移行してもよい。シミュレーション結果の表示処理については、下記項目〔2−7〕において図5〜図9を参照しながら後述する。
【0041】
一方、表示タイミングでない場合(ステップS20のNOルート)もしくはシミュレーション結果の表示後には、予め設定された終了条件に基づきシミュレーションを終了するか否かが判断される(ステップS22)。当該終了条件は、例えば、シミュレーション開始後の経過時間が所定時間に達した場合や、第2シミュレーション部26による計算が定常状態に達した場合である。当該終了条件が満たされずシミュレーションを未だ終了しない場合(ステップS22のNOルート)、熱流体シミュレーション装置1の処理は、ステップS19の処理に戻る。当該終了条件が満たされた場合(ステップS22のYESルート)、熱流体シミュレーション装置1は、処理を終了する。
【0042】
〔2−3〕非圧縮流体の熱流体シミュレーション
一般に、熱流体シミュレーションでは、時系列的に連続する複数の時間ステップが設定され、時間ステップ毎に計算を進める解析処理を繰り返す時系列シミュレーションが行なわれる。各時間ステップの計算においては、下記(1)〜(3)式からなる連立微分方程式を解くことにより、流速場および温度場の時間発展が行なわれる。ここで、(1)式は、流体の運動を記述する2階非線型偏微分方程式であるナビエ・ストークス方程式である。(2)式は、非圧縮性流れについての質量保存則から導かれる連続の式である。(3)式は、流体中の熱伝導を記述した熱移流拡散方程式である。
【0043】
【数1】

【0044】
これらの(1)〜(3)式において、uは流体の速度ベクトル、pは圧力、ρは密度、fは単位質量当たりに作用する外力ベクトル、νは動粘性係数、Tは温度、κは熱伝導係数、Sは外部から受け取る熱量を表す。ナブラ∇は、空間微分作用素である。また、(1)式および(3)式の左辺における、上部にドットを付されたuおよびTは、それぞれ、速度ベクトルuおよび温度Tの、時間tによる偏微分を示す。なお、以下、各式における太線表記の文字は、その文字に係る情報がベクトルまたは行列であることを示している。
【0045】
コンピュータ上で非圧縮流体の熱流体シミュレーションを行なう場合、上記の連立微分方程式(1)〜(3)式を解くために、解析空間は離散化され、シミュレーション部23,26が微分値を離散的に計算できるようにする。離散化の方法としては、図4(A)および図4(B)に示すように、連続的な解析空間を格子に分割する方法を用いる。また、格子に区切られた長方形や直方体をセルと呼ぶ。なお、図4(A)および図4(B)は熱流体シミュレーションで用いられる格子モデルを示す図であり、図4(A)は2次元の格子モデルを示し、図4(B)は3次元の格子モデルを示している。
【0046】
〔2−4〕安定的逐次解法
本実施形態においては、上述したように、第1シミュレーション部23による事前の解析は、安定的逐次解法を用いて行なわれる。安定的逐次解法は、既存の熱流体シミュレーション手法の1つである格子法の高速な解法である。ここで、非圧縮ナビエ・ストークス方程式(1)は4つの項で構成され(下式(4)参照)、熱移流拡散方程式(3)は3つの項で構成される(下式(17)参照)。安定的逐次解法では、これらの方程式におけるそれぞれの項について、各項のみの影響を考えた7つの方程式をたてると、個々の方程式は簡単なものとなり、各項についての方程式を安定的に解くことが可能となる。これにより、安定的逐次解法では、時系列シミュレーションにおける時間ステップの時間間隔を大きくとることが可能となり、第1シミュレーション部23による事前の熱流体シミュレーションを高速に行なうことができる。
【0047】
つまり、本実施形態では、一般に非圧縮流体シミュレーションに適用されている安定的逐次解法を拡張し、第1シミュレーション部23による非圧縮熱流体シミュレーションに適用することで、事前シミュレーションを高速に行なうことができる。以下に、安定的逐次解法の詳細について説明する。
ここで、非圧縮流体とは、密度の変化しない流体を指す。音速を超える速度で流体が伝播する現象を扱わない場合には、空気のような気体についても非圧縮性流体として扱う近似が非常に良く成り立つ。なお、空気中での音速は約340m/秒である。
【0048】
非圧縮流体シミュレーションは、流体の運動を記述するナビエ・ストークス方程式(1)と非圧縮性流れについての質量保存則から導かれる連続の式(2)とを連立させて、時間発展させることで行なわれる。
以下に、第1シミュレーション部23(図3のステップS13)において、ある時刻tの流速ベクトルuと温度Tを時間発展させることで、時間Δt後の時刻t+Δtでの流速ベクトルuと温度Tを求める計算手順を示す。
【0049】
〔2−4−1〕ナビエ・ストークス方程式の安定的逐次解法
安定的逐次解法では、ナビエ・ストークス方程式である下式(4)の右辺における4つの項(A)〜(D)を分離して方程式を解く。以下に、各項(A)〜(D)の解法を示す。なお、(A)は外力項、(B)は移流項、(C)は拡散項、(D)は圧力項である。
【数2】

【0050】
[Sub-Step1] 外力項(A)の計算
まず、上式(4)において外力項(A)のみの影響を考えた方程式として、下式(5)を立て、中間流速ベクトルustep1を求める。
【数3】

【0051】
ここで、熱による流体の流れの影響を考慮するために、周辺の空気との温度差で生じる流体の流れを、浮力としてモデル化し、ナビエ・ストークス方程式(1)の外力項(A)に入れ込む。標準温度T,熱膨張係数αおよび重力加速度ベクトルgを用いると、浮力は、次式(6)で表される。
【数4】

【0052】
初期流速ベクトルuおよび上式(6)を用いて、上式(5)を離散化すると、次式(7)が得られる。
【数5】

【0053】
[Sub-Step2] 移流項(B)の計算
Sub-Step1の計算により得られた中間流速ベクトルustep1を用いて、移流項(B)のみの影響を考えた方程式として、下式(8)を立て、中間流速ベクトルustep2を求める。
【数6】

【0054】
移流項(B)の計算には、セミラグランジュ(semi-Lagrange)法を用いる。セミラグランジュ法では、仮想流体粒子が時間Δtの間に動く経路上で仮想流体粒子が持つ物理量が変化しないと仮定する。この仮定の下、ある時刻tにおける全格子点上の流体粒子が、それぞれ時間Δt前に存在していた位置を算出する。例えば、時刻tに位置pに存在する粒子が、時刻t−Δtに存在した位置pは、下式(9)で表される。ここで、下式において太線表記のp,pは、流体粒子の存在位置を示すベクトルである。なお、セミラグランジュ法としては、例えば、「CFD最前線」日本機械学会編,共立出版(2007)に開示された技術が用いられる。
【数7】

【0055】
近傍格子点の速度を補間することで求めた位置における速度ベクトルをustep1(p,t−Δt)とすると、時刻tにおける位置pの速度ustep2は、次式(10)で表される。以上の手法により、方程式(8)を解く。
【数8】

【0056】
通常の移流項(B)を求める際に用いる差分法では、CFL条件により、時間Δt後に情報が伝わる距離(速度×Δt)が格子幅以下でないと精度が悪くなるため、時間ステップを大きくとることができない。しかし、セミラグランジュ法では、移流項(B)に関するCFL条件が不要になり、時間ステップを大きくとることができる。
【0057】
[Sub-Step3] 拡散項(C)の計算
Sub-Step2の計算により得られた中間流速ベクトルustep2を用いて、拡散項(C)のみの影響を考えた方程式として、下式(11)を立て、中間流速ベクトルustep3を求める。
【数9】

【0058】
上式(11)の右辺に中間流速ベクトルustep3を用いて、上式(11)の左辺を離散化すると、次式(12)が得られる。
【数10】

【0059】
上式(12)を変形すると、次のような連立方程式(13)が得られる。同式(13)を解くことにより、中間流速ベクトルustep3が得られる。
【数11】

【0060】
[Sub-Step4] 圧力項(D)の計算
圧力項(D)のみの影響を考えた方程式として、下式(14)を立て、同式(14)の左辺を、下式(15)のように離散化し、Sub-Step3の計算により得られた中間流速ベクトルustep3を用いて、中間流速ベクトルustep4を求める。
【数12】

【0061】
ここで、上式(15)の両辺の発散を計算し、非圧縮条件の式(2)を考慮して整理すると、下記連立方程式(16)が得られる。この連立方程式(16)を解くことで、圧力pが得られる。この圧力pを利用して、上式(15)により中間流速ベクトルustep4が求められる。
【数13】

【0062】
〔2−4−2〕熱移流拡散方程式の安定的逐次解法
続いて、熱移流拡散方程式(3)を同様の方法で解く。つまり、熱移流拡散方程式である下式(17)の右辺における3つの項(E)〜(G)を分離して方程式を解く。以下に、各項(E)〜(G)の解法を示す。なお、(E)は生成項、(F)は熱移流項、(G)は熱拡散項である。
【数14】

【0063】
[Sub-Step5] 生成項(E)の計算
上式(17)において、生成項(E)のみの影響を考えた方程式として、次式(18)を立て、中間温度Tstep5を求める。
【数15】

【0064】
初期温度Tを用いて、上式(18)を離散化すると、次式(19)が得られる。
【数16】

【0065】
[Sub-Step6] 熱移流項(F)の計算
Sub-Step4の計算により得られた中間流速ベクトルustep4とSub-Step5の計算により得られた中間温度Tstep5とを用いて、熱移流項(F)のみの影響を考えた方程式として、下式(20)を立て、中間温度Tstep6を求める。
熱移流項(F)の計算には、Sub-Step2と同様、セミラグランジュ法が用いられ、中間温度Tstep6が求められる。
【数17】

【0066】
[Sub-Step7] 熱拡散項(G)の計算
Sub-Step6の計算により得られた中間温度Tstep6を用いて、熱拡散項(G)のみの影響を考えた方程式として、下式(21)を立て、中間温度Tstep7を求める。
【数18】

【0067】
右辺に中間温度Tstep7を用いて、上式(21)の左辺を離散化して整理すると、下記連立方程式(22)が得られる。
【数19】

【0068】
上式(22)を解くことにより、中間温度Tstep7が得られる。
以上の方法で求めた中間流速ベクトルustep4および中間温度Tstep7を、それぞれ、ある時刻tの時間Δt後の時刻の流速ベクトルuおよび温度Tとする。
【0069】
〔2−5〕次元変換行列の算出
次に、スナップショット収集部24およびモデル分析部25による処理、つまり図3のステップS14,S16〜S18の処理について詳細に説明する。
〔2−5−1〕事前熱流体シミュレーションとサンプル収集
モデル分析部25により次元変換行列を算出する前に、項目〔2−4〕で上述した安定的逐次解法や、MAC(Marker And Cell)法により、解析自由度を削減していない状態で事前熱流体シミュレーションが実行される。なお、上記MAC法は、例えば、Francis H. Harlow and J. Eddie Welch : Numerical Calculation of Time‐Dependent Viscous Incompressible Flow of Fluid with Free Surface, Phys. Fluids 8, 2182 (1965)に開示されている。
【0070】
この事前熱流体シミュレーションの途中で、スナップショット収集部24(図3のステップS14)において、温度場や流速場を特定のタイミングで抜き出したスナップショット(サンプル)が、複数個収集される。
このとき、事前熱流体シミュレーションでは、解析条件を様々に変更したパターンでのシミュレーションや解析条件が時系列的に変化するシミュレーションが実行されるものとし、様々な状況が表現された流速場や温度場のスナップショットが網羅的に収集される。また、流速場は温度場よりも速く変化するため、スナップショット収集部24は、流速場のスナップショットデータの収集を、温度場のスナップショットデータの収集時間間隔よりも短い時間間隔で行なう。これにより、流速場および温度場のそれぞれについて、様々な状況下におけるスナップショットを確実に収集することができる。
【0071】
〔2−5−2〕スナップショットの主成分分析
モデル分析部25(図3のステップS16)では、流速場のスナップショットデータと温度場のスナップショットデータとのそれぞれについて、主成分分析(Principal Component Analysis:PCA)が実行される。
まず、流速場のスナップショットデータの主成分分析について説明する。
【0072】
収集した複数(例えばl個)のスナップショットのうちの一つを取り出し、すべての格子点での流速場をベクトルとして表現したベクトルuiを考える。解析モデルが3次元である場合には、このベクトルuiは、次式(23)で表される。ベクトルuiは、事前シミュレーションの結果のスナップショットを基にしているので、非圧縮条件の式(2)や壁での境界条件を満たす。
【0073】
【数20】

【0074】
ここで、uxik,uyik,uzikは、スナップショットiにおける格子点kでの速度(x,y,z成分)であり、cnは、格子点の総数である。
このベクトルuiを集めたn次元の基底Uが、下式(24)のように作成される。
【0075】
【数21】

【0076】
n次元の基底UをUUとして正方行列化した行列の主成分分析を行ない、対応する固有値が大きい順に固有ベクトルbiが並んだn次元の正規直交基底Bが、下式(25)のように求められる。
【0077】
【数22】

【0078】
〔2−5−3〕次元変換行列の決定
主成分分析の結果に基づき、モデル分析部25により、流速場のスナップショットデータついて、所定の解析自由度(実次元)よりも小さい解析自由度の削減レベルmが、以下のように決定される。
ここでは、n次元の正規直交基底Bのm(<n)番目までの固有ベクトルb1,b2,…,bmを用いた、次式(26)のような行列Pを考える。
【0079】
【数23】

【0080】
解析自由度削減レベルmは、モデル分析部25により決定される。例えば、主成分分析の結果である累積寄与度が所定閾値以上となる固有ベクトルの次元数が、解析自由度削減レベルmとして決定される。このように決定された正規直交基底Pは、次元変換行列と呼ばれ、特に、ここで算出された正規直交基底Pは、流速場用次元変換行列である。m次元の流速場用次元変換行列Pを用いると、1つのスナップショットの全体の流速場を表すn次元ベクトルuは、m次元ベクトルrを使った次式(27)で表される。
【数24】

【0081】
このように、流速場用次元変換行列Pを用いることで、自由度nの解析モデルを自由度mで表すことができる。また、下式(28)のように流速場用次元変換行列Pの逆行列を用いれば、逆の変換を行なうことができる。この逆変換を行なうことを「解析自由度を削減する」と呼ぶ。
【数25】

【0082】
以上の手続きを温度場のサンプルを集めたものに対しても行なうことで、温度場についての自由度変換行列、つまり温度場用次元変換行列Qも決定される。この温度場用次元変換行列Qを用いれば、自由度削減後の温度の列ベクトルsは、次式(29)のように与えられる。ここで、Tは自由度削減前の温度の列ベクトルである。
【数26】

【0083】
〔2−6〕解析自由度削減法による熱流体シミュレーション
上述のように流速場用次元変換行列Pおよび温度場用次元変換行列Qが算出されると、第2シミュレーション部26(図3のステップS19)において、算出された次元変換行列P,Qを用い、解析自由度を削減した状態で熱流体シミュレーションが、以下のように実行される。
【0084】
時系列的な物理シミュレーションにおいては、状態(ベクトル)u(t)から時間をΔtだけ進めた状態u(t+Δt)を、微分方程式の解として導出する。以下では、解析自由度を削減したモデルを利用して、熱流体シミュレーションを行なう手順を示す。
第2シミュレーション部26によるシミュレーションにおいても、以下に示すごとく、項目〔2−4〕で説明した安定的逐次解法と同様、7つのサブステップ[Sub-Step1]〜[Sub-Step7]から構成される。
【0085】
このとき、第2シミュレーション部26によるシミュレーションでは、n次元の流速ベクトルuは、流速場用次元変換行列Pを用い、上式(28)により、m(<n)次元の流速ベクトルrに変換される。同様に、温度ベクトルTは、温度場用次元変換行列Qを用い、上式(29)により、温度ベクトルTの次元数よりも少ない次元数の温度ベクトルsに変換される。つまり、第2シミュレーション部26においては、流速場用次元変換行列Pおよび温度場用次元変換行列Qを用い、流速場の解析モデルおよび温度場の解析モデルがそれぞれ自由度削減モデルに変換される。解析自由度を削減したモデルを用いたシミュレーションでは、変数の数が少なくなり計算量が削減されるため、元の自由度をもつモデルのシミュレーションよりも計算処理を大幅に高速化することが可能になる。
【0086】
[Sub-Step1] 外力項(A)
解析自由度が削減された状態の流速場の中間状態ベクトル(自由度削減流速ベクトル)rstep1を求める。
安定的逐次解で得られた外力項(A)の式(7)の解析自由度を、流速場用次元変換行列Pを用いて削減すると、次式(30)が得られ、中間状態ベクトルrstep1が求まる。
【数27】

【0087】
[Sub-Step2] 移流項(B)
Sub-Step1で得られた中間状態ベクトルrstep1を利用して、解析自由度が削減された流速場の中間状態ベクトルrstep2を求める。
下記移流項の方程式(31)を離散化し、Au=−(u・∇)とおく。このとき、方程式(31)を、両辺の解析自由度を削減した、状態ベクトルrの時間発展方程式にすると、下式(32)が得られる。
【数28】

【0088】
初期状態ベクトルをrstep1として、上記常微分方程式(32)の一般解を導出すると、次式(33)が得られ、中間状態ベクトルrstep2が求まる。この(33)式において、EAはArの固有ベクトル、ΛAはArの固有値を対角要素にもつ対角行列であり、Ar=EAΛAA-1である。
【数29】

【0089】
[Sub-Step3] 拡散項(C)
Sub-Step2で得られた中間状態ベクトルrstep2を利用して、解析自由度が削減された流速場の中間状態ベクトルrstep3を求める。
安定的逐次解法の拡散項(C)の式(11)の解析自由度を、流速場用次元変換行列Pを用いて削減すると、次式(34)が得られる。
【数30】

【0090】
初期状態ベクトルをrstep2として、上記常微分方程式(34)の一般解を導出すると、次式(35)が得られ、中間状態ベクトルrstep3が求まる。この(35)式において、EDはDの固有ベクトル、ΛDはDの固有値を対角要素にもつ対角行列であり、D=EDΛDD-1である。
【数31】

【0091】
[Sub-Step4] 圧力項(D)
流速場用次元変換行列P=[b1,b2,…,bm]の列ベクトルは、圧力項(D)を考慮した後のサンプルから取得されたものであるため、既に圧力項(D)の影響は考慮されている。このため、基底ベクトルbiの線形結合で表わされる、すべての流速場も、圧力項(D)の影響は既に考慮されている。そのため、圧力項(D)を改めて計算する必要はない。
【0092】
[Sub-Step5] 生成項(E)
解析自由度が削減された状態の温度場の中間状態ベクトルsstep5を求める。安定的逐次解法で得られた生成項(E)の式(19)の解析自由度を、温度場用次元変換行列Qを用いて削減すると、次式(36)が得られ、中間状態ベクトルsstep5が求まる。
【数32】

【0093】
[Sub-Step6] 熱移流項(F)
Sub-Step5で得られた中間状態ベクトルsstep5を利用して、解析自由度が削減された温度場の中間状態ベクトルsstep6を求める。
下記熱移流項の方程式(37)を離散化し、Au=−(u・∇)とおく。本項目〔2−6〕のSub-Step2と同様に、初期状態ベクトルをsstep5とすると、下式(38)が得られ、中間状態ベクトルsstep6が求まる。この(38)式において、EAはArの固有ベクトル、ΛAはArの固有値を対角要素にもつ対角行列であり、Ar=EAΛAA-1である。
【数33】

【0094】
[Sub-Step7] 熱拡散項(G)
Sub-Step6で得られた中間状態ベクトルsstep6を利用して、解析自由度が削減された温度場の中間状態sstep7を求める。
安定的逐次解法の熱拡散項(G)の式(21)の解析自由度を、温度場用次元変換行列Qを用いて削減すると、次式(39)が得られる。
【数34】

【0095】
初期状態ベクトルをsstep6として、上記常微分方程式(39)の一般解を導出すると、次式(40)が得られ、中間状態ベクトルsstep7が求まる。この(40)式において、EDTはDTの固有ベクトル、ΛDTはDTの固有値を対角要素にもつ対角行列であり、DT=EDTΛDTDT-1である。
【数35】

【0096】
以上の方法で求めた、解析自由度が削減された流速場の中間状態ベクトルrstep4と温度場の中間状態ベクトルsstep7とを、それぞれ、ある時刻tの時間Δt後の時刻の流速場および温度場とする。
【0097】
〔2−7〕シミュレーション結果の表示
第2シミュレーション部26による熱流体シミュレーション結果は、記憶部30の記憶領域34に記憶され、表示制御部22により、例えば図5〜図9に示すように、表示部40で表示される。図5〜図9は、それぞれ、本実施形態の熱流体シミュレーション装置1によるシミュレーション結果の第1〜第5表示例を示す図である。
【0098】
図5に示す第1表示例では、熱流体シミュレーション結果を折れ線グラフとして表示している。図6に示す第2表示例では、熱流体シミュレーション結果を数値を示した表として表示している。図7に示す第3表示例では、熱流体シミュレーション結果をコンター図(等高線表示)として表示している。図8に示す第4表示例では、熱流体シミュレーション結果をベクトル分布図として表示している。図9に示す第5表示例では、熱流体シミュレーション結果を、平面でのカラーマップとして表示している。ただし、図9では、グレースケールで表示されている。上述の表示手法のほか、粒子表示などを行なってもよい。また、第2シミュレーション部26による熱流体シミュレーション結果は、表示部40で視覚的に表示されるだけでなく、プリンタ(図示略)により紙などに記録されて出力されてもよい。
【0099】
〔3〕本実施形態の熱流体シミュレーション装置の効果
本実施形態の熱流体シミュレーション装置1によれば、第1シミュレーション部23において、流速場および温度場の事前シミュレーションが安定的逐次解法により行なわれるので、時間ステップの時間間隔を大きくとることが可能となり、事前の熱流体シミュレーションを高速に行なうことができる。
【0100】
また、スナップショット収集部24によって事前シミュレーション中に収集された流速場および温度場のスナップショットデータについて、モデル分析部25が、主成分分析を行なって流速場用次元変換行列および温度場用次元変換行列を算出する。算出された流速場用次元変換行列および温度場用次元変換行列を用い、第2シミュレーション部26において、流速場および温度場のシミュレーションが解析自由度の削減レベルで行なわれる。
【0101】
つまり、流速場と温度場の事前シミュレーション結果に基づき各々得られる流速場用と温度場用の次元変換行列を用い解析モデルの自由度を削減して、熱流体シミュレーションが行なわれる。
解析自由度を削減したモデルを用いたシミュレーションでは、変数の数が少なくなり計算量が削減されるため、元の自由度をもつモデルのシミュレーションよりも計算処理を大幅に高速化することが可能になる。
【0102】
このように、本実施形態の熱流体シミュレーション装置1によれば、第1シミュレーション部23においては事前の熱流体シミュレーションが高速に実行されるとともに、第2シミュレーション部26においては解析自由度を削減した状態で高速な熱流体シミュレーションが実行される。これにより、熱流体シミュレーションにより熱分布と流体の流れとを迅速に把握することが可能になる。従って、サーバや等の製品を開発する際やデータセンタ等を構築する際の熱設計が、極めて効率的に行なうことが可能になる。
【0103】
また、本実施形態のスナップショット収集部24では、様々な状況が表現された流速場や温度場のスナップショットが網羅的に収集される。このとき、流速場は温度場よりも速く変化するため、流速場のスナップショットデータの収集は、温度場のスナップショットデータの収集時間間隔よりも短い時間間隔で行なわれる。これにより、流速場および温度場のそれぞれについて、様々な状況下におけるスナップショットを確実に種集することができる。
【0104】
〔4〕境界条件を含む解析条件の変更機能について
ところで、上述した第2シミュレーション部26によるシミュレーション実行中に、解析条件に含まれる各種境界条件等の変更が頻繁に行なわれる場合、現在の状態を参照する頻度が高くなる。つまり、実次元空間で指定される位置(実次元位置)における境界条件を変更する場合、通常、当該位置における変更前の状態が参照される。そのため、第2シミュレーション部26によって解析自由度削減空間で実行されているシミュレーションの状態が、解析自由度削減空間から実次元空間へ変換され、上記実次元位置での状態が参照される。この後、実次元空間において、参照した状態を加味して上記実次元位置に所望の設定値が付加され、付加後の状態が実次元空間から解析自由度削減空間へ変換される。これにより、第2シミュレーション部26による解析自由度削減空間でのシミュレーションに、境界条件の変更が反映される。しかしながら、境界条件等を含む解析条件の変更処理時には、上述のように、解析自由度削減空間から実次元空間への次元変換や、実次元空間から解析自由度削減空間への次元変換を頻繁に実行する必要があり、その次元変換処理に多大な時間を要することになる。
【0105】
そこで、上述のごとく時間発展方程式を解析自由度削減空間で解く本実施形態の物理シミュレーションにおいて、以下のように実次元における境界条件の参照や変更を解析自由度削減空間で実行することで、上述した次元変換を省略することができる。これにより、解析自由度削減空間でのシミュレーション実行中に境界条件の変更等の処理が頻繁に行なわれたとしても、当該処理が高速に実行される。
【0106】
〔4−1〕本実施形態の熱流体シミュレーション装置における解析条件の変更処理に係る構成および機能について
以下、上述した熱流体シミュレーション装置1において、実次元における境界条件の参照や変更を解析自由度削減空間で実行するための構成や機能について、図1および図2を参照しながら説明する。実次元における境界条件の参照や変更を解析自由度削減空間で実行するための構成や機能は、熱流体シミュレーション装置1における入力操作部10,入力部21,モデル分析部25および第2シミュレーション部26により実現される。
【0107】
入力部21は、前述した通り、シミュレーションに先立ち、ユーザがGUI機能を用い入力操作部10を操作して入力した、熱流体シミュレーションに必要な計算条件データを受信し、受信した情報を記憶部30に記録・保存する。
ここで、入力部21により入力設定される計算条件データとしては、前述した計算条件データのほかに、第2シミュレーション部26によるシミュレーション実行中に変更可能な解析条件(境界条件)に関する情報も含まれる。
【0108】
また、第2シミュレーション部26が解析自由度削減空間でシミュレーション実行中に境界条件の変更を行なう場合、その境界条件の変更を行なうべき位置が、シミュレーションに先立ち、実次元空間内における実次元位置として予め指定される。この実次元位置に係る情報は、前記計算条件データの一つとして、入力操作部10および入力部21を通じ入力設定され、記憶領域31に記録・保存される(図2の矢印a1,a2参照)。
【0109】
モデル分析部25は、前述した通り、流速場用次元変換行列(上式(27),(28)参照)および温度場用次元変換行列(上式(29)参照)を算出し、記憶領域33に解析自由度削減データとして保持させる(図2の矢印a7参照)。さらに、第2シミュレーション部26が、解析自由度削減空間でシミュレーション実行中に、実次元空間内において予め指定される実次元位置で前記解析条件の変更を行なう場合、つまり境界条件の変更を行なうべき実次元位置が記憶領域31に保存されている場合、モデル分析部25は、以下のような機能を果たす。
【0110】
即ち、モデル分析部25は、第2シミュレーション部26によるシミュレーション実行前に、記憶領域31の実次元位置(図2の矢印a12参照)と、算出された流速場用次元変換行列または温度場用次元変換行列とに基づき、下記演算子を算出する。ここで、演算子は、予め指定された実次元位置での境界条件の変更に係る処理(変更処理)を解析自由度削減空間で実行するためのものである。演算子には、下記の参照演算子,付加演算子(境界条件付加演算子)およびクリア演算子(0クリア演算子)が含まれる。算出された演算子は、流速場用次元変換行列および温度場用次元変換行列とともに、記憶領域33に解析自由度削減データとして保持される(図2の矢印a7参照)。
【0111】
参照演算子は、予め指定された実次元位置の状態(例えば流速,温度,流速または温度の微分値など)を解析自由度削減空間で取得・参照するもので、参照演算子については下記項目〔4−3−1〕において後述する。
境界条件付加演算子は、所望の設定値(境界条件)を実次元位置に付加(加減算)する変更処理を解析自由度削減空間で実行するもので、境界条件付加演算子については下記項目〔4−3−2〕において後述する。ここで、所望の設定値は、ユーザ等によって予め設定された所定の設定値(一定値)であってもよいし、参照演算子によって取得・参照された状態に応じた設定値、例えば当該状態を引数とする関数によって得られる値であってもよい。所望の設定値が一定値である場合、一定値は、シミュレーションに先立って設定されてもよいし、境界条件の変更を行なう際にユーザまたはシナリオ等によって設定されてもよい。所望の設定値が関数によって得られる場合、当該関数は、シミュレーションに先立って予め設定され、設定値は、境界条件の変更を行なう際に当該関数によって設定される。
0クリア演算子は、予め指定された実次元位置の状態(境界条件)をゼロにクリアする処理を解析自由度削減空間で実行するもので、0クリア演算子については下記項目〔4−3−3〕において後述する。
【0112】
第2シミュレーション部26は、前述した通り、記憶領域33の流速場用次元変換行列および温度場用次元変換行列を用い(図2の矢印a8参照)、記憶領域31の計算条件に基づいて(図2の矢印a9参照)、流速場および温度場のシミュレーションを解析自由度の削減レベルで行なう。また、シミュレーションの実行中に、第2シミュレーション部26は、外部からの変更指示、または、所定のシナリオに記述された変更指示に応じ、前記演算子を用い(図2の矢印a8参照)、解析自由度削減空間での境界条件の変更に係る処理を実行する。上記外部からの変更指示は、例えば、ユーザが入力操作部10を操作して入力される変更指示である。上記所定のシナリオは、例えば、シミュレーションに先立ちユーザ等によって記憶領域31に計算条件データとして予め保存されている。
【0113】
第2シミュレーション部26は、参照演算子を用い、予め指定された実次元位置の状態(境界条件)を解析自由度削減空間で参照した上で、境界条件付加演算子を用い、参照した状態を加味した設定値(関数値)を、会席自由度削減空間で実次元位置に付加することができる。これにより、境界条件の変更処理が解析自由度削減空間で実行される。また、第2シミュレーション部26は、境界条件付加演算子を用い所定の設定値を解析自由度削減空間で実次元位置に付加することもできる。このように参照演算子および境界条件付加演算子を用いた変更処理は、例えば、予め指定された実次元位置において、加速ファンや非線形ファンの速度の変更、あるいは、抵抗(外力)の変更、あるいは、発熱体の温度の変更を行なう場合に用いられる。
【0114】
また、第2シミュレーション部26は、0クリア演算子を用い、予め指定された実次元位置の状態をゼロにクリアする処理を解析自由度削減空間で実行した後に、境界条件付加演算子を用い、前記設定値を解析自由度削減空間で実次元位置に付加することができる。これにより、実次元位置の状態を設定値に書き換える処理が、解析自由度削減空間で実行される。このように0クリア演算子および境界条件付加演算子を用いた変更処理は、例えば、予め指定された実次元位置において、流速指定ファンの新規追加駆動に伴う変更、あるいは、温度指定に伴う変更を行なう場合に用いられる。
【0115】
なお、参照演算子,境界条件付加演算子および0クリア演算子を用いてどのような変更を行なうかについては、上記外部からの変更指示によって指定されてもよいし、上記所定のシナリオに記述されていてもよい。
第2シミュレーション部26による、境界条件の変更処理を伴うシミュレーション結果は、上述した通り、記憶領域34に保存される(図2の矢印a10参照)。記憶領域34に記憶されたシミュレーション結果は、表示制御部22により表示部40において表示されるが(図2の矢印a11参照)、プリンタ(図示略)により紙などに記録されて出力されてもよい。
【0116】
〔4−2〕本実施形態の熱流体シミュレーション装置による解析条件(境界条件)の変更処理を伴う動作について
次に、上述のような解析条件(境界条件)の変更機能を有する本実施形態の熱流体シミュレーション装置1の動作について、図10および図11を参照しながら説明する。
〔4−2−1〕解析条件(境界条件)の変更の動作概要
本実施形態の熱流体シミュレーション装置1(モデル分析部25)において次元変換行列の作成時の主成分分析に利用した全てのスナップショットデータは、壁や障害物周りの自由滑り条件や流入/流出条件を含めてシミュレーション中で変化のない境界条件を満たしている。そのため、スナップショットデータから生成した基底も、基底の重ね合わせで表される流速場,温度場も、同様に、当該境界条件を自動的に満たす。
【0117】
上述した不変の境界条件以外に、シミュレーション実行中に参照されて変更される境界条件も存在する。このように可変な境界条件としては、特定の位置において作用する外力(抵抗)の指定や、特定の位置における流速,温度の指定などがある。このような境界条件を変更する場合、実次元空間(n次元空間)から解析自由度削減空間(m(<n)次元空間)への射影を計算しなおす必要がある。上述した通り、低次元空間への射影の計算は、実次元空間での計算であるため、解析の遅延を引き起こす可能性がある。そこで、本実施形態の熱流体シミュレーション装置1では、上述した参照演算子,境界条件付加演算子および0クリア演算子といった演算子を、第2シミュレーション部26によるシミュレーション実行前に算出しておくことにより、低次元の解析自由度削減空間で境界条件の変更が実行されるようになっている。
【0118】
〔4−2−2〕熱流体シミュレーション装置における、解析条件(境界条件)の変更処理を伴う処理の流れ
次に、図10に示すフローチャート(ステップS11′,S12〜S18,S181,S19′,S20〜S22)に従って、解析条件(境界条件)の変更機能を有する本実施形態の熱流体シミュレーション装置1の処理の流れについて説明する。
【0119】
なお、図10に示す処理の流れも、基本的には図3においてステップS11〜S22によって示す処理の流れと同様である。しかし、図10に示す処理では、図3のステップS11,S19に代えそれぞれステップS11′,S19′が実行されるとともに、ステップS18とS19′との間にステップS181が追加されて実行されている。ここでは、ステップS12〜S18,S20〜S22の説明は省略し、ステップS11′,S181およびS19′の処理について詳細に説明する。
【0120】
ステップS11′においては、図3のステップS11と同様、シミュレーションに先立ち、ユーザが入力操作部10を操作して入力した、熱流体シミュレーションに必要な各種情報である計算条件データが、入力部21において受信されると、受信された情報は、記憶部30の記憶領域31に記録保存される。ただし、ステップS11′において、計算条件データには、計算条件データのほかに、第2シミュレーション部26によるシミュレーション実行中に変更可能な解析条件(境界条件)に関する情報も含まれる。特に、第2シミュレーション部26が解析自由度削減空間でシミュレーション実行中に境界条件の変更を行なう場合、その境界条件の変更を行なうべき実次元位置(指定位置)に係る情報が、計算条件データの一つとして、記憶領域31に記録・保存される。
【0121】
ステップS18において、分析部25により、流速場用次元変換行列および温度場用次元変換行列が算出され記憶領域33に解析自由度削減データとして保持されると、ステップS181において、分析部25により、上述した演算子が算出され記憶領域33に解析自由度削減データとして保持される。このとき、モデル分析部25により、記憶領域31に保存された、境界条件を変更すべき実次元位置と、流速場用次元変換行列または温度場用次元変換行列とに基づき、参照演算子,境界条件付加演算子および0クリア演算子のうち、ユーザが望む境界条件の変更処理に必要なものが算出される。なお、参照演算子の具体的な算出手法については、下記項目〔4−3−1〕において後述する。境界条件付加演算子の具体的な算出手法については、下記項目〔4−3−2〕において後述する。0クリア演算子の具体的な算出手法については、下記項目〔4−3−3〕において後述する。
【0122】
次元変換行列および演算子が算出されると、ステップS19′において、図3のステップS19と同様、第2シミュレーション部26により、記憶領域33の流速場用次元変換行列および温度場用次元変換行列を用いて解析自由度を削減した状態、つまり解析自由度削減空間で、熱流体シミュレーションが実行される。ただし、ステップS19′においては、シミュレーションの実行中に、外部からの変更指示、または、所定のシナリオに記述された変更指示に応じ、第2シミュレーション部26により、解析自由度削減空間での境界条件の変更に係る処理が実行される。以後、変更された境界条件に基づき、第2シミュレーション部26による解析自由度削減空間での熱流体シミュレーションが実行される。
【0123】
このとき、第2シミュレーション部26により、予め指定された実次元位置の状態(境界条件)に応じた設定値を、解析自由度削減空間で当該実次元位置に付加(加減算)する変更処理を実行する場合、参照演算子および境界条件付加演算子が用いられ、境界条件の変更処理が解析自由度削減空間で実行される。つまり、第2シミュレーション部26は、参照演算子を用い、当該実次元位置の状態(境界条件)を解析自由度削減空間で参照し、境界条件付加演算子を用い、解析自由度削減空間で、参照した状態を加味した設定値(関数値)を当該実次元位置に付加する。
【0124】
第2シミュレーション部26により、予め指定された実次元位置に、所定の設定値を付加(加減算)する変更処理を実行する場合、境界条件付加演算子が用いられ、境界条件の変更に係る処理が解析自由度削減空間で実行される。つまり、第2シミュレーション部26は、境界条件付加演算子を用い、解析自由度削減空間で、所定の設定値を当該実次元位置に付加する。
【0125】
第2シミュレーション部26により、予め指定された実次元位置の状態を設定値に書き換える処理を実行する場合、0クリア演算子および境界条件付加演算子が用いられ、境界条件の変更に係る処理が解析自由度削減空間で実行される。つまり、第2シミュレーション部26は、0クリア演算子を用い、予め指定された実次元位置の状態をゼロにクリアする処理を解析自由度削減空間で実行した後に、境界条件付加演算子を用い、前記設定値を解析自由度削減空間で実次元位置に付加する。
【0126】
〔4−3〕演算子およびその算出手法について
次に、本実施形態の熱流体シミュレーション装置1におけるモデル分析部25で算出される3種類の演算子およびその算出手法について、具体的に説明する。
〔4−3−1〕参照演算子
参照演算子は、前述した通り、実次元空間で予め指定された実次元位置の状態(例えば流速,温度,流速または温度の微分値など)を、解析自由度削減空間で取得・参照するもので、以下のように定義・算出される。
【0127】
ここでは、図11に示すような二次元格子を考え、このとき、28番目(セル)の位置(実次元位置)が予め指定され、この位置における流速のx成分ux28を取得する参照演算子について説明する。なお、図11は、本実施形態の参照演算子を説明すべく、実次元空間における参照対象セルの位置を示す図である。
【0128】
ここで,i番目(i=0〜n)のセルの速度を[uxi, uyi]として、全てのセルの速度を並べた列ベクトル(速度ベクトル)uallを考える(下式(41)参照)。このとき、参照したい速度ux28は、列ベクトルuallにおける全2(n+1)個の要素中、57番目の要素となる。
【数36】

【0129】
ここで、i番目の要素を1、その他の要素を全て0とした列ベクトルIiを考えると、i=57のとき、下式(42)が得られる。
【数37】

【0130】
速度ベクトルuallの解析自由度削減空間でのベクトル表現をrallとし、指定された実次元位置I57の状態I57allを解析自由度削減空間で取得する参照演算子をCとし、上式(27),(28)を適用すると、下式(43)が得られ、この式(43)に基づき参照演算子Cが下式(44)によって定義される。つまり、予め指定される実次元位置Iiと、流速場用次元変換行列PおよびP(PはPの逆行列)とに基づき、参照演算子Cが算出される。
【数38】

【0131】
このような参照演算子Cがモデル分析部25で算出され、第2シミュレーション部26は、シミュレーション実行中の任意の時点における、解析自由度削減空間でのベクトル表現rallに参照演算子Cを乗算する。これにより、当該時点での、実次元位置Iiの流速に対応する解析自由度削減空間での状態が、Call=PiPrallとして取得されることになる。
【0132】
なお、ここでは、速度の列ベクトルuallに係る参照演算子Cについて説明したが、温度の列ベクトルsについても、上述と同様の参照演算子Cが、予め指定される実次元位置Iiと、温度場用次元変換行列QおよびQ(QはQの逆行列)とに基づき、下式(45)によって定義される。
【数39】

【0133】
一方、参照演算子Crにおける係数の設定により、微分値の取得も可能となる。ここでは、例えば、28番目のセル(実次元位置)におけるx方向の速度の変化量(微分値;下式(46))を参照する参照演算子Crについて考える。
【数40】

【0134】
ここで、変化量演算に必要な速度ux27,ux29は、速度ベクトルuallにおける全2(n+1)個の要素中、55番目および59番目の要素である。また、57行目55列目の値を−1/Δx、57行目59列目の値を+1/Δx、その他の値を全て0とした、全2(n+1)×2(n+1)の行列Xを考えると、下式(47)が得られる。なお、Δxは、セルのx方向間隔である。
【数41】

【0135】
上式(47)に上式(27),(28)を適用すると、下式(48)が得られ、この式(48)に基づき参照演算子Cが下式(49)によって定義される。つまり、予め指定される実次元位置によって規定される行列Xと、流速場用次元変換行列PおよびPとに基づき、参照演算子Cが算出される。したがって、下式(49)のごとき参照演算子Cを用いることにより、解析自由度削減空間において実次元空間での微分値の参照も可能になる。なお、ここでは、速度の微分値に係る参照演算子Cについて説明したが、温度の微分値を参照する参照演算子Cも、(49)式と同様、C=QXQとして定義することができる。
【数42】

【0136】
〔4−3−2〕境界条件付加演算子
境界条件付加演算子は、前述した通り、所望の設定値(境界条件)を実次元位置に付加(加減算)する変更処理を解析自由度削減空間で実行するもので、以下のように定義・算出される。そして、算出された境界条件付加演算子を用いることで、境界条件の変更が解析自由度削減空間で反映される。
【0137】
以下では、指定位置(実次元位置)の流速に指定値(設定値)を外力として付加する処理(境界条件の変更処理)を実行するための境界条件付加演算子について説明する。
ここで、外力ベクトルf=[f1, … ,fn]Tは、次式(50)の形で表現可能である。
【数43】

【0138】
上式(50)において、fiは、外力ベクトルfのi番目の要素の変数に作用する外力のスカラ値、Xは、スカラ値fiがゼロでない要素番号の集合である。上式(50)を、流速場用次元変換行列Pを用いて低次元化すると、低次元空間つまり解析自由度削減空間での外力ベクトルfrは、次式(51)で表される。なお、式(51)において、Criは要素iの参照演算子である。
【数44】

【0139】
上式(51)における参照演算子Cri=Piを事前に算出しておくことで、解析自由度削減空間において、所望の外力を、実次元空間における境界条件の設定位置に指定値として付加する処理を行なうことができる。ここで、下式(52)のような演算子が、境界条件付加演算子Cとして定義され算出される。
【数45】

【0140】
実際に上式(52)を用いて境界条件を変更する際には、シミュレーションにおける時間幅Δtが十分小さいものとし、下式(53)によって、変更後の速度ベクトルr′が得られる。
【数46】

なお、ここでは、速度場に係る境界条件付加演算子Caについて説明したが、温度場についても、上述と同様の境界条件付加演算子Caが、定義され算出される。
【0141】
〔4−3−3〕0クリア演算子
次に、n次元空間(実次元空間)における特定の位置の流速,温度を低次元空間(解析自由度削減空間)において指定した値に修正する処理について考える。本実施形態では、実次元空間での境界条件の設定位置の流速または温度のみを、低次元空間で0にする0クリア演算子が定義され、0クリア演算子と上述した境界条件付加演算子とを組み合わせることで、指定位置の流速または温度が修正され書き換えられる。
【0142】
ここでは、まず、下式(54),(55)によって定義される行列Mを考える.
【数47】

【0143】
ここで、Xは境界条件が設定される要素番号の集合、Eは単位行列、Icは要素数n+1で全ての要素が0の列ベクトルである。
このような行列Mを下式(56)のように使用することで、状態を表すベクトルuを、実次元空間で境界条件を変更すべき位置(指定位置)の流速および温度を0にした状態ベクトルu′に変換修正することができる。
【数48】

【0144】
上式(56)を、流速場用次元変換行列Pを用いて低次元化すると、実次元空間の状態ベクトルu′に対応する、低次元空間つまり解析自由度削減空間での状態ベクトルr′は、次式(57)で表される。ここで、行列Zが、0クリア演算子として定義され算出される。つまり、指定位置Iiに基づいて規定される行列Mと、流速場用次元変換行列PおよびP(PはPの逆行列)とに基づき、0クリア演算子Z=PMPが算出される。
【数49】

【0145】
そして、上述した0クリア演算子Zと境界条件付加演算子Caとの組み合わせ処理により、実次元空間の指定位置の流速や温度を指定の値に修正する処理が、次式(58)によって実現される。
【数50】

なお、ここでは、速度場に係る0クリア演算子Zについて説明したが、温度場についても、上述と同様の0クリア演算子Zが、定義され算出される。
【0146】
〔4−4〕境界条件の変更機能による効果
上述した参照演算子Cr,境界条件付加演算子Caおよび0クリア演算子Zは、いずれも第2シミュレーション部26による解析自由度削減空間でのシミュレーション実行前に計算可能である。そして、これらの演算子を用いることにより、第2シミュレーション部26によるシミュレーション中に、解析自由度削減空間で表現される状態を実次元空間での状態へ戻すことなく、境界条件の修正変更を行なうことができる。
【0147】
したがって、第2シミュレーション部26によるシミュレーション実行中に境界条件等の変更が行なわれた際に、解析自由度削減空間から実次元空間への次元変換や、実次元空間から解析自由度削減空間への次元変換を実行する必要がなくなる。これにより、境界条件等の変更が頻繁に行なわれたとしても、境界条件等の変更処理によって処理時間を増大させることがなく、シミュレーション処理を効率よく行なうことができる。
【0148】
〔5〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
なお、上述した入力部21,表示制御部22,第1シミュレーション部23,スナップショット収集部24,モデル分析部25および第2シミュレーション部26としての機能の全部もしくは一部は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のアプリケーションプログラム(熱流体シミュレーションプログラム)を実行することによって実現される。
【0149】
そのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RWなど),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD−RW,DVD+R,DVD+RWなど),ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。
【0150】
ここで、コンピュータとは、ハードウエアとOS(オペレーティングシステム)とを含む概念であり、OSの制御の下で動作するハードウエアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウエアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取る手段とをそなえている。上記熱流体シミュレーションプログラムは、上述のようなコンピュータに、入力部21,表示制御部22,第1シミュレーション部23,スナップショット収集部24,モデル分析部25および第2シミュレーション部26の機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。
【0151】
〔6〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
流速場および温度場のシミュレーションを行なうコンピュータに、
流速場および温度場のシミュレーションをそれぞれ所定の解析自由度で行ない、
前記所定の解析自由度でのシミュレーションの結果に基づき前記所定の解析自由度よりも小さい解析自由度の削減レベルを決定し、流速場の解析モデルを、前記所定の解析自由度から、流速場について決定された解析自由度の削減レベルへ変換する流速場用次元変換行列を算出するとともに、温度場の解析モデルを、前記所定の解析自由度から、温度場について決定された解析自由度の削減レベルへ変換する温度場用次元変換行列を算出し、
算出された前記流速場用次元変換行列および前記温度場用次元変換行列を用いて流速場の解析モデルおよび温度場の解析モデルをそれぞれ自由度削減モデルに変換し、流速場および温度場のシミュレーションを前記解析自由度の削減レベルで行なう、
処理を実行させる、熱流体シミュレーションプログラム。
【0152】
(付記2)
前記所定の解析自由度でのシミュレーション中の流速場および温度場のそれぞれについて、所定のタイミングでスナップショットデータを収集する、処理を前記コンピュータに実行させるとともに、
前記解析自由度の削減レベルを決定する際、収集された流速場のスナップショットデータおよび温度場のスナップショットデータのそれぞれについて、主成分分析を行なって前記解析自由度の削減レベルを決定する、処理を、前記コンピュータに実行させる、付記1記載の熱流体シミュレーションプログラム。
【0153】
(付記3)
前記スナップショットデータを収集する際、様々の状況の流速場および温度場のスナップショットデータを網羅的に収集する、処理を、前記コンピュータに実行させる、付記2記載の熱流体シミュレーションプログラム。
【0154】
(付記4)
流速場のスナップショットデータの収集を、温度場のスナップショットデータの収集時間間隔よりも短い時間間隔で行なう、処理を、前記コンピュータに実行させる、付記3記載の熱流体シミュレーションプログラム。
【0155】
(付記5)
前記の流速場および温度場のシミュレーションを、ナビエ・ストークス方程式および熱移流拡散方程式に基づいて実行する、処理を、前記コンピュータに実行させる、付記1〜付記4のいずれか一項に記載の熱流体シミュレーションプログラム。
【0156】
(付記6)
前記の流速場および温度場のシミュレーションを、前記のナビエ・ストークス方程式および熱移流拡散方程式における各項を個別に考慮して逐次的に解く安定的逐次解法によって実行する、処理を、前記コンピュータに実行させる、付記5記載の熱流体シミュレーションプログラム。
【0157】
(付記7)
前記主成分分析の結果である累積寄与度が所定閾値以上となる固有ベクトルの次元数を、前記解析自由度の削減レベルとして決定する、処理を、前記コンピュータに実行させる、付記1〜付記6のいすれか一項に記載の熱流体シミュレーションプログラム。
【0158】
(付記8)
所定の解析条件に基づき、前記解析自由度の削減レベルを有する解析自由度削減空間でシミュレーション実行中に、前記所定の解析自由度を有する実次元空間内において予め指定される実次元位置で前記解析条件の変更を行なう場合、解析自由度削減空間での前記シミュレーション実行前に、前記実次元位置と前記流速場用次元変換行列または前記温度場用次元変換行列とに基づき、前記実次元位置での前記解析条件の変更に係る処理を前記解析自由度削減空間で実行する演算子を算出する、処理を前記コンピュータに実行させるとともに、
算出された前記演算子を用い、前記解析自由度削減空間での前記解析条件の変更に係る処理を実行する、処理を、前記コンピュータに実行させる、付記1〜付記7のいずれか一項に記載の熱流体シミュレーションプログラム。
【0159】
(付記9)
前記演算子は、
前記実次元位置の状態を前記解析自由度削減空間で取得する参照演算子と、
前記参照演算子によって取得された前記状態に応じた設定値を前記実次元位置に付加することにより、前記解析条件の変更に係る処理を前記解析自由度削減空間で実行する付加演算子と、
を含む、付記8に記載の熱流体シミュレーションプログラム。
【0160】
(付記10)
前記演算子は、
所定の設定値を前記実次元位置に付加することにより、前記解析条件の変更に係る処理を前記解析自由度削減空間で実行する付加演算子を含む、付記9記載の熱流体シミュレーションプログラム。
【0161】
(付記11)
前記演算子は、
前記実次元位置の状態をゼロにクリアする処理を前記解析自由度削減空間で実行するクリア演算子をさらに含み、
前記クリア演算子を用いて前記実次元位置の状態をゼロにクリアする処理を前記解析自由度削減空間で実行した後に前記付加演算子を用いて前記設定値を前記実次元位置に付加することにより、前記実次元位置の状態を前記設定値に書き換える処理を、前記解析条件の変更に係る処理として、前記解析自由度削減空間で実行する、処理を、前記コンピュータに実行させる、付記9または付記10に記載の熱流体シミュレーションプログラム。
【0162】
(付記12)
外部からの変更指示、または、所定のシナリオに記述された変更指示に応じ、前記演算子を用いた前記解析条件の変更に係る処理を実行する、処理を、前記コンピュータに実行させる、付記8〜付記11のいずれか一項に記載の熱流体シミュレーションプログラム。
【0163】
(付記13)
流速場および温度場のシミュレーションを行なう熱流体シミュレーション装置であって、
流速場および温度場のシミュレーションをそれぞれ所定の解析自由度で行なう第1シミュレーション部と、
前記第1シミュレーション部によるシミュレーション結果に基づき前記所定の解析自由度よりも小さい解析自由度の削減レベルを決定し、流速場の解析モデルを、前記所定の解析自由度から、流速場について決定された解析自由度の削減レベルへ変換する流速場用次元変換行列を算出するとともに、温度場の解析モデルを、前記所定の解析自由度から、温度場について決定された解析自由度の削減レベルへ変換する温度場用次元変換行列を算出する分析部と、
前記分析部によって算出された前記流速場用次元変換行列および前記温度場用次元変換行列を用いて流速場の解析モデルおよび温度場の解析モデルをそれぞれ自由度削減モデルに変換し、流速場および温度場のシミュレーションを前記解析自由度の削減レベルで行なう第2シミュレーション部と、
を有する熱流体シミュレーション装置。
【0164】
(付記14)
前記第1シミュレーション部によるシミュレーション中の流速場および温度場のそれぞれについて、所定のタイミングでスナップショットデータを収集する収集部をさらにそなえ、
前記分析部は、前記収集部によって収集された流速場のスナップショットデータおよび温度場のスナップショットデータのそれぞれについて、主成分分析を行なって前記解析自由度の削減レベルを決定する、付記13記載の熱流体シミュレーション装置。
【0165】
(付記15)
前記収集部は、様々の状況の流速場および温度場のスナップショットデータを網羅的に収集する、付記14記載の熱流体シミュレーション装置。
(付記16)
前記収集部は、流速場のスナップショットデータの収集を、温度場のスナップショットデータの収集時間間隔よりも短い時間間隔で行なう、付記15記載の熱流体シミュレーション装置。
【0166】
(付記17)
前記の流速場および温度場のシミュレーションは、ナビエ・ストークス方程式および熱移流拡散方程式に基づいて実行される、付記13〜付記16のいずれか一項に記載の熱流体シミュレーション装置。
【0167】
(付記18)
前記の流速場および温度場のシミュレーションは、前記のナビエ・ストークス方程式および熱移流拡散方程式における各項を個別に考慮して逐次的に解く安定的逐次解法によって実行される、付記17記載の熱流体シミュレーション装置。
【0168】
(付記19)
前記分析部は、前記主成分分析の結果である累積寄与度が所定閾値以上となる固有ベクトルの次元数を、前記解析自由度の削減レベルとして決定する、付記9〜付記14のいすれか一項に記載の熱流体シミュレーション装置。
【0169】
(付記20)
前記第2シミュレーション部が、所定の解析条件に基づき、前記解析自由度の削減レベルを有する解析自由度削減空間でシミュレーション実行中に、前記所定の解析自由度を有する実次元空間内において予め指定される実次元位置で前記解析条件の変更を行なう場合、前記分析部は、前記第2シミュレーション部によるシミュレーション実行前に、前記実次元位置と前記流速場用次元変換行列または前記温度場用次元変換行列とに基づき、前記実次元位置での前記解析条件の変更に係る処理を前記解析自由度削減空間で実行する演算子を算出し、
前記第2シミュレーション部は、前記分析部によって算出された前記演算子を用い、前記解析自由度削減空間での前記解析条件の変更に係る処理を実行する、付記13〜付記19のいずれか一項に記載の熱流体シミュレーション装置。
【0170】
(付記21)
前記演算子は、
前記実次元位置の状態を前記解析自由度削減空間で取得する参照演算子と、
前記参照演算子によって取得された前記状態に応じた設定値を前記実次元位置に付加することにより、前記解析条件の変更に係る処理を前記解析自由度削減空間で実行する付加演算子と、
を含む、付記20に記載の熱流体シミュレーション装置。
【0171】
(付記22)
前記演算子は、
所定の設定値を前記実次元位置に付加することにより、前記解析条件の変更に係る処理を前記解析自由度削減空間で実行する付加演算子を含む、付記20記載の熱流体シミュレーション装置。
【0172】
(付記23)
前記演算子は、
前記実次元位置の状態をゼロにクリアする処理を前記解析自由度削減空間で実行するクリア演算子をさらに含み、
前記第2シミュレーション部は、前記クリア演算子を用いて前記実次元位置の状態をゼロにクリアする処理を前記解析自由度削減空間で実行した後に前記付加演算子を用いて前記設定値を前記実次元位置に付加することにより、前記実次元位置の状態を前記設定値に書き換える処理を、前記解析条件の変更に係る処理として、前記解析自由度削減空間で実行する、付記21または付記22に記載の熱流体シミュレーション装置。
【0173】
(付記24)
前記第2シミュレーション部は、外部からの変更指示、または、所定のシナリオに記述された変更指示に応じ、前記演算子を用いた前記解析条件の変更に係る処理を実行する、付記20〜付記23のいずれか一項に記載の熱流体シミュレーション装置。
【0174】
(付記25)
流速場および温度場のシミュレーションをコンピュータにより行なう熱流体シミュレーション方法であって、
流速場および温度場のシミュレーションをそれぞれ所定の解析自由度で行ない、
前記所定の解析自由度でのシミュレーションの結果に基づき前記所定の解析自由度よりも小さい解析自由度の削減レベルを決定し、流速場の解析モデルを、前記所定の解析自由度から、流速場について決定された解析自由度の削減レベルへ変換する流速場用次元変換行列を算出するとともに、温度場の解析モデルを、前記所定の解析自由度から、温度場について決定された解析自由度の削減レベルへ変換する温度場用次元変換行列を算出し、
算出された前記流速場用次元変換行列および前記温度場用次元変換行列を用いて流速場の解析モデルおよび温度場の解析モデルをそれぞれ自由度削減モデルに変換し、流速場および温度場のシミュレーションを前記解析自由度の削減レベルで行なう、熱流体シミュレーション方法。
【0175】
(付記26)
前記所定の解析自由度でのシミュレーション中の流速場および温度場のそれぞれについて、所定のタイミングでスナップショットデータを収集し、
前記解析自由度の削減レベルを決定する際、収集された流速場のスナップショットデータおよび温度場のスナップショットデータのそれぞれについて、主成分分析を行なって前記解析自由度の削減レベルを決定する、付記25記載の熱流体シミュレーション方法。
【0176】
(付記27)
前記スナップショットデータを収集する際、様々の状況の流速場および温度場のスナップショットデータを網羅的に収集する、付記26記載の熱流体シミュレーション方法。
(付記28)
流速場のスナップショットデータの収集を、温度場のスナップショットデータの収集時間間隔よりも短い時間間隔で行なう、付記27記載の熱流体シミュレーション方法。
【0177】
(付記29)
前記の流速場および温度場のシミュレーションを、ナビエ・ストークス方程式および熱移流拡散方程式に基づいて実行する、付記25〜付記28のいずれか一項に記載の熱流体シミュレーション方法。
【0178】
(付記30)
前記の流速場および温度場のシミュレーションを、前記のナビエ・ストークス方程式および熱移流拡散方程式における各項を個別に考慮して逐次的に解く安定的逐次解法によって実行する、付記29記載の熱流体シミュレーション方法。
【0179】
(付記31)
所定の解析条件に基づき、前記解析自由度の削減レベルを有する解析自由度削減空間でシミュレーション実行中に、前記所定の解析自由度を有する実次元空間内において予め指定される実次元位置で前記解析条件の変更を行なう場合、解析自由度削減空間での前記シミュレーション実行前に、前記実次元位置と前記流速場用次元変換行列または前記温度場用次元変換行列とに基づき、前記実次元位置での前記解析条件の変更に係る処理を前記解析自由度削減空間で実行する演算子を算出する、処理を前記コンピュータ(20)に実行させるとともに、
算出された前記演算子を用い、前記解析自由度削減空間での前記解析条件の変更に係る処理を実行する、付記25〜付記30のいずれか一項に記載の熱流体シミュレーション方法。
【符号の説明】
【0180】
1 熱流体シミュレーション装置
10 入力操作部
20 処理部(CPU,コンピュータ)
21 入力部
22 表示制御部
23 事前熱流体シミュレーション部(第1シミュレーション部)
24 スナップショット収集部(収集部)
25 モデル分析部(分析部)
26 自由度削減熱流体シミュレーション部(第2シミュレーション部)
30 記憶部
31 計算条件データ記憶領域
32 スナップショットデータ記憶領域
33 解析自由度削減データ記憶領域
34 シミュレーション結果記憶領域
40 表示部

【特許請求の範囲】
【請求項1】
流速場および温度場のシミュレーションを行なうコンピュータに、
流速場および温度場のシミュレーションをそれぞれ所定の解析自由度で行ない、
前記所定の解析自由度でのシミュレーションの結果に基づき前記所定の解析自由度よりも小さい解析自由度の削減レベルを決定し、流速場の解析モデルを、前記所定の解析自由度から、流速場について決定された解析自由度の削減レベルへ変換する流速場用次元変換行列を算出するとともに、温度場の解析モデルを、前記所定の解析自由度から、温度場について決定された解析自由度の削減レベルへ変換する温度場用次元変換行列を算出し、
算出された前記流速場用次元変換行列および前記温度場用次元変換行列を用いて流速場の解析モデルおよび温度場の解析モデルをそれぞれ自由度削減モデルに変換し、流速場および温度場のシミュレーションを前記解析自由度の削減レベルで行なう、
処理を実行させる、熱流体シミュレーションプログラム。
【請求項2】
前記所定の解析自由度でのシミュレーション中の流速場および温度場のそれぞれについて、所定のタイミングでスナップショットデータを収集する、処理を前記コンピュータに実行させるとともに、
前記解析自由度の削減レベルを決定する際、収集された流速場のスナップショットデータおよび温度場のスナップショットデータのそれぞれについて、主成分分析を行なって前記解析自由度の削減レベルを決定する、処理を、前記コンピュータに実行させる、請求項1記載の熱流体シミュレーションプログラム。
【請求項3】
前記スナップショットデータを収集する際、様々の状況の流速場および温度場のスナップショットデータを網羅的に収集する、処理を、前記コンピュータに実行させる、請求項2記載の熱流体シミュレーションプログラム。
【請求項4】
前記の流速場および温度場のシミュレーションを、ナビエ・ストークス方程式および熱移流拡散方程式に基づいて実行する、処理を、前記コンピュータに実行させる、請求項1〜請求項3のいずれか一項に記載の熱流体シミュレーションプログラム。
【請求項5】
前記主成分分析の結果である累積寄与度が所定閾値以上となる固有ベクトルの次元数を、前記解析自由度の削減レベルとして決定する、処理を、前記コンピュータに実行させる、請求項1〜請求項4のいすれか一項に記載の熱流体シミュレーションプログラム。
【請求項6】
所定の解析条件に基づき、前記解析自由度の削減レベルを有する解析自由度削減空間でシミュレーション実行中に、前記所定の解析自由度を有する実次元空間内において予め指定される実次元位置で前記解析条件の変更を行なう場合、解析自由度削減空間での前記シミュレーション実行前に、前記実次元位置と前記流速場用次元変換行列または前記温度場用次元変換行列とに基づき、前記実次元位置での前記解析条件の変更に係る処理を前記解析自由度削減空間で実行する演算子を算出する、処理を前記コンピュータに実行させるとともに、
算出された前記演算子を用い、前記解析自由度削減空間での前記解析条件の変更に係る処理を実行する、処理を、前記コンピュータに実行させる、請求項1〜請求項5のいずれか一項に記載の熱流体シミュレーションプログラム。
【請求項7】
流速場および温度場のシミュレーションを行なう熱流体シミュレーション装置であって、
流速場および温度場のシミュレーションをそれぞれ所定の解析自由度で行なう第1シミュレーション部と、
前記第1シミュレーション部によるシミュレーション結果に基づき前記所定の解析自由度よりも小さい解析自由度の削減レベルを決定し、流速場の解析モデルを、前記所定の解析自由度から、流速場について決定された解析自由度の削減レベルへ変換する流速場用次元変換行列を算出するとともに、温度場の解析モデルを、前記所定の解析自由度から、温度場について決定された解析自由度の削減レベルへ変換する温度場用次元変換行列を算出する分析部と、
前記分析部によって算出された前記流速場用次元変換行列および前記温度場用次元変換行列を用いて流速場の解析モデルおよび温度場の解析モデルをそれぞれ自由度削減モデルに変換し、流速場および温度場のシミュレーションを前記解析自由度の削減レベルで行なう第2シミュレーション部と、
を有する熱流体シミュレーション装置。
【請求項8】
流速場および温度場のシミュレーションをコンピュータにより行なう熱流体シミュレーション方法であって、
流速場および温度場のシミュレーションをそれぞれ所定の解析自由度で行ない、
前記所定の解析自由度でのシミュレーションの結果に基づき前記所定の解析自由度よりも小さい解析自由度の削減レベルを決定し、流速場の解析モデルを、前記所定の解析自由度から、流速場について決定された解析自由度の削減レベルへ変換する流速場用次元変換行列を算出するとともに、温度場の解析モデルを、前記所定の解析自由度から、温度場について決定された解析自由度の削減レベルへ変換する温度場用次元変換行列を算出し、
算出された前記流速場用次元変換行列および前記温度場用次元変換行列を用いて流速場の解析モデルおよび温度場の解析モデルをそれぞれ自由度削減モデルに変換し、流速場および温度場のシミュレーションを前記解析自由度の削減レベルで行なう、熱流体シミュレーション方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図8】
image rotate

【図10】
image rotate

【図11】
image rotate

【図7】
image rotate

【図9】
image rotate


【公開番号】特開2012−216173(P2012−216173A)
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願番号】特願2011−225417(P2011−225417)
【出願日】平成23年10月13日(2011.10.13)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】