(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-14
(45)【発行日】2023-06-22
(54)【発明の名称】高速流のための格子ボルツマンベースのソルバ
(51)【国際特許分類】
G16Z 99/00 20190101AFI20230615BHJP
【FI】
G16Z99/00
【外国語出願】
(21)【出願番号】P 2019027119
(22)【出願日】2019-02-19
【審査請求日】2022-02-18
(32)【優先日】2018-02-20
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-02-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】512293770
【氏名又は名称】ダッソー システムズ シムリア コーポレイション
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(72)【発明者】
【氏名】プラディープ ゴパラクリシュナン
(72)【発明者】
【氏名】ラオヤン チャン
(72)【発明者】
【氏名】フードン チェン
【審査官】宮地 匡人
(56)【参考文献】
【文献】特表2016-528628(JP,A)
【文献】特表2015-507778(JP,A)
【文献】中国特許出願公開第106529063(CN,A)
【文献】蔦原 道久,格子ボルツマン法の基礎と応用,日本機械学会論文集(B編),2011年12月,Vol.77 No.784,pp.2367-2378
(58)【調査した分野】(Int.Cl.,DB名)
G16Z 99/00
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
コンピュータ上で流体流をシミュレートする方法であって、
メッシュにわたる粒子の動きをモデル化するように、前記メッシュにわたる流体の活動をシミュレートするステップと、
前記メッシュ内の各メッシュ位置の状態ベクトルの組をコンピュータアクセス可能メモリに記憶するステップであって、前記状態ベクトル各々が、対応するメッシュ位置における可能な運動量状態のうちの特定の運動量状態に対応する複数のエントリを含む、ステップと、
近隣のメッシュ位置から流入する分布の組
を衝突演算のために収集し、
前記コンピュータによって各位置のスカラー値を計算し、
前記衝突演算と熱源の追加との積として流出する分布を求め、
前記コンピュータが前記粒子の次のメッシュ位置への移流を一定期間にわたって実行することによって前記
流体流を修正する、
ことによって、前記
流体流のエントロピーの時間発展をシミュレートするステップと、
を含むことを特徴とする方法。
【請求項2】
前記流体流の活動をシミュレートするステップは、第1の離散格子速度の組に部分的に基づいて前記流体流をシミュレートするステップを含み、前記方法は、第2の離散格子速度の組に部分的に基づいて前記エントロピー量の時間発展をシミュレートするステップをさらに含む、
請求項1に記載の方法。
【請求項3】
前記第2の離散格子速度の組は、前記第1の離散格子速度の組と同じ格子速度である、
請求項
2に記載の方法。
【請求項4】
前記コンピュータによって、流入する格子セットベクトルからの高次誤差項を計算するステップと、
前記高次誤差項の平均値を求めるステップと、
前記高次誤差項の前記平均値
を衝突演算子から減算するステップと、
をさらに含む、請求項1に記載の方法。
【請求項5】
さらなる熱源項が計算され
て第2の状態に追加され、前記方法は、
前記コンピュータによって、流体粘性による加熱及び流体伝導による加熱
の影響を計算するステップと、
前記コンピュータによっ
てエントロピー拡散を計算し、該エントロピー拡散を前記さらなる熱源項から除去するステップと、
をさらに含む、請求項1に記載の方法。
【請求項6】
前記方法は、前記コンピュータによって前記メッシュ内の前記メッシュ位置の物理量の組を計算するステップをさらに含む、
請求項1に記載の方法。
【請求項7】
格子ボルツマンエントロピーソルバが二次速度項を回避する、
請求項1に記載の方法。
【請求項8】
前記衝突演算子は、速度に二次項を含まない非平衡計算を伴う、
請求項
4に記載の方法。
【請求項9】
特定のエントロピーsを表すためのさらなる格子ベクトルの組q
iを提供することによってエントロピーを解決するステップをさらに含み、これらの状態の時間発展が、
【数1】
によって与えられ、式中のq
iは格子ベクトルであり、xは方向であり、c
iは状態の速度であり、Δtは時間tの変化であり、
は平衡における格子ベクトルであり、τ
qは緩和時間であり、
は非平衡寄与であり、pは圧力であり、Q
sは前記さらなる熱源である、
請求項
5に記載の方法。
【請求項10】
前記衝突演算子は、
【数2】
に関連する、
請求項
8に記載の方法。
【請求項11】
コンピュータ上で流体流をシミュレートするように構成されたコンピュータシステムであって、
1又は2以上のプロセッサ装置と、
前記1又は2以上のプロセッサ装置に動作可能に結合されて計算命令を記憶するメモリと、
を備え、前記計算命令は、前記1又は2以上のプロセッサ装置に、
メッシュにわたる粒子の動きをモデル化するように、前記メッシュにわたる流体の活動をシミュレートすることと、
前記メッシュ内の各メッシュ位置の状態ベクトルの組を前記メモリに記憶することであって、前記状態ベクトル各々が、対応するメッシュ位置における可能な運動量状態のうちの特定の運動量状態に対応する複数のエントリを含む、ことと、
近隣のメッシュ位置から流入する分布の組
を衝突演算のために収集し、
前記コンピュータによって各位置のスカラー値を計算し、
前記衝突演算と熱源の追加との積として流出する分布を求め、
前記コンピュータが前記粒子の次のメッシュ位置への移流を一定期間にわたって実行することによって前記
流体流を修正する、
ための命令によって、前記
流体流のエントロピーの時間発展をシミュレートすることと、
を行わせる、
ことを特徴とするシステム。
【請求項12】
前記流体流の活動をシミュレートするための前記命令は、
第1の離散格子速度の組に部分的に基づいて前記流体流をシミュレートするための命令と、
第2の離散格子速度の組に部分的に基づいて前記エントロピー量の時間発展をシミュレートするための命令と、
を含む、請求項11に記載のシステム。
【請求項13】
前記第2の離散格子速度の組は、前記第1の離散格子速度の組と同じ格子速度である、
請求項
12に記載のシステム。
【請求項14】
流入する格子セットベクトルからの高次誤差項を計算するための命令と、
前記高次誤差項の平均値を求めるための命令と、
前記高次誤差項の前記平均値
を衝突演算子から減算するための命令と、
をさらに含む、請求項11に記載のシステム。
【請求項15】
さらなる熱源項が計算され
て第2の状態に追加され、前記
システムは、
流体粘性による加熱及び流体伝導による加熱
の影響を計算する
ための命令と、
エントロピー拡散を計算し、該エントロピー拡散を前記さらなる熱源項から除去する
ための命令と、
をさらに含む、請求項11に記載のシステム。
【請求項16】
前記メッシュ内の前記メッシュ位置の物理量の組を計算する命令をさらに含む、請求項11に記載のシステム。
【請求項17】
格子ボルツマンエントロピーソルバが二次速度項を回避する、
請求項11に記載のシステム。
【請求項18】
前記衝突演算子は、速度に二次項を含まない非平衡計算を伴う、
請求項
14に記載のシステム。
【請求項19】
特定のエントロピーsを表すためのさらなる格子ベクトルの組q
iを提供することによってエントロピーを解決するための命令をさらに含み、これらの状態の時間発展が、
【数3】
によって与えられ、式中のq
iは格子ベクトルであり、xは方向であり、c
iは状態の速度であり、Δtは時間tの変化であり、
は平衡における格子ベクトルであり、τ
qは緩和時間であり、
は非平衡寄与であり、pは圧力であり、Q
sは前記さらなる熱源である、
請求項
15に記載のシステム。
【請求項20】
前記衝突演算子は、
【数4】
に関連する、
請求項
18に記載のシステム。
【請求項21】
非一時的ハードウェア記憶装置に有形的に記憶された、
コンピュータ上で流体流をシミュレートするための実行可能命令を含むコンピュータプログラ
ムであって、前記実行可能命令は、
メッシュにわたる粒子の動きをモデル化するように、前記メッシュにわたる流体の活動をシミュレートすることと、
前記メッシュ内の各メッシュ位置の状態ベクトルの組
をメモリに記憶することであって、前記状態ベクトル各々が、対応するメッシュ位置における可能な運動量状態のうちの特定の運動量状態に対応する複数のエントリを含む、ことと、
近隣のメッシュ位置から流入する分布の組
を衝突演算のために収集し、
前記コンピュータによって各位置のスカラー値を計算し、
前記衝突演算と熱源の追加との積として流出する分布を求め、
前記コンピュータが前記粒子の次のメッシュ位置への移流を一定期間にわたって実行することによって前記
流体流を修正する、
ための命令によって、前記
流体流のエントロピーの時間発展をシミュレートすることと、
を行うようにコンピュータシステムを構成する、
ことを特徴とするコンピュータプログラ
ム。
【発明の詳細な説明】
【技術分野】
【0001】
〔合衆国法典第35編第119条(e)に基づく優先権の主張〕
本出願は、2018年2月20日に出願された「高速流のための格子ボルツマンベースのソルバ(Lattice Boltzmann based solver for high speed flows)」という名称の米国仮特許出願第62/632,584号の合衆国法典第35編第119条(e)に基づく優先権を主張するものであり、この文献の内容はその全体が引用により本明細書に組み入れられる。
【背景技術】
【0002】
格子ボルツマン法(LBM)は、流体シミュレーションのための計算流体力学(CFD)法の一種である。ナビエ・ストークス方程式を解く代わりに、Bhatnagar-Gross-Krook(BGK)などの衝突モデルを用いて離散ボルツマン方程式を解いてニュートン流体の流れをシミュレートする。限定数の粒子にわたる流動過程及び衝突過程をシミュレートすることにより、固有の粒子反応が、さらに大きな質量にわたって適用可能な粘性流挙動の縮図を明らかにする。
【先行技術文献】
【特許文献】
【0003】
【文献】米国特許出願公開第2013/0151221号明細書
【文献】米国特許出願公開第2016/0188768号明細書
【文献】米国特許第9,576,087号明細書
【文献】米国特許第5,594,671号明細書
【発明の概要】
【課題を解決するための手段】
【0004】
ある態様によれば、コンピュータ上で流体流をシミュレートする方法が、メッシュにわたる粒子の動きをモデル化するように、メッシュにわたる流体の活動をシミュレートするステップと、メッシュ内の各メッシュ位置の状態ベクトルの組をコンピュータアクセス可能メモリに記憶するステップであって、状態ベクトル各々が、対応するメッシュ位置における可能な運動量状態のうちの特定の運動量状態に対応する複数のエントリを含む、ステップと、近隣のメッシュ位置から流入する分布の組を衝突演算のために収集し、コンピュータによって各位置のスカラー値を計算し、衝突演算と熱源の追加との積として流出する分布を求め、コンピュータが粒子の次のメッシュ位置への移流(advection)を一定期間にわたって実行することによって流れを修正することによって、流れのエントロピーの時間発展(time evolution)をシミュレートするステップと、を含む。
【0005】
上記の態様には、以下の特徴のうちの1つ又は2つ以上を含めることができる。
【0006】
流体流の活動をシミュレートするステップは、第1の離散格子速度の組に部分的に基づいて流体流をシミュレートするステップを含み、方法は、第2の離散格子速度の組に部分的に基づいてエントロピー量の時間発展をシミュレートするステップをさらに含む。第2の離散格子速度の組は、第1の離散格子速度の組と同じ格子速度である。方法は、コンピュータによって、流入する格子セットベクトルからの高次誤差項を計算するステップと、高次誤差項の平均値を求めるステップと、高次誤差項の平均値を衝突演算子から減算するステップと、をさらに含む。さらなる熱源項が計算されて第2の状態に追加され、方法は、コンピュータによって、流体粘性による加熱及び流体伝導による加熱の影響を計算するステップと、コンピュータによってエントロピー拡散(entropy diffusion)を計算し、エントロピー拡散をさらなる熱源項から除去するステップと、をさらに含む。方法は、コンピュータによってメッシュ内のメッシュ位置の物理量の組を計算するステップをさらに含む。方法は、二次速度項を回避する格子ボルツマンエントロピーソルバを提供する。衝突演算子は、速度に二次項を含まない非平衡計算を伴う。方法は、特定のエントロピー(specific entropy)sを表すためのさらなる格子ベクトルの組q
iを提供することによってエントロピーを解決するステップをさらに含み、これらの状態の時間発展が、
【数1】
によって与えられ、式中のq
iは格子ベクトルであり、xは方向であり、c
iは状態の速度であり、Δtは時間tの変化であり、
は平衡における格子ベクトルであり、τ
qは緩和時間(relaxation time)であり、
は非平衡寄与であり、pは圧力であり、Q
sはさらなる熱源である。衝突演算子は、
【数2】
に関連する。
【0007】
他の態様は、コンピュータプログラム製品と、コンピュータ及びデータ処理システムなどの装置とを含む。
【0008】
上記の態様のうちの1つ又は2つ以上は、以下の利点のうちの1つ又は2つ以上を提供することができる。エントロピーソルバは、Ma2(速度の二乗)に比例するという理由で特に高速流の場合に不安定性などの誤差をもたらすはずの項である(ρvv)を回避する。従って、このエントロピーソルバは、高速用途で安定する。格子ボルツマン法の文脈では、高度に正確な過渡的結果と圧縮性の影響とを必要とする高速用途を解決するためにLBベースのエントロピーソルバが有効である。高温度比(high temperature ratio)用途も、このLBエントロピーソルバの独自の衝突モデルによって安定性が高まるので、その恩恵を受ける。
【図面の簡単な説明】
【0009】
【
図1】圧縮性流れ(compressible flows)のためのエントロピーソルバを含む流体流(fluid flows)シミュレーションシステムを示す図である。
【
図2】エントロピーソルバを含む格子ボルツマンモデルシミュレーションを構築する動作を示すフローチャートである。
【
図3】エントロピーソルバを含む格子ボルツマンモデルシミュレーションを用いたシミュレーション動作を示すフローチャートである。
【
図4A】流体力学ベースの方法のシミュレートした流れを示す図である。
【
図4B】格子ボルツマンベースの方法のシミュレートした流れを示す図である。
【
図5】音圧レベル(SPL)対周波数のグラフである。
【
図6A】シミュレートした指向角対周波数及び音圧レベル(simulated directivity angle vs. frequency and sound pressure level)のプロットである。
【
図6B】シミュレートした指向角対周波数及び音圧レベルのプロットである。
【
図7】ユークリッド空間で表す1つのLBMモデルの速度成分を示す図である(先行技術)。
【
図8】ユークリッド空間で表す別のLBMモデルの速度成分を示す図である(先行技術)。
【
図9】物理プロセスシミュレーションシステムが従う手順のフローチャートである。
【
図10】マイクロブロックの透視図である(先行技術)。
【
図11A】
図1のシステムが使用する格子構造の図である(先行技術)。
【
図11B】
図1のシステムが使用する格子構造の図である(先行技術)。
【
図12】可変分解能技術を示す図である(先行技術)。
【
図13】可変分解能技術を示す図である(先行技術)。
【
図15】表面のファセットの影響を受ける領域を示す図である(先行技術)。
【
図16】表面動力学のフローチャートを示す図である(先行技術)。
【
図17】表面動力学の実行手順のフローチャートである(先行技術)。
【
図18】ボクセルから表面への粒子の動きを示す図である。
【
図19】流体シミュレーションを表すスクリーンショットである(先行技術)。
【発明を実施するための形態】
【0010】
添付図面及び以下の説明には、本発明の1又は2以上の実施形態の詳細を示す。説明及び図面、並びに特許請求の範囲からは、他の特徴、目的及び利点が明らかである。
【0011】
流体流をシミュレートする1つの方法は、いわゆる格子ボルツマンモデル(LBM)である。LBMベースの物理プロセスシミュレーションシステムでは、分布関数の時間発展を表す周知の格子ボルツマン方程式(以下の方程式1を参照)を用いて一連の離散速度で評価した分布関数値によって流体流が表現される。この分布関数は、以下の流動過程(streaming process)及び衝突過程(collision process)という2つの過程を伴う。
【数3】
(方程式1)
【数4】
(方程式2)
式中、ξ及びuは、それぞれ無次元格子ベクトル及び速度であり、f
i(x,t)は、時点tにおける位置xの格子方向ciに沿った粒子分布関数であり、
は平衡分布であり、τは特徴的緩和時間である。
【0012】
流動過程は、あるメッシュ位置において流体ポケットが開始した後に、速度ベクトルの1つに沿って次のメッシュ位置に移動する時点である。この時点で、「衝突係数」、すなわち開始流体ポケットに対する近隣の流体ポケットの影響を計算する。流体は別のメッシュ位置に移動することしかできず、従って全ての速度の全ての成分が共通速度の倍数になるように正しい速度ベクトルの選択が必要である。
【0013】
第1の方程式の右辺は、流体ポケット同士の衝突に起因する分布関数の変化を表す上述した「衝突演算子」である。特定の形の衝突演算子は、Bhatnagar-Gross-Krook(BGK)演算子である。衝突演算子は、「平衡」形態である第2の方程式によって与えられる規定値に分布関数を至らしめる。
【0014】
BGK演算子は、衝突の詳細にかかわらず、分布関数が以下の式に従って明確に定義された局所平衡に近づくように構築され、
【数5】
【数6】
ここでのパラメータτは、衝突を通じた平衡までの特徴的な緩和時間を表す。粒子(例えば、原子又は分子)を扱う場合、この緩和時間は、通常は定数として解釈される。
【0015】
このシミュレーションから、質量ρ及び流体速度uなどの従来の流体変数が方程式2の単純和として得られる。
【数7】
(方程式3)
ここでのρ及びuは、それぞれ上述した流体密度及び流体速度である。
【0016】
対称性を考慮した結果、速度値の組は、構成空間内に広がった時に特定の格子構造を形成するように選択される。このような離散系の動特性は、以下の形を有する格子ボルツマン方程式(LBE)に従い、
fi(x+ciΔt,t+Δt)-fi(x,t)=Ci(x,t)
通常、ここでの衝突演算子は上述したBGK形態を取る。
【0017】
正しい平衡分布形態の選択により、格子ボルツマン方程式が正しい流体力学をもたらすことを理論的に示すことができる。すなわち、fi(x,t)から導出される流体力学的モーメントは、巨視的極限においてナビエ・ストークス方程式に従う。これらのモーメントは、上記の方程式(3)によって定められる。
【0018】
ci及びwiの集合的な値は、LBMモデルを定める。LBMモデルは、スケーラブルなコンピュータプラットフォーム上に効率的に実装することができ、時間的に不安定な流れ及び複雑な境界条件の場合に高いロバスト性を持って動作することができる。
【0019】
ボルツマン方程式から流体系の巨視的運動方程式を得るための標準的な方法は、完全なボルツマン方程式の逐次近似を行うチャップマン・エンスコッグ(Chapman-Enskog)法である。流体系では、わずかな密度の変動が音速で伝わる。気体系では、一般に音速が温度によって決まる。流れにおける圧縮率の影響の重要性は、マッハ数として知られている特性速度と音速との比率によって測定される。従来のLBMベースの物理プロセスシミュレーションシステムのさらなる説明については、上記で引用により組み入れた米国特許出願公開第2016/0188768号に測定値が示されている。
【0020】
熱格子ボルツマンモデル
方程式1及び方程式2によって表されるLBMは、均一温度の低速流を解く場合にのみ適用可能である。熱流では、単独のソルバを導入してエネルギー方程式を解くことが慣習であり、計算された温度は格子ボルツマン法に逆結合される。温度方程式は、有限差分法、又はさらなる格子ベクトルの組の導入のいずれかによって解くことができる。
【0021】
固有のLBMベースの温度ソルバを使用する。このLBMベースの温度ソルバでは、さらなる格子ベクトルの組を用いて特定のスカラー、すなわち流れベクトルに同伴して1つのメッシュ点から別のメッシュ点に移動する温度を表す。このソルバには複数の利点があり、米国特許出願公開第2013/0151221号にさらに詳細な説明が記載されており、この文献の内容はその全体が引用により本明細書に組み入れられる。
【0022】
本明細書では、後述するエントロピーソルバに同様の輸送機構を使用する。
【0023】
温度が分かると、この温度を流体LBMソルバに結合する。従来の方法は、LBM(方程式1)の時間発展において、熱流に以下の平衡分布(方程式4)を使用する。
【数8】
(方程式4)
ここでのξ、u及びθは、それぞれ無次元格子ベクトル、無次元速度及び無次元圧力である。しかしながら、高温度比用途では、θ-1の項が負になることによってソルバが不安定になる。
【0024】
比較的広い範囲の流れ条件で衝突中の平衡分布を正にする結合法の具体的な詳細は、Pradeep Gopalakrishnan他による「ハイブリッド熱格子ボルツマン法のための温度結合アルゴリズム(Temperature Coupling Algorithm for Hybrid Thermal Lattice Boltzmann Method)」という名称の同時係属中の米国特許出願公開第2016/0188768号に詳述されており、この文献の内容はその全体が引用により本明細書に組み入れられる。
【0025】
方程式1に示すBGK衝突演算子は、比較的低い安定範囲を有する。方程式1の演算子は、低マッハ(マッハ<0.6)及び低温度比用途では有用であるが、高マッハ(マッハ>0.6)及び高温度比用途では不安定になる傾向にある。航空宇宙分野における高亜音速及び遷音速用途に適用可能な温度ソルバは、比較的高い安定範囲を有するガリレイ不変演算子に基づくさらに安定した衝突演算子を必要とする。このような衝突演算子の具体的な詳細は米国特許第9,576,087号に詳述されており、この文献の内容はその全体が引用により本明細書に組み入れられる。
【0026】
高速圧縮性流れのエネルギー保存
高速流、特にマッハ数が0.3を上回る流れでは、流体の圧縮性及び熱変化粘性に起因する流体エネルギーに対する影響を無視することができない。この圧縮性の影響は、以下の方程式5によって与えられる圧縮性流れのエネルギー方程式によって明らかになる。
【数9】
(方程式5)
ここでのeは内部エネルギーであり、Vは速度であり、kは熱伝導率であり、Φは、粘性に起因して機械的エネルギーが熱エネルギーに変化する速度を表す散逸関数である。非圧縮性流れでは、方程式5の左辺の第3項である圧力作用項と粘性散逸項とが脱落し、従って方程式5が、比較的解きやすい典型的な対流拡散スカラー方程式に変化する。
【0027】
しかしながら、有限差分法又はその他の手法を用いて方程式5全体を解くと、発散速度項の存在に起因して不安定性が生じる。この項を避けるために、実行可能性の高いオプション、すなわち以下のエントロピー方程式(方程式6)を解くことによってエネルギー保存を強制する。
【数10】
(方程式6)
ここでのsは、この系のエントロピーである。
【0028】
圧縮性流れのための格子ボルツマンベースのエントロピーソルバ
エントロピー方程式である方程式6は、有限体積法又は有限差分法のような従来の方法を用いて解くことができる。複雑な問題のために、メッシュが複数の分解能レベル及び複雑な境界条件を有する。従来の方法では、これらの状況の勾配を計算することが困難であることにより、強いメッシュ依存性及び数値的アーチファクトが導入される。
【0029】
本明細書では、これらの複雑な問題に対処することができる格子ボルツマン(LB)ベースのエントロピーソルバ34a(
図1)について説明する。エントロピーの解決は、特定のエントロピー「s」を表すために導入されるさらなる第2の格子ベクトルの組qiを使用する。これらの状態の時間発展は以下によって与えられ、
【数11】
(方程式7)
ここでのpは圧力であり、Q
sは、例えばさらなる熱源などのさらなるソースである。方程式7及び方程式1は、1つのメッシュ点から別のメッシュ点にエントロピー項を伝え、これらの2つの方程式の積として以下のエントロピー保存方程式(方程式8)が得られる。
【数12】
(方程式8)
ここでのSは総エントロピーである。米国特許出願公開第2016/0188768号に記載されるように、この方法は、LBMベースの温度ソルバに使用されている機構と同様の、移流する流れに対するスカラー項として総エントロピーを輸送する。このエントロピー輸送方法には、異なるメッシュレベル付近及び複雑な境界付近の比較的滑らかな遷移を含む複数の利点がある。
【0030】
方程式7の右辺の第2項は、いわゆる正規化衝突演算子である。(方程式1によって与えられる)BGK衝突演算子では、「非平衡部分」として知られている実際の状態と平衡状態との間の差分が計算される。この非平衡部分は、実際の状態が平衡状態まで緩和するように緩和される。
【0031】
しかしながら、この演算子は、保存にとって不要なあらゆる次数の非平衡効果を伴う。また、あらゆる次数の非平衡効果を伴えば、不安定性が生じることもある。一方、方程式7で使用されている演算子は、以下のように非平衡寄与の一次効果(格子ベクトルを乗算することによって計算される一次モーメント)しか考慮していない。
【数13】
(方程式9)
その後、このフィルタリングされた非平衡部分にガリレイ不変演算子c
i-Vを乗算する。
【0032】
ここで
図1を参照しながら、高速の圧縮性流れのためのLBベースのエントロピーソルバ34bを含むシステム10について説明する。この実装のシステム10は、クライアントサーバアーキテクチャ又はクラウドベースアーキテクチャに基づき、超並列コンピューティングシステム12(スタンドアロン又はクラウドベース)として実装されるサーバシステム12と、クライアントシステム14とを含む。サーバシステム12は、メモリ18と、バスシステム11と、インターフェイス20(例えば、ユーザインターフェイス/ネットワークインターフェイス/ディスプレイ又はモニタインターフェイスなど)と、処理装置24とを含む。メモリ18内には、メッシュ準備エンジン32及びシミュレーションエンジン34が存在する。
【0033】
図1では、メッシュ準備エンジン32をメモリ18内に示しているが、メッシュ準備エンジンは、サーバ12とは異なるシステム上で実行されるサードパーティアプリケーションとすることもできる。メッシュ準備エンジン32は、メモリ18内で実行されるか、それともサーバ12とは異なるシステム上で実行されるかにかかわらず、ユーザ指定のメッシュ定義30を受け取り、メッシュを準備してシミュレーションエンジン34に送信(及び/又は記憶)する。シミュレーションエンジン34は、衝突相互作用モジュール34aと、高速流のためのLBベースのソルバモジュール34bと、境界モジュール34cと、移流粒子衝突相互作用モジュール34dとを含む。システム10は、2D及び/又は3Dメッシュ(デカルト座標及び/又は曲線)、座標系及びライブラリを記憶するデータリポジトリ38にアクセスする。
【0034】
次に、
図2に、物理的対象表現の周囲の流体流をシミュレートするプロセス40を示す。本明細書で説明する例では、物理的対象が翼形部である。しかしながら、物理的対象はあらゆる形状とすることができ、具体的には平面及び/又は(単複の)曲面を有することもできるので、翼形部の使用は例示にすぎない。プロセス40は、例えばクライアントシステム14から、シミュレートする物理的対象のメッシュ(又はグリッド)を受け取り、又はデータレポジトリ38から検索する(42)。他の実施形態では、外部システム又はサーバ12のいずれかが、シミュレートする物理的対象のメッシュをユーザ入力に基づいて生成する。このプロセスは、検索したメッシュから幾何学量を事前計算し(44)、検索したメッシュに対応する事前計算された幾何学量を用いて動的格子ボルツマンモデルシミュレーションを実行する(46)。格子ボルツマンモデルシミュレーションは、粒子分布の発展(evolution of particle distribution)のシミュレーション46aと、エントロピーソルバの評価46bと、LBMメッシュにおける次のセルへの粒子及びエントロピーの移流(advection)46cとを含む。
【0035】
図3を参照して分かるように、シミュレーションプロセス46は、例えば高速流34bのためのLBベースのソルバモジュール(
図1)に適する修正された格子ボルツマン方程式(LBE)に従って粒子分布の発展をシミュレートする。プロセス46(
図2を参照)は、衝突演算46a、エントロピーの時間発展のシミュレーション46bの実行後に、LBM空間における次のセルへの粒子の移流46cを実行する。
【0036】
エントロピーの時間発展のシミュレーション46bは、近隣のメッシュ位置から流入する分布の組を衝突演算から収集するステップ(52)と、エントロピーなどの特定のスカラーを表す、流れベクトル上に存在して1つのグリッド点から別のグリッド点に移動するさらなる格子ベクトルの組を収集するステップ(54)とを含む。エントロピーの時間発展のシミュレーションは、メッシュ内の各位置におけるスカラー値の組をコンピュータによって計算するステップ(56)も含む。その後、コンピュータは、衝突演算方程式7とさらなる熱源Qsとの積として流出する分布を求める(58)。
【0037】
衝突演算子は、流入する格子セットベクトル(lattice set vectors)からの高次誤差項と、法線方向衝突演算子から減算(62)された対応する平均値とをコンピュータが計算(60)することによって安定する。流体粘性によって流体を加熱して流体伝導によって流体を加熱するさらなる熱源の影響をコンピュータが計算した結果であるさらなる熱源項を計算して(64)第2の状態に追加する(66)。コンピュータによってエントロピー拡散を計算し、計算されたエントロピー拡散の結果をさらなる熱源項から除去する(68)。
【0038】
拡散による熱源の処理
さらなる熱源が存在しなければ、LBMベースのスカラーソルバは以下のような典型的なスカラー対流拡散方程式になり、
【数14】
(方程式10)
ここでの値k
sは、τ
qで使用される緩和時間に依存する。(以下に示す方程式6と方程式10との間の差分に対応する)さらなる熱源項は、エントロピー方程式の正しい挙動を回復させる。
【数15】
(方程式11)
【0039】
高速流のための強化されたエントロピー衝突演算子
上述した米国特許第9,576,087号に示されるように、流れ状態のための特殊な衝突演算子について説明する。この演算子は安定の幅が広く、高マッハ用途に適用することができる。
【0040】
しかしながら、高マッハ数の流れでは、エントロピーのための衝突演算子が不安定になる。
【0041】
流体及びエントロピー状態の発展にチャップマン・エンスコッグの展開理論を適用(方程式1及び方程式7)して、ナビエ・ストークス方程式及びエントロピースカラー方程式を回復させる。拡散項は、エントロピーソルバを不安定にし得る衝突演算及び誤差に起因して生じる。
【0042】
この例では、非平衡成分の一次計算(方程式9)を考慮し、テイラー級数展開及びLBMの基本格子要件を使用することによって一次非平衡成分を以下のように近似させることができる。
【数16】
(方程式12)
【0043】
上記の式では、エントロピーの勾配(pδ)に圧力を乗算したものが唯一必要な成分であり、さらなる項(ρvv)は誤差を導入する。項(ρvv)は、Ma2(速度の二乗)に比例するため、特に高速流では不安定性の主因である。
【0044】
この項を削除するために、上記の非平衡計算を以下のように修正する。
【数17】
(方程式13)
【0045】
上記の非平衡成分は、高次の誤差項を排除して、高速用途にとって安定したエントロピーソルバを提供する。方程式(11)及び方程式(13)を方程式(7)に代入すると、以下によって完全な形のエントロピー展開が与えられる。
【数18】
(方程式14)
【0046】
LBベースのエントロピーソルバ機能
上述したLBエントロピーソルバは、高度に正確な過渡的結果と圧縮性の影響とを必要とする高速用途を解決するために有効である。高温度比用途も、このLBエントロピーソルバの独自の衝突モデルによって安定性が高まるので、その恩恵を受ける。
【0047】
この節では、特に高速、可変メッシュ分解能、複雑な幾何的形状及び高温度比の流れに関する圧縮性流れのためのLBベースのエントロピーソルバの潜在的利点を示す基準研究を提示する。シミュレーション結果を、実験結果及び典型的な有限差分FDベースのエントロピーソルバと比較する。
【0048】
ここで
図4A及び
図4Bに、大気温度よりも2.702倍高いジェットノズル温度のマッハ0.901のジェットノズル流について行ったシミュレーションの結果を示す。ジェットノズルによって生じる正確なノイズを予測するには、より正確な過渡的結果を得ることが必要である。
【0049】
図4Aには、FD法の圧力振動50aを示し、
図4Bには、LBベースの方法の圧力振動50bを示す。
【0050】
FD法では、ノズル52aの出口付近に、可変分解能に起因してジェットノズル52aの下流の流れ56aに影響する複雑な境界条件を伴う高レベルのノイズ54aが生じる。LBベースの方法では、ジェットノズル52bの出口のノイズ54bレベルがきれいに、すなわち低くなっており、ノズルの下流の微細構造56bも維持されている。
【0051】
次に、
図5に(デシベルで示す音圧レベル(SPL)対Hzで示す周波数の)グラフを示す。このグラフは、FD法及び(エントロピーソルバを用いた)LB法のシミュレートした音圧レベルを実験結果と比較したものである。FD法では、数値的アーチファクトに起因して、特に1KHzを越える周波数において実験結果よりもはるかに高いノイズレベルが予測されるのに対し、LBベースの方法は、比較的良好に実験結果のものに匹敵する。
【0052】
次に、
図6A及び
図6Bに、音圧レベルマップの予測における、実験結果と比べたLBベースのソルバの精度を示す。
【0053】
図7を参照すると、第1のモデル(2D-1)100は、21個の速度を含む2次元モデルである。これらの21個の速度のうち、1つ(105)は動いていない粒子を表し、3組の4つの速度は、格子のx軸又はy軸のいずれかに沿って正の方向又は負の方向のいずれかに正規化速度(r)(110~113)、正規化速度の2倍(2r)(120~123)、又は正規化速度の3倍(3r)(130~133)のいずれかで動いている粒子を表し、2組の4つの速度は、x格子軸及びy格子軸の両方に関して正規化速度(r)(140~143)又は正規化速度の2倍(2r)(150~153)で動いている粒子を表す。
【0054】
また、
図8に示すように、第2のモデル(3D-1)200は、各速度が
図8の矢印のうちの1つによって表される39個の速度を含む3次元モデルである。これらの39個の速度のうち、1つは動いていない粒子を表し、3組の6つの速度は、格子のx軸、y軸又はz軸に沿って正の方向又は負の方向のいずれかに正規化速度(r)、正規化速度の2倍(2r)、又は正規化速度の3倍(3r)のいずれかで動いている粒子を表し、8つの速度は、x、y、z格子軸の3つ全てに関して正規化速度(r)で動いている粒子を表し、12個の速度は、x、y、z格子軸の2つに関して正規化速度の2倍(2r)で動いている粒子を表す。
【0055】
101個の速度を含む3D-2モデル及び37個の速度を含む2D-2モデルなどのさらに複雑なモデルを使用することもできる。
【0056】
101個の速度から成る3次元モデル3D-2では、1つが動いていない粒子(グループ1)を表し、3組の6つの速度が、格子のx、y又はz軸に沿って正の方向又は負の方向のいずれかに正規化速度(r)、正規化速度の2倍(2r)、又は正規化速度の3倍(3r)のいずれかで動いている粒子(グループ2、4及び7)を表し、3組の8つの速度が、x、y、z格子軸の3つ全てに関して正規化速度(r)、正規化速度の2倍(2r)、又は正規化速度の3倍(3r)で動いている粒子(グループ3、8及び10)を表し、12個の速度が、x、y、z格子軸の2つに関して正規化速度の2倍(2r)で動いている粒子(グループ6)を表し、24個の速度が、x、y、z格子軸のうちの2つに対して正規化速度(r)及び正規化速度の2倍(2r)で動いていて残りの軸に関しては動いていない粒子(グループ5)を表し、24個の速度が、x、y、z格子軸のうちの2つに対して正規化速度(r)で動いていて残りの軸に関して正規化速度の3倍(3r)で動いている粒子(グループ9)を表す。
【0057】
37個の速度から成る2次元モデル2D-2では、1つが動いていない粒子(グループ1)を表し、3組の4つの速度が、格子のx軸又はy軸のいずれかに沿って正の方向又は負の方向のいずれかに正規化速度(r)、正規化速度の2倍(2r)、又は正規化速度の3倍(3r)のいずれかで動いている粒子(グループ2、4及び7)を表し、2組の4つの速度が、x及びy格子軸の両方に関して正規化速度(r)又は正規化速度の2倍(2r)で動いている粒子を表し、8つの速度が、x及びy格子軸の一方に関して正規化速度(r)で動いていて他方の軸に関して正規化速度の2倍(2r)で動いている粒子を表し、8つの速度が、x及びy格子軸の一方に関して正規化速度(r)で動いていて他方の軸に対して正規化速度の3倍(3r)で動いている粒子を表す。
【0058】
上述したLBMモデルは、2次元及び3次元の両方における流れの数値シミュレーションのための特定のクラスの効率的でロバストな離散速度動力学モデルを提供する。この種のモデルは、特定の離散速度の組と、これらの速度に関連する重みとを含む。これらの速度は、特に格子ボルツマンモデルとして知られている種類の離散速度モデルの正確で効率的な実装を容易にする速度空間における(ユークリッド空間内)デカルト座標のメッシュ点と一致する。このようなモデルを用いて、高い忠実度で流れをシミュレートすることができる。
【0059】
図9を参照すると、物理プロセスシミュレーションシステムが、手順300に従って動作して流体流などの物理プロセスをシミュレートする。シミュレーションの前に、シミュレーション空間をボクセルの集合としてモデル化する(302)。通常、シミュレーション空間は、コンピュータ支援設計(CAD)プログラムを用いて生成される。例えば、CADプログラムを用いて、風洞内に位置するマイクロデバイスを描くことができる。従って、CADプログラムによって生成されたデータを処理して適切な分解能の格子構造を追加し、シミュレーション空間内の物体及び表面を考慮する。
【0060】
格子の分解能は、シミュレートされるシステムのレイノルズ数に基づいて選択することができる。レイノルズ数は、流れの粘度(v)、流れにおける物体の特性長(L)及び流れの特性速度(u)に関連する。
Re=uL/v (方程式I.5)
【0061】
物体の特性長は、物体の大規模な特徴を表す。例えば、マイクロデバイスの周囲の流れをシミュレートする場合には、マイクロデバイスの高さを特性長と見なすことができる。小さな物体領域(例えば、自動車のサイドミラー)の周囲の流れに関心がある時には、シミュレーションの分解能を高めるか、或いは関心領域の周囲に高分解能の領域を使用することができる。格子の分解能が高まるにつれてボクセルの次元は減少する。
【0062】
状態空間はfi(x,t)として表され、ここでのfiは、時点tにおいて3次元ベクトルxによって示される、ある格子サイトにおける状態iの単位容積当たりの要素又は粒子の数(すなわち、状態iの粒子の密度)を表す。既知の時間増分では、粒子の数が単純にfi(x)として示される。格子サイトの全ての状態の組み合わせは、f(x)として示される。
【0063】
状態の数は、各エネルギーレベル内の考えられる速度ベクトル数によって決まる。速度ベクトルは、x、y及びzの3次元を有する空間内の整数の線形速度から成る。多重種シミュレーションでは状態の数が増加する。
【0064】
各状態iは、特定のエネルギーレベル(すなわち、エネルギーレベル0、1又は2)における異なる速度ベクトルを表す。各状態の速度ciは、以下のように3次元の各次元における「速度」と共に示される。
ci=(cix,ciy,ciz,) (方程式I.6)
【0065】
エネルギーレベルゼロの状態は、どの次元においても動いていない停止した粒子を表し、すなわちcstopped=(0,0,0)である。エネルギーレベル1の状態は、3次元のうちの1つの次元において±1の速度を有し、他の2つの次元においてゼロ速度を有する粒子を表す。エネルギーレベル2の状態は、3次元全てにおいて±1の速度を有する粒子、或いは3次元のうちの1つの次元において±2の速度を有し、他の2つの次元においてゼロ速度を有する粒子を表す。
【0066】
3つのエネルギーレベルの考えられる順列を全て生成すると、全部で39個の可能な状態(1つのエネルギー0状態、6つのエネルギー1状態、8つのエネルギー3状態、6つのエネルギー4状態、12のエネルギー8状態及び6つのエネルギー9状態)が得られる。
【0067】
各ボクセル(すなわち、各格子サイト)は、状態ベクトルf(x)によって表される。状態ベクトルは、ボクセルの状態を完全に定め、39個のエントリを含む。39個のエントリは、1つのエネルギー0状態、6つのエネルギー1状態、8つのエネルギー3状態、6つのエネルギー4状態、12のエネルギー8状態及び6つのエネルギー9状態に対応する。システムは、この速度集合を使用することによって、達成された平衡状態ベクトルのためのマクスウェル-ボルツマン統計を生じることができる。
【0068】
ボクセルは、処理効率のためにマイクロブロックと呼ばれる2×2×2の容量にグループ化される。これらのマイクロブロックは、ボクセルの並行処理を可能にして、データ構造に関連するオーバーヘッドを最小化するように編成される。マイクロブロック内のボクセルの略語はNi(n)として定義され、ここでのnは、マイクロブロック内の格子サイトの相対的位置を表し、n∈{0,1,2,...,7}である。
【0069】
【0070】
図11A及び
図11Bも参照すると、表面S(
図11A)をシミュレーション空間(
図11B)内にファセットFαの集合として表している。
S={F
α} 方程式(I.7)
ここでのαは、特定のファセットを列挙する指数である。ファセットはボクセル境界に制限されず、比較的少数のボクセルにファセットが影響を与えるように、典型的にはファセットに隣接するボクセルのサイズと同程度又はそれよりもわずかに小さなサイズを有する。ファセットには、表面動力学を実装する目的で特性が割り当てられる。具体的に言えば、各ファセットF
αは、単位法線(n
α)と、表面積(A
α)と、中心位置(x
α)と、ファセットの表面動特性を表すファセット分布関数(f
i(α))とを有する。
【0071】
図12を参照すると、シミュレーション空間の異なる領域内で異なるレベルの分解能を用いて処理効率を高めることができる。通常は、物体655の周囲の領域650に最も関心があり、従ってこの領域を最高分解能でシミュレートする。粘度の効果は物体からの距離と共に減少するので、減少レベルの分解能(すなわち、拡大されたボクセル容積)を用いて、物体655から増加する距離に配置された領域660、665をシミュレートする。
【0072】
同様に、
図13に示すように、低レベルの分解能を用いて物体775のそれほど重要でない特徴の周囲の領域770をシミュレートする一方で、最高レベルの分解能を用いて物体775の最も重要な特徴(例えば、先端面及び後端面)の周囲の領域780をシミュレートすることもできる。中心から遠い領域785は、最低レベルの分解能及び最大ボクセルを用いてシミュレートされる。
【0073】
ファセットの影響を受けるボクセルの識別
再び
図9を参照すると、シミュレーション空間をモデル化したら(302)、1又は2以上のファセットの影響を受けるボクセルを識別する(304)。ボクセルは、複数の形でファセットの影響を受けることができる。まず、1又は2以上のファセットが交わるボクセルは、交わっていないボクセルに比べて容量が減少するという点で影響を受ける。この理由は、ファセットと、ファセットが表す表面の下にある材料とがボクセルの一部を占有するからである。分数係数(fractional factor)P
f(x)は、ファセットの影響を受けないボクセルの部分(すなわち、流れをシミュレートする対象である流体又は他の材料が占有できる部分)を示す。交わっていないボクセルでは、P
f(x)が1に等しい。
【0074】
ファセットへの粒子の移動又はファセットからの粒子の受け取りを行うことによって1又は2以上のファセットと相互作用するボクセルも、ファセットの影響を受けるボクセルとして識別される。ファセットが交わる全てのボクセルは、ファセットから粒子を受け取る少なくとも1つの状態と、ファセットに粒子を移動させる少なくとも1つの状態とを含むようになる。ほとんどの場合、さらなるボクセルもこのような状態を含む。
【0075】
図14を参照すると、ファセットF
αは、非ゼロの速度ベクトルc
iを有する各状態iについて、速度ベクトルC
iとファセットの単位法線n
αとのベクトルドット積(|c
in
i|)の大きさによって定められる高さと、ファセットの表面積A
αによって定められる底面とを有する平行六面体G
iαによってその容積V
iαが次式に等しくなるように定められた領域から粒子を受け取り、又はこの領域に粒子を移動させる。
V
iα=|c
in
α|A
α 方程式(I.8)
【0076】
ファセットFαは、状態の速度ベクトルがファセットの方に向いている(|cini|<0の)時には容積Viαから粒子を受け取り、状態の速度ベクトルがファセットから離れる方に向いている(|cini|>0の)時にはこの領域に粒子を移動させる。後述するように、内角などの非凸面特徴の近傍で起こり得る状態である、別のファセットが平行六面体Giαの一部を占有する時には、この式を修正しなければならない。
【0077】
ファセットFαの平行六面体Giαは、複数のボクセルの一部又は全部に重なり合うことができる。ボクセルの数又はその一部は、ボクセルのサイズに対するファセットのサイズと、状態のエネルギーと、格子構造に対するファセットの配向とに依存する。影響を受けるボクセルの数は、ファセットのサイズと共に増加する。従って、上述したように、通常、ファセットのサイズは、ファセットの近くに位置するボクセルのサイズと同程度又はそれよりも小さくなるように選択される。
【0078】
平行六面体Giαが重なり合ったボクセルの部分N(x)は、Viα(x)として定められる。この項を使用すると、ボクセルN(x)とファセットFαとの間を移動する状態iの粒子の流束Γiα(x)は、ボクセルの状態iの粒子の密度(Ni(x))と、ボクセルが重なり合った領域の容積(Viα(x))とを乗算したものに等しい。
Γiα(x)=Ni(x)Viα(x) 方程式(I.9)
【0079】
平行六面体Giαに1又は2以上のファセットが交わる時には、以下の条件が当てはまり、
Viα=ΣVα(x)+ΣViα(β) 方程式(I.10)
ここでの第1の加算は、Giαが重なり合った全てのボクセルに相当し、第2項は、Giαに交わる全てのファセットに相当する。平行六面体Giαに別のファセットが交わらない時には、この式が以下のように変形する。
Viα=ΣViα(x) 方程式(I.11)
【0080】
シミュレーションの実行
再び
図9を参照すると、1又は2以上のファセットの影響を受けるボクセルが識別されたら(304)、タイマを初期化してシミュレーションを開始する(306)。シミュレーションの各時間増分中には、粒子と表面ファセットとの相互作用を考慮した移流段階(308~316)によってボクセルからボクセルへの粒子の移動をシミュレートする。次に、上述したエントロピーソルバの使用に部分的に基づいて、衝突段階(318)によって各ボクセル内の粒子の相互作用をシミュレートする。その後、タイマを増分する(320)。増分したタイマによってシミュレーションが完了した旨が示されない(322)場合には、移流段階と衝突段階と(308~320)を繰り返す。増分したタイマによってシミュレーションが完了した旨が示された(322)場合には、シミュレーションの結果を記憶及び/又は表示する(324)。
【0081】
図9に示すように、エントロピー状態の移流には「並列経路」を使用する。この並列経路は、一般に並列動作308’~318’の後にエントロピーソルバ34bを用いた流れの評価を含む。エントロピー状態は、上述したボクセルからボクセルへの移動を表す314と同様に、3次元直線格子314’に沿ってボクセル間で移動する。増分されたタイマがシミュレーションの完了(322)を示さない限り、このプロセスを繰り返す。
【0082】
1.表面の境界条件
表面との相互作用を正しくシミュレートするために、各ファセットは4つの境界条件を満たさなければならない。まず、ファセットが受け取った粒子の合計質量が、ファセットが移動させた粒子の合計質量に等しくなければならない(すなわち、ファセットへの正味質量流束がゼロに等しくなければならない)。次に、ファセットが受け取った粒子の合計エネルギーが、ファセットが移動させた粒子の合計エネルギーに等しくなければならない(すなわち、ファセットへの正味エネルギー流束がゼロに等しくなければならない)。これらの2つの条件は、各エネルギーレベル(すなわち、エネルギーレベル1及び2)での正味質量流束がゼロに等しくなるよう求めることによって満たすことができる。
【0083】
他の2つの境界条件は、ファセットと相互作用する粒子の正味運動量に関連する。本明細書では滑り面と呼ぶ表面摩擦がない表面では、正味接線運動量流束がゼロに等しくなければならず、正味法線運動量流束がファセットの局所圧力に等しくなければならない。従って、ファセットの法線nαに垂直な受け取った合計運動量の成分と、ファセットの法線nαに垂直な移動させた合計運動量の成分と(すなわち、接線成分)が等しくなければならず、ファセットの法線nαに平行な受け取った合計運動量の成分と、ファセットの法線nαに平行な移動させた合計運動量の成分と(すなわち、法線成分)の差分がファセットの局所圧力に等しくなければならない。非滑り面では、ファセットが受け取った粒子の合計接線運動量に対するファセットが移動させた粒子の合計接線運動量が、表面の摩擦によって摩擦量に関連する倍数だけ減少する。
【0084】
2.ボクセルからファセットへの収集
粒子と表面との間の相互作用をシミュレートする最初のステップとして、ボクセルから粒子を集めてファセットに提供する(308)。上述したように、ボクセルN(x)とファセットFαとの間の状態iの粒子の流束は以下の通りである。
Γiα(x)=Ni(x)Viα(x) 方程式(I.12)
【0085】
この式から、各状態iがファセットの方を向いている(cinα<0の)場合、ボクセルによってファセットFαに提供される粒子の数は以下の通りである。
ΓiαV→F=ΣxΓiα(x)=ΣxNi(x)Viα(x) 方程式(I.13)
【0086】
Viα(x)が非ゼロの値を有するボクセルのみを加算しなければならない。上述したように、ファセットのサイズは、Viα(x)が少数のボクセルのみについて非ゼロの値を有するように選択される。Viα(x)及びPf(x)は非整数値を有することもできるので、Γα(x)は実数として記憶され処理される。
【0087】
3.ファセットからファセットへの移動
次に、粒子がファセット間を移動する(310)。ファセットFαが流入状態(cinα<0)にある平行六面体Giαに別のファセットFβが交わる場合、ファセットFαが受け取る状態iの粒子の一部はファセットFβから流入するようになる。具体的に言えば、ファセットFαは、前回の時間増分中にファセットFβによって生成された状態iの粒子の一部を受け取るようになる。
【0088】
この関係を
図15に示しており、ここでは、ファセットF
βが交わる平行六面体G
iαの一部1000が、ファセットF
αが交わる平行六面体G
iβの一部1005に等しい。上述したように、交わった部分をV
iα(β)として示す。この項を用いて、ファセットF
βとファセットF
αとの間の状態iの粒子の流束を以下のように表すことができ、
Γ
iα(β,t-1)=Γ
i(β)V
iα(β)/V
iα 方程式(I.14)
ここでのΓ
i(β,t-1)は、前回の時間増分中にファセットF
βによって生成された状態iの粒子の測定量である。この式から、各状態iがファセットF
αの方を向いている(c
in
α<0の)場合、他のファセットによってファセットF
αに提供される粒子の数は以下のようになり、
Γ
iαF→F=Σ
βΓ
iα(β)=Σ
βΓ
i(β,t-1)V
iα(β)/V
iα
方程式(I.15)
ファセット内への状態iの粒子の全流束は以下のようになる。
Γ
iIN(α)=Γ
iαF→F+Γ
iαF→F=Σ
xN
i(x)V
iα+Σ
βΓ
i(β,t-1)V
iα(β)/V
iα
方程式(I.16)
【0089】
ファセット分布関数とも呼ばれるファセットの状態ベクトルN(α)は、ボクセル状態ベクトルのM個のエントリに対応するM個のエントリを有する。Mは、離散格子速度の数である。ファセット分布関数の入力状態N(α)は、これらの状態になる粒子の流束を容積Viαで除算したものに等しく設定され、
cinα<0の場合、以下のようになる。
Ni(α)=ΓiIN(α)/Viα 方程式(I.17)
【0090】
ファセット分布関数は、ファセットからの出力流束を生成するためのシミュレーションツールであり、必ずしも実際の粒子を表すものではない。正確な出力流束を生成するには、分布関数の他の状態に値を割り当てる。上述した内向き状態を投入する手法を用いて外向き状態を投入すると、
cinα≧0の場合、
Ni(α)=ΓiOTHER(α)/Viα 方程式(I.18)
となり、ここでのΓiOTHER(α)は、上述したΓiIN(α)を生成するための手法を用いて、ただしこの手法を流入状態(cinα<0))以外の状態(cinα≧0)に適用して決定される。別の方法では、以前の時間からのΓiOUT(α)の値を用いて以下のようにΓiOTHER(α)を生成することもできる。
ΓiOTHER(α,t)=ΓiOUT(α,t-1) 方程式(I.19)
【0091】
平行状態(cinα=0)では、Viα及びViα(x)がいずれもゼロである。Ni(α)を求める式では、Viα(x)が(ΓiOTHER(α)の式からの)分子に現れ、Viαが(Ni(α)の式からの)分母に現れる。従って、Viα及びViα(x)がゼロに近付くと、平行状態のNi(α)は、Ni(α)の極限として決定される。ゼロ速度を有する状態の値(すなわち休止状態、並びに状態(0,0,0,2)及び(0,0,0,-2))は、シミュレーションの最初に温度及び圧力の初期条件に基づいて初期化される。その後、これらの値は時間をかけて調整される。
【0092】
4.ファセット表面動力学の実行
次に、各ファセットが上述した4つの境界条件を満たすように表面動力学を実行する(
図9、312)。
【0093】
図16に、ファセットの表面動力学の実行手順を示す。最初に、ファセットにおける粒子の合計運動量P(α)を以下のように求めることによって、ファセットF
αに垂直な合計運動量を求める(1105)。
全てのiについて、
【数19】
方程式(I.20)
この式から、以下のように法線運動量P
n(α)を求める。
P
n(α)=n
α・P(α)方程式(I.21)
【0094】
次に、プッシング/プリング法を用いてこの法線運動量を排除(1110)してNα-(α)を取り出す。この手法によれば、粒子は、法線運動量にのみ影響を与える形で状態間を移行する。このプッシング/プリング法は、引用により組み入れられる米国特許第5,594,671号に記載されている。
【0095】
その後、Nn-(α)の粒子を衝突させてボルツマン分布Nn-β(α)を生じさせる(1115)。以下で流体力学の実行に関して説明するように、ボルツマン分布は、Nn-(α)に一連の衝突則を適用することによって達成することができる。
【0096】
次に、流入流束分布とボルツマン分布とに基づいてファセットFαの流出流束分布を求める(1120)。まず、流入流束分布Γi(α)とボルツマン分布との差分を以下のように求める。
ΔΓi(α)=ΓiIN(α)-Nn-βi(α)Viα 方程式(I.22)
【0097】
この差分を使用すると、流出流束分布は、
n
αc
i>0の場合、以下のようになり、
Γ
iOUT(α)=N
n-βi(α)V
iα-.Δ.Γ
i*(α) 方程式(I.23)
ここでのi
*は、状態iとは逆方向を有する状態である。例えば、状態iが(1,1,0,0)である場合、状態i
*は(-1,-1,0,0)である。流出流束分布は、表面摩擦及びその他の因子を考慮してさらに精緻化することができ、
n
αc
i>0の場合、以下のようになり、
Γ
iOUT(α)=N
n-Bi(α)V
iα-ΔΓ
i*(α)+C
f(n
α・c
i)-[N
n-βi*(α)-N
n-βi(α)]V
iα+(n
α・c
i)(t
1α・c
i)ΔN
j,1V
iα+(n
α・c
i)(t
2α・c
i)ΔN
j,2V
iα
方程式(I.24)
ここでのC
fは、表面摩擦の関数であり、t
iαは、n
αに垂直な第1の接線ベクトルであり、t
2αは、n
αとt
iαの両方に垂直な第2の接線ベクトルであり、ΔN
j,1及びΔN
j,2は、状態iのエネルギー(j)及び指示される接線ベクトルに対応する分布関数である。分布関数は、次式に従って決定され、
【数20】
方程式(I.25)
ここでのjは、エネルギーレベル1状態では1に等しく、エネルギーレベル2状態では2に等しい。
【0098】
ΓiOUT(α)の方程式の各項の関数は以下の通りである。第1項及び第2項は、ボルツマン分布を生じる上で衝突が効果的である限りは法線運動量流束境界条件を強制するが、接線運動量流束の例外を含む。第4項及び第5項は、この不十分な衝突に起因する離散性効果又は非ボルツマン構造を原因として生じ得る例外を補正する。最後に、第3項は、表面上の接線運動量流束の所望の変化を強制するように一定量の表面摩擦を追加する。摩擦係数Cfの生成については以下で説明する。なお、ベクトル操作に関与する全ての項は、シミュレーションの開始前に計算できる幾何学的因子である。
【0099】
この式から、接線速度が以下のように求められ、
u
i(α)=(P(α)-P
n(α)n
α)/ρ 方程式(I.26)
ここでのpは、以下のようなファセット分布の密度である。
【数21】
方程式(I.27)
【0100】
上記と同様に、流入流束分布とボルツマン分布との差分を以下のように求める。
ΔΓi(α)=ΓiIN(α)-Nn-βi(α)Viα 方程式(I.28)
【0101】
すると、流出流束分布は以下のようになり、
ΓiOUT(α)=Nn-βi(α)Viα-ΔΓi*(α)+Cf(nαci)[Nn-βi*(α)-Nn-βi(α)]Viα
方程式(I.29)
この式は、先の手法によって求めた流出流束分布の最初の2行に対応するが、異常な接線流束のための補正を必要としない。
【0102】
いずれかの方法を使用すると、結果として得られる流束分布は運動量流束条件を全て満たし、すなわち、
【数22】
方程式(I.30)
となり、ここでのp
αは、ファセットFαにおける平衡圧であって、ファセットに粒子を提供するボクセルの平均密度及び温度値に基づき、u
αは、ファセットにおける平均速度である。
【0103】
質量及びエネルギー境界条件が確実に満たされるように、各エネルギーレベルjについて入力エネルギーと出力エネルギーとの差分を以下のように測定する。
【数23】
方程式(I.31)
ここでの添字jは、状態iのエネルギーを示す。次に、このエネルギー差を用いて差分項(difference term)を生成すると、
c
jin
α>0の場合、以下のようになる。
【数24】
方程式(I.32)
この差分項を用いて流出流束を修正すると、流速は、
c
jin
α>0の場合、以下のようになる。
Γ
αjiOUTf=Γ
αjiOUT+δΓ
αji 方程式(I.33)
この演算は、接線運動量流束をそのままにした状態で質量及びエネルギー流束を訂正する。ファセットの近傍において流れがおおよそ均一であって平衡に近い場合には、この調整はわずかなものである。結果として得られる調整後の法線運動量流束は、近傍の平均特性に近傍の非均一性又は非平衡特性に起因する補正をプラスしたものに基づく平衡圧である値へとわずかに変化する。
【0104】
5.ボクセルからボクセルへの移動
再び
図3を参照すると、3次元直線格子に沿ってボクセル間で粒子を移動させる(314)。このボクセルからボクセルへの移動は、ファセットと相互作用しないボクセル(すなわち、表面付近に存在しないボクセル)に対して行われる唯一の移動操作である。典型的なシミュレーションでは、表面と相互作用するほど十分に表面近くに存在しないボクセルがボクセルの大多数を構成する。
【0105】
この分離状態の各々は、3次元のx、y及びzの各々において格子に沿って整数速度で移動する粒子を表す。整数速度は、0、±1及び±2を含む。速度の符号は、対応する軸に沿った粒子の移動方向を示す。
【0106】
表面と相互作用しないボクセルの場合、この移動操作は計算的に極めて単純である。毎時間増分中に、状態の集団全体をその現在のボクセルから宛先ボクセルに移動させる。同時に、宛先ボクセルの粒子を、そのボクセルから独自の宛先ボクセルに移動させる。例えば、+1x及び+1y方向に移動しているエネルギーレベル1の粒子(1,0,0)は、その現在のボクセルから、x方向に+1上回り他の方向が0であるボクセルに移動させる。この粒子は、最後には移動前の状態と同じ状態の宛先ボクセル(1,0,0)に行き着く。ボクセル内の相互作用は、他の粒子及び表面との局所的相互作用に基づいてその状態の粒子総数を変化させることがある。変化しなければ、粒子は格子に沿って同じ速度で同じ方向に移動し続ける。
【0107】
この移動操作は、1又は2以上の表面と相互作用するボクセルでは若干複雑になる。この結果、1又は2以上の端数粒子(fractional particles)がファセットに移動することがある。このような端数粒子のファセットへの移動により、ボクセルに端数粒子が留まるようになる。これらの端数粒子を、ファセットに占有されたボクセルに移動させる。
【0108】
図17を参照すると、ボクセル905の状態iの粒子の一部900がファセット910に移動した時には(308)、残り部分915をファセット910が位置するボクセル920に移動させ、ここから状態iの粒子をファセット910に向ける。従って、状態集団が25に等しく、V
iα(x)が0.25に等しい(すなわち、ボクセルの4分の1が平行六面体G
iαに交わる)場合には、6.25の粒子がファセットF
αに移動し、18.75の粒子を、ファセットF
αに占有されたボクセルに移動させる。1つのボクセルに複数のファセットが交わることもあるので、1又は2以上のファセットに占有されたボクセルに移動する状態iの粒子の数N(f)は以下のようになり、
【数25】
方程式(I.34)
ここでのN(x)はソースボクセルである。
【0109】
6.ファセットからボクセルへの散乱
次に、各ファセットからの流出粒子をボクセルに散乱させる(316)。基本的に、このステップは、ボクセルからファセットに粒子が移動する収集ステップの逆である。ファセットFαからボクセルN(x)に移動する状態iの粒子の数は以下のようになり、
【数26】
方程式(I.35)
ここでのP
f(x)は、部分的なボクセルの容積縮小に相当する。この式から、各状態iについて、ファセットからボクセルに向かう粒子の総数N(x)は以下のようになる。
【数27】
方程式(I.36)
【0110】
粒子をファセットからボクセルに散乱させ、これらの粒子を周囲のボクセルから移流した粒子と組み合わせて結果を整数化した後には、一定のボクセルの一定の方向がアンダーフロー(負になる)又はオーバーフロー(8ビット実装において255を超える)のいずれかになることがある。この結果、これらの量を許容できる値の範囲に収まるように切り捨てた後に、質量、運動量及びエネルギーが増加又は減少するようになる。このような発生を防ぐために、有害な状態を切り捨てる前に、限界を超えた質量、運動量及びエネルギーを蓄積する。状態を有するエネルギーでは、(アンダーフローに起因して)得られた又は(オーバーフローに起因して)失われた値に等しい質量が、同じエネルギーを有するランダムに(又は順次に)選択された状態に再び追加され、これ自体がオーバーフロー又はアンダーフローに影響されることはない。この質量及びエネルギーの追加によって生じるさらなる運動量を蓄積して、切り捨てからの運動量に追加する。同じエネルギー状態のみに質量を追加することにより、質量カウンタがゼロに達した時に質量及びエネルギーがいずれも補正される。最後に、運動量積算器がゼロに戻るまでプッシング/プリング法を用いて運動量を補正する。
【0111】
7.流体力学の実行
流体力学を実行する(
図9、318)。このステップは、マイクロ動力学操作又はボクセル内操作と呼ぶことができる。同様に、移流手順は、ボクセル間操作と呼ぶことができる。後述するマイクロ動力学操作を用いて、ファセットにおける粒子を衝突させてボルツマン分布を生成することもできる。
【0112】
流体力学は、格子ボルツマン方程式モデルにおいて、BGK衝突モデルとして知られている特定の衝突演算子によって保証される。この衝突モデルは、実際の流体系における分布の動力学を模倣する。衝突プロセスは、式I.1及び式I.2の右辺によって十分に説明することができる。移流ステップ後には、式I.3を用いた分布関数から流体系の保存量、具体的には密度、運動量及びエネルギーが取得される。これらの量から、式(I.2)にfeqで示す平衡分布関数が式(I.4)によって十分に規定される。いずれも表1に列挙する速度ベクトルセットci、重みの選択は、式I.2と相まって、巨視的挙動が正しい流体動力学方程式に従うことを保証する。
【0113】
図18を参照すると、システムは、エントロピーの決定が衝突演算から分離された粒子輸送の分布を生成する(1200)。この例では、分布関数が移流を含み、エントロピー決定を用いて粒子衝突を増強するのではなく、エントロピー決定を用いて移流を増強することにより、エントロピー決定が分布部分に含まれる。一般に、移流は、粒子の(例えば、1つの領域から別の領域への水平方向の)輸送を含む。
【0114】
動作中、システムは、格子速度の組において、一定量の流体中の粒子間の衝突を引き起こす粒子の輸送をシミュレートする(1202)。システムは、粒子の輸送の分布関数に基づいて粒子分布も生成し(1204)、この分布関数は、熱力学ステップ及び粒子衝突ステップを含み、熱力学ステップは、粒子衝突ステップから実質的に独立して分離する。
【0115】
図12の例では、システムが、特定の時点tにおける流体容積中の特定の位置xの衝突についての衝突後分布関数f
i’(x,t)も求め(1204)、f
i’(x,t)=f
i(x,t)+C
i(x,t)であり、ここでのCiは衝突演算子であり、f
iは衝突前の粒子の分布関数である。
【0116】
システムは、上記の方程式7に従って、さらなる格子ベクトルの組qiを用いて特定のエントロピーsを表すことによってエントロピー及び輸送を解決する(1206)。方程式7及び方程式1は、温度などのスカラーの移流について米国特許出願公開第2016/0188768号に記載されているように、1つのメッシュ点から別のメッシュ点にエントロピーを伝えて、流体流の移流と共に移流するスカラーとして効果的にエントロピーを提供する。この方法は、異なるメッシュレベル付近及び複雑な境界付近の滑らかな遷移をもたらす。
【0117】
可変分解能
(米国特許出願公開第2013/0151221号に記載されるような)可変分解能を使用することもでき、この可変分解能は、例えば粗ボクセル及び微小ボクセルなどの異なるサイズのボクセルを使用する。
【0118】
図19に、流体シミュレーションのスクリーンショットを示す。上述したエントロピーソルバ法を用いた流体シミュレーションは、同様の流体シミュレーション表現と、いずれかの慣習的な対応する計算データ出力とをもたらす。しかしながら、上述したエントロピーソルバ法を用いたこのような流体シミュレーションは、例えば実際の物理的対象などの曲面を有する物体をモデル化する際に、他の方法よりも高速で、及び/又は少ない計算リソースを用いて流体シミュレーションを実行できるとともに、高度に正確な過渡的結果と圧縮性の影響とを必要とする用途の場合に比較的安定したエントロピーソルバを維持しながら高マッハ流体流における物体をモデル化するために使用することもできる。
【0119】
ハードウェア及びソフトウェア実装
システム10は、一般に様々な異なる電気的又は電子的計算又は処理装置のうちのいずれか1つとして実装することができ、上述した様々なステップのあらゆる組み合わせを実行して、開示する熱管理システムの様々なコンポーネントを制御することができる。
【0120】
システム10は、一般に及び任意にプロセッサ(又は複数のプロセッサ)、メモリ、記憶装置及び入力/出力装置のうちのいずれか1つ又は2つ以上を含むことができる。これらのコンポーネントの一部又は全部は、
図1に示すようなシステムバスを用いて相互接続することができる。プロセッサは、実行命令を処理することができる。いくつかの実施形態では、プロセッサがシングルスレッドプロセッサである。特定の実施形態では、プロセッサがマルチスレッドプロセッサである。通常、プロセッサは、メモリ又は記憶装置に記憶された命令を処理して、ユーザインターフェイスのためのグラフィック情報を入力/出力装置上に表示し、上述した様々なモニタリング及び制御機能を実行することができる。本明細書に開示するシステムに適したプロセッサは、汎用及び専用マイクロプロセッサ、並びに唯一のプロセッサ、或いはあらゆる種類のコンピュータ又はコンピュータ装置の複数のプロセッサのうちの1つを含む。
【0121】
メモリは、システム内の情報を記憶し、揮発性又は不揮発性メモリなどのコンピュータ可読媒体とすることができる。記憶装置は、システム10のための大容量ストレージを提供することができる。一般に、記憶装置は、コンピュータ可読命令を記憶するように構成されたいずれかの非一時的有形媒体を含むことができる。例えば、記憶装置は、内蔵ハードディスク及びリムーバブルディスクなどの磁気ディスクと、光磁気ディスクと、光ディスクとを含むコンピュータ可読媒体及び関連するコンポーネントを含むことができる。コンピュータプログラム命令及びデータを有形的に具体化するのに適した記憶装置は、一例としてEPROM、EEPROM及びフラッシュメモリデバイスなどの半導体メモリデバイスと、内蔵ハードディスク及びリムーバブルディスクなどの磁気ディスクと、光磁気ディスクと、CD-ROM及びDVD-ROMディスクとを含む全ての形態の不揮発性メモリを含む。本明細書に開示するシステムのプロセッサ及びメモリユニットは、ASIC(特定用途向け集積回路)によって補完し、又はASICに組み込むことができる。
【0122】
入力/出力装置は、システム10のための入力/出力動作を行い、キーボード及び/又はポインティングデバイスを含むことができる。いくつかの実施形態では、入力/出力装置が、グラフィカルユーザインターフェース及びシステム関連情報を表示するためのディスプレイユニットを含む。
【0123】
様々な測定機能、モニタリング機能、制御機能及び通信機能を実行するためのコンポーネントを含む本明細書で説明した特徴は、デジタル電子回路に、或いはコンピュータハードウェア、ファームウェア又はこれらの組み合わせに実装することができる。方法ステップは、例えば機械可読記憶装置などの情報担体内で有形的に具体化された、プログラマブルプロセッサ(例えば、システム10の)によって実行されるコンピュータプログラム製品に実装することができ、プログラマブルプロセッサがこのようなプログラム命令を実行して上述したステップ及び機能のいずれかを実行することによって機能を実行することができる。1又は2以上のシステムプロセッサによる実行に適したコンピュータプログラムは、命令を実行するプロセッサ又は他のコンピュータ装置に上述した様々なステップを含む特定の動作を実行させる、直接的又は間接的に使用できる命令セットを含む。
【0124】
本明細書に開示したシステム及び方法と共に使用するのに適したコンピュータプログラムは、コンパイラ型言語又はインタープリタ型言語を含むあらゆる形態のプログラミング言語で書くことができ、スタンドアロンププログラムとしての形態、或いはモジュール、コンポーネント、サブルーチン又はコンピュータ環境での使用に適した他のユニットとしての形態を含むあらゆる形態で展開することができる。
【0125】
複数の実装について説明した。それでもなお、本開示の趣旨及び範囲から逸脱することなく様々な修正を行うことができると理解されるであろう。従って、以下の特許請求の範囲には他の実装も含まれる。