IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ダッソー システムズ アメリカス コーポレイションの特許一覧

特許7496049全エネルギー保存を実施する格子ボルツマンソルバ
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-29
(45)【発行日】2024-06-06
(54)【発明の名称】全エネルギー保存を実施する格子ボルツマンソルバ
(51)【国際特許分類】
   G16Z 99/00 20190101AFI20240530BHJP
【FI】
G16Z99/00
【請求項の数】 18
【外国語出願】
(21)【出願番号】P 2020002949
(22)【出願日】2020-01-10
(65)【公開番号】P2020123325
(43)【公開日】2020-08-13
【審査請求日】2022-12-28
(31)【優先権主張番号】62/790,528
(32)【優先日】2019-01-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514180812
【氏名又は名称】ダッソー システムズ アメリカス コーポレイション
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100141553
【弁理士】
【氏名又は名称】鈴木 信彦
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【氏名又は名称】上杉 浩
(72)【発明者】
【氏名】プラディープ ゴパラクリシュナン
(72)【発明者】
【氏名】フードン チェン
(72)【発明者】
【氏名】ラオヤン チャン
【審査官】宮地 匡人
(56)【参考文献】
【文献】特表2015-507778(JP,A)
【文献】特表2016-528628(JP,A)
【文献】特表2016-534436(JP,A)
【文献】米国特許第06915245(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G16Z 99/00
JSTPlus(JDreamIII)
JST7580(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
全エネルギー保存を実施するシミュレーションを使用してコンピュータ上で流体流をシミュレートする方法であって、
メッシュにわたる粒子の動きをモデル化するように前記メッシュにわたる流体の活動をシミュレートするステップと、
前記メッシュ内の各メッシュ位置の、それぞれが対応するメッシュ位置における可能な運動量状態のうちの特定の運動量状態に対応する複数のエントリを含む一連の状態ベクトルをコンピュータアクセス可能メモリに記憶するステップと、
前記コンピュータが、移流する粒子の状態に、Eを比内部エネルギー、νを速度として、比全エネルギーE t =E+ν 2 /2を計算することによって得られる比全エネルギー値を加算し、時間間隔にわたって移流しない粒子の状態から前記全エネルギー値を減算することによって、前記粒子の前記一連の状態ベクトルを修正するステップと、
を含むことを特徴とする方法。
【請求項2】
前記修正された一連の状態に従って前記粒子が後続のメッシュ位置に移流した後に、前記方法は、前記粒子状態に局所圧力項を加え直してからモーメントを計算して正しい圧力勾配(∇p)をもたらすステップをさらに含む、
請求項1に記載の方法。
【請求項3】
前記局所圧力項は、前記コンピュータによって計算されるθ-1項を含む、
請求項2に記載の方法。
【請求項4】
前記流体流の活動をシミュレートするステップは、第1の一連の離散格子速度に部分的に基づいて前記流体流をシミュレートするステップを含み、前記方法は、前記第1の一連の離散格子速度と同じ格子速度である、或いは前記第1の一連の離散格子速度とは格子速度の数が異なる第2の一連の離散格子速度に部分的に基づいて、スカラー量の時間発展をシミュレートするステップをさらに含む、
請求項2に記載の方法。
【請求項5】
前記コンピュータが、後続のメッシュ位置への前記粒子の移流を一定の時間間隔にわたって実行するステップ、をさらに含み、
前記全エネルギーの時間発展をシミュレートするステップは、
近隣メッシュ位置からの流入分布を衝突演算子及びエネルギー演算子について収集するステップと、
前記流入分布に重み付けするステップと、
前記衝突演算子とエネルギー演算子との積として流出分布を決定するステップと、
前記決定された流出分布を伝播するステップと、
を含む、請求項1に記載の方法。
【請求項6】
任意のプラントル数のための正確な剪断応力を回復させるために、エネルギー衝突項は以下によって与えられ、
【数1】

ここでの
【数2】
は、非平衡成分のフィルタ処理された2次モーメントである、
請求項1に記載の方法。
【請求項7】
前記流入分布が、前記決定された流出分布に等しくなるように、ゼロの正味表面流束境界条件を適用するステップをさらに含む、
請求項5に記載の方法。
【請求項8】
活動をシミュレートするステップは、前記コンピュータが、平衡分布及び全エネルギーEtの第2の分布関数を適用するステップを含み、前記第2の分布関数は、流れ分布fiと共に移流する特定のスカラーとして定義される、
請求項1に記載の方法。
【請求項9】
前記第2の分布関数は、エネルギー方程式に対するfi の非平衡寄与を考慮して、境界付近の異なる格子分解能にわたる正確な流れ挙動を取得し、分布関数の衝突演算子は以下によって与えられ、
【数3】

【数4】
ここでの項Ωf、Ωqは、それぞれの衝突演算子を表し、前記方程式において使用される平衡分布は以下の通りである、
【数5】
【数6】
請求項に記載の方法。
【請求項10】
行時に物理的プロセス流体流をシミュレートするとともに、コンピュータシステムに、
メッシュにわたる粒子の動きをモデル化するように前記メッシュにわたる流体の活動をシミュレートし、
前記メッシュ内の各メッシュ位置の、それぞれが対応するメッシュ位置における可能な運動量状態のうちの特定の運動量状態に対応する複数のエントリを含む一連の状態ベクトルをコンピュータメモリに記憶し、
移流する粒子の状態に、Eを比内部エネルギー、νを速度として、比全エネルギーE t =E+ν 2 /2を計算することによって得られる比全エネルギー値を加算し、時間間隔にわたって移流しない粒子の状態から前記全エネルギー値を減算することによって、前記粒子の前記一連の状態ベクトルを修正する、
ことを行わせる、ことを特徴とするコンピュータプログラ
【請求項11】
前記全エネルギーの値は、圧力が対流するように移流前に追され追加された前記比全エネルギーの値を補正するために停止状態から前記追加された比全エネルギーの値を削除する、
請求項10に記載のコンピュータプログラ
【請求項12】
前記追加された比全エネルギーの値を削除することによって全エネルギーが保存され、正しい圧力速度項がもたらされる、
請求項11に記載のコンピュータプログラ
【請求項13】
前記追加された比全エネルギーの値を削除することは、前記停止状態
【数7】

【数8】
となるように修正することによって行われる、
請求項12に記載のコンピュータプログラ
【請求項14】
物理的プロセス流体流をシミュレートするためのコンピュータシステムであって、
1又は2以上のプロセッサ装置と、
前記1又は2以上のプロセッサ装置に結合されたコンピュータメモリと、
命令を記憶したコンピュータ可読媒体と、
を備え、前記命令は、実行時に物理的プロセス流体流をシミュレートするとともに、前記コンピュータシステムに、
メッシュにわたる粒子の動きをモデル化するように前記メッシュにわたる流体の活動をシミュレートし、
前記メッシュ内の各メッシュ位置の、それぞれが対応するメッシュ位置における可能な運動量状態のうちの固有の運動量状態に対応する複数のエントリを含む一連の状態ベクトルをコンピュータメモリに記憶し、
移流する粒子の状態に、Eを比内部エネルギー、νを速度として、比全エネルギーE t =E+ν 2 /2を計算することによって得られる比全エネルギー値を加算し、時間間隔にわたって移流しない粒子の状態から前記全エネルギー値を減算することによって、前記粒子の前記状態ベクトルを修正する、
ことを行わせる、
ことを特徴とするコンピュータシステム。
【請求項15】
前記システムは、前記修正された一連の状態に従って前記粒子が後続のメッシュ位置に移流した後に、前記粒子状態に局所圧力項を加え直してからモーメントを計算して正しい圧力勾配(∇p)をもたらすための命令をさらに含む、
請求項14に記載のシステム。
【請求項16】
前記局所圧力項は、前記システムによって計算されるθ-1項を含む、
請求項15に記載のシステム。
【請求項17】
前記流体流の活動をシミュレートするための命令は、
後続のメッシュ位置への前記粒子の移流を実行し、
第1の一連の離散格子速度に部分的に基づいて前記流体流をシミュレートし、及び
前記第1の一連の離散格子速度と同じ格子速度である、或いは前記第1の一連の離散格子速度とは格子速度の数が異なる第2の一連の離散格子速度に部分的に基づいて、スカラー量の時間発展をシミュレートする、ための命令を含む、
請求項15に記載のシステム。
【請求項18】
前記システムに、平衡分布及び全エネルギーEtの第2の分布関数を適用させるための命令をさらに含み、前記第2の分布関数、流れ分布fiと共に移流する固有のスカラーとして定義される、
請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
〔優先権の主張〕
本出願は、2019年1月10日に出願された「全エネルギー保存を実施する格子ボルツマンソルバ(LATTICE BOLTZMANN SOLVER ENFORCING TOTAL ENERGY CONSERVATION)」という名称の米国仮特許出願第62/790,528号に対する合衆国法典第35編第119条(e)に基づく優先権を主張するものであり、この文献の内容は全体が引用により本明細書に組み入れられる。
【0002】
本明細書は、物理的流体流(physical fluid flows)などの物理的プロセスのコンピュータシミュレーションに関する。
【背景技術】
【0003】
いわゆる「格子ボルツマン法」(LBM)は、計算流体力学において使用される有利な技術である。格子ボルツマンシステムの基礎を成す力学は、ボルツマン方程式に従う多くの粒子の動きを伴う気体分子運動論の基本物理学に存在する。ボルツマン基本運動システムには、衝突及び移流という2つの基本的な動力学プロセスがある。衝突プロセスは、保存則に従う粒子間の相互作用、及び平衡状態への緩和を伴う。移流プロセスは、微視的粒子速度に従う1つの位置から別の位置への粒子の動きをモデル化することを含む。
【0004】
圧縮性流では、質量、運動量及び全エネルギーの保存を満たすために、通常は単一の分布関数を使用する。単一の分布関数を使用してこれらの3つの量を全て解く場合、LBMに使用される格子は、最大8次のモーメントを満たすべきである。この状況では、モーメント要件が増加し、結果として得られるステンシルサイズも増大するので、数多くの格子速度が必要である。単一の粒子分布関数の使用に伴う他の留意事項としては、分布関数の安定性、運動量及びエネルギーの境界条件、体積力(body force)及び熱源などに関する留意事項が挙げられる。
【先行技術文献】
【特許文献】
【0005】
【文献】米国特許出願公開第2016-0188768号明細書
【文献】米国特許第9,576,087号明細書
【発明の概要】
【課題を解決するための手段】
【0006】
1つの態様によれば、全エネルギー保存を実施するシミュレーションを使用してコンピュータ上で流体流をシミュレートする方法が、メッシュにわたる粒子の動きをモデル化するようにメッシュにわたる流体の活動をシミュレートするステップと、メッシュ内の各メッシュ位置の、それぞれが対応するメッシュ位置における可能な運動量状態のうちの特定の運動量状態に対応する複数のエントリを含む一連の状態ベクトルをコンピュータアクセス可能メモリに記憶するステップと、コンピュータが、メッシュ内のメッシュ位置の一連のエネルギー値を計算するステップと、コンピュータが、粒子の後続のメッシュ位置への移流を一定の時間間隔にわたって実行するステップと、コンピュータが、移流した粒子の状態に全エネルギー(specific total energy values)を加算し、時間間隔にわたって移流しなかった粒子の状態から全エネルギー値を減算することによって、粒子の状態ベクトルを修正するステップと、を含む。
【0007】
態様は、1又は2以上の機械可読ハードウェア記憶装置上のコンピュータプログラム製品、装置及びコンピュータシステムも含む。
【0008】
上記態様のうちの1つ又は2つ以上は、本明細書で説明する特徴の中でもとりわけ以下の特徴のうちの1つ又は2つ以上を含むことができる。
【0009】
修正された一連の状態に従って粒子が後続のメッシュ位置に移流した後に、態様は、粒子状態に局所圧力項を加え直してからモーメントを計算して正しい圧力勾配(∇p)をもたらすステップを含む。局所圧力項は、コンピュータによって計算されるθ-1項を含む。流体流の活動をシミュレートするステップは、第1の一連の離散格子速度に部分的に基づいて流体流をシミュレートするステップを含み、方法は、第2の一連の離散格子速度に部分的に基づいてスカラー量の時間発展をシミュレートするステップをさらに含む。第2の一連の離散格子速度は、第1の一連の離散格子速度と同じ格子速度である。第2の一連の離散格子速度は、格子速度の数が第1の一連の離散格子速度の数と異なる。全エネルギーの時間発展をシミュレートするステップは、近隣メッシュ位置からの流入分布を衝突演算子及びエネルギー演算子について収集するステップと、流入分布に重み付けするステップと、衝突演算子とエネルギー演算子との積として流出分布を決定するステップと、決定された流出分布を伝播するステップと、を含む。
【0010】
スカラー量の時間発展をシミュレートするステップは、1次項としての衝突演算子とエネルギー演算子との積に由来する運動量流束を効果的に表す衝突演算子に部分的に基づいてスカラー量の時間発展をシミュレートするステップを含む。任意のプラントル数のための正確な剪断応力を回復させるために、エネルギー衝突項は以下によって与えられ、
【数1】


ここでの
【数2】

は、非平衡成分のフィルタ処理された2次モーメントである。
【0011】
態様は、流入分布が、決定された流出分布に等しくなるように、ゼロの正味表面流束境界条件を適用するステップをさらに含む。流出分布を決定するステップは、ゼロの表面スカラー流束をもたらすように流出分布を決定するステップを含む。スカラー量は、温度、濃度及び密度から成る群から選択されたスカラー量を含む。メッシュ内のメッシュ位置の一連のエネルギー値を計算するステップは、Et=E+ν2/2によって与えられる全エネルギーEtを計算するステップをさらに含み、ここでのEはエネルギーであり、νは速度である。
【0012】
活動をシミュレートするステップは、コンピュータが、平衡分布及び全エネルギーEtの第2の分布関数を適用するステップを含み、第2の分布は、流れ分布fiと共に移流する特定のスカラーとして定義される。第2の分布関数は、エネルギー方程式に対するfiの非平衡寄与を考慮して、境界付近の異なる格子分解能にわたる正確な流れ挙動を取得し、分布関数の衝突演算子は以下によって与えられ、
【数3】

【数4】

ここでの項Ωf、Ωqは、それぞれの衝突演算子を表し、上記方程式において使用される平衡分布は以下の通りである、
【数5】

【数6】
【0013】
全エネルギーは、圧力が対流するように移流前に項を追加し、追加エネルギーを補正するために停止状態からエネルギーを削除する。追加エネルギーを削除することによって全エネルギーが保存され、正しい圧力速度項がもたらされる。追加エネルギーを削除することは、停止状態
【数7】


【数8】

となるように修正することによって行われる。
【0014】
本明細書に開示する方法では、全エネルギーを解くことが、流れ分布と共に移流する特定のスカラーとして定義される第2の分布を使用する。本明細書で説明する流体流をシミュレートする方法は、格子ボルツマン(LB)法及びスカラーソルバ輸送方程式を使用する。全エネルギー保存を有して高安定域を伴う圧縮性流れのためのLBMソルバを提供し、これを実際の応用に使用することができる。衝突中には、ソルバにおいて使用される平衡分布が正であり、移流中には、温度結合が行われる。
【0015】
図面を含む以下の説明及び特許請求の範囲から、他の特徴及び利点が明らかになるであろう。
【図面の簡単な説明】
【0016】
図1】流体流シミュレーションシステムを示す図である。
図2】複雑な流体流シミュレーション及び全エネルギーの計算のための動作を示すフローチャートである。
図3】複雑な流体流シミュレーション及び全エネルギーの計算のための動作を示すフローチャートである。
図4】期待結果、予測結果の例示的な計算ベースの比較を示す図である。
図5】期待結果、予測結果の例示的な計算ベースの比較を示す図である。
図6】期待結果、予測結果の例示的な計算ベースの比較を示す図である。
図7】2つのLBMモデルの速度成分を示す図である(先行技術)。
図8】2つのLBMモデルの速度成分を示す図である(先行技術)。
図9】物理的プロセスシミュレーションシステムが従う手順のフローチャートである(先行技術)。
図10】マイクロブロックの透視図である。
図11A図1のシステムが使用する格子構造(先行技術)の図である。
図11B図1のシステムが使用する格子構造(先行技術)の図である。
図12】可変分解能技術を示す図である(先行技術)。
図13】可変分解能技術を示す図である(先行技術)。
図14】粒子とファセットとの相互作用を理解する上で役立つ平行六面体を示す図である。
図15】ボクセルから表面への粒子の動きを示す図である(先行技術)。
図16】表面から表面への粒子の動きを示す図である(先行技術)。
図17】表面動力学の実行手順のフローチャートである(先行技術)。
図18】粒子衝突ステップから独立した熱力学ステップを使用して分布関数を生成するプロセスのフローチャートである。
【発明を実施するための形態】
【0017】
以下の図9で説明する手順では、全エネルギー保存を実施する格子ボルツマンソルバを用いたフローシミュレーションプロセスについて説明する。
【0018】
図7図8及び図10図18では、図にそれぞれ「先行技術」との表記を行っている。これらの図に先行技術との表記を行う理由は、一般にこれらの図が上述した特許で見られるためである。しかしながら、これらの図は、上述した特許出願で見られる通りである。しかしながら、上述した特許出願には、後述する全エネルギー保存を実施する格子ボルツマンソルバについての記載がないため、これらの図は、このLBソルバを使用してフローシミュレーションに対して行う修正を一切考慮していない。
【0019】
A.スカラー量を解くための方法
複雑な流体流シミュレーションを達成する際には、流体流を解くのと共に、温度分布、濃度分布及び/又は密度などのスカラー量を同時に解くことが有益となり得る。本明細書で説明するシステム及び方法では、LBMベースの物理プロセスシミュレーションシステムに基づく流体流のモデル化に(ベクトル量とは対照的に)スカラー量のモデル化を結びつける。モデル化できる例示的なスカラー量としては、温度、濃度及び密度が挙げられる。
【0020】
スカラー量のモデル化をシミュレーション流体流に結びつける技術の具体的詳細は、Pradeep Gopalakrishman他による「熱的混成格子ボルツマン法のための温度結合アルゴリズム(Temperature Coupling Algorithm for Hybrid Thermal Lattice Boltzmann Method)」という名称の同時係属中の米国特許出願公開第2016-0188768号に詳述されており、この文献の内容は全体が引用により本明細書に組み入れられる。比較的高い安定域を有するガリレイ不変の衝突演算子(Galilean-invariant collision operator)に基づく衝突演算子を使用する。この衝突演算子の具体的詳細は米国特許第9,576,087号に記載されており、この文献の内容は全体が引用により本明細書に組み入れられる。
【0021】
例えば、このシステムを使用して、システム内の対流温度分布を求めることができる。例えば、(複数のボクセルによって表される体積で形成された)システムが熱源を含み、システム内に空気流が存在する場合には、空気流及び熱源との近接性に基づいて、システムの一部の領域が他の領域よりも高温になる。このような状況をモデル化するために、システム内の温度分布を、各ボクセルが関連する温度を有するスカラー量として表すことができる。
【0022】
別の例では、このシステムを使用して、システム内の化学物質分布を求めることができる。例えば、(複数のボクセルによって表される体積で形成された)システムが、汚染爆弾、或いは空気中又は液体中に懸濁した化学物質又は他の粒子などの汚染源を含み、システム内に空気流又は液体流が存在する場合には、流れ及び汚染源との近接性に基づいて、システムの一部の領域が他の領域よりも高濃度になる。このような状況をモデル化するために、システム内の化学物質分布を、各ボクセルが関連する濃度を有するスカラー量として表すことができる。
【0023】
いくつかの応用では、複数の異なるスカラー量を同時にシミュレートすることができる。例えば、システムは、システム内の温度分布及び濃度分布の両方をシミュレートすることができる。
【0024】
スカラー量は、様々な方法でモデル化することができる。例えば、スカラー輸送方程式を解くための格子ボルツマン(LB)法を使用して間接的にスカラー輸送を解くことができる。例えば、本明細書で説明する方法は、以下の2次巨視的スカラー輸送方程式の間接解をもたらすことができる。
【数9】
【0025】
流体流のための格子ボルツマン関数に加え、輸送スカラーに第2の分布関数の組を導入する。この方法は、体積内の各ボクセルにベクトルを割り当てて流体流を表し、体積内の各ボクセルにスカラー量を割り当てて所望のスカラー変数(例えば、温度、密度、濃度など)を表す。この方法は、正確な保存則を満たす巨視的スカラー輸送方程式を完全に回復させる。この方法は、他の非LBM法と比べて、求められるスカラー量の精度を高めると考えられる。また、この方法は、複雑な境界形状を考慮する能力を高めるとも考えられる。
【0026】
このスカラー量をモデル化する方法は、マサチューセッツ州バーリントンのExa Corporation社から市販されているPowerFLOWシステムなどの、格子ボルツマン法(LBM)に基づく時間陽的CFD/CAA解法と共に使用することができる。LBMは、巨視的連続体方程式を離散化することに基づく方法とは異なり、「メゾスコピック」ボルツマン運動方程式から開始して巨視的流体力学を予測する。結果として得られる圧縮非定常解法(compressible and unsteady solution method)を使用して、空力音響問題及び純音響問題などの様々な複雑な流れの物理特性を予測することができる。以下では、LBMベースのシミュレーションシステムの一般的考察を示した後に、このようなモデル化法をサポートするために流体流シミュレーションと共に使用できるスカラー解法について説明する。
【0027】
シミュレーション空間のモデル化
LBMベースの物理的プロセスシミュレーションシステムでは、流体流が、一連の離散速度ciで評価される分布関数値fiによって表される。分布関数の動力学は方程式I1に準拠し、ここでのfi(0)は、以下のように定義される平衡分布関数として知られており、
【数10】

方程式(I1)
式中、
【数11】

である。
【0028】
この方程式は、分布関数fiの時間発展を表す周知の格子ボルツマン方程式である。左辺は、いわゆる「流動過程」による分布の変化を表す。流動過程は、あるメッシュ位置において流体ポケットが開始した後に、複数の速度ベクトルのうちの1つに沿って次のメッシュ位置に移動する時点である。この時点で、「衝突係数」、すなわち開始流体ポケットに対する近隣の流体ポケットの影響を計算する。流体は別のメッシュ位置にしか移動することできず、従って全ての速度の全ての成分が共通速度の倍数になるように正しい速度ベクトルの選択が必要である。
【0029】
第1の方程式の右辺は、流体ポケット同士の衝突に起因する分布関数の変化を表す上述した「衝突演算子」である。特定の形の衝突演算子は、Bhatnagar、Gross and Krock(BGK)演算子とすることができる。衝突演算子は、「平衡」形態である第2の方程式によって与えられる規定値に分布関数を至らしめる。
【0030】
BGK演算子は、たとえ衝突の詳細がどうであろうと、分布関数は、衝突を通じて{fi eq(x,v,t)}{feq(x,v,t)}によって与えられる明確に定義された局所平衡に近付くという物理的説明に従って構築され、
【数12】

方程式(I2)
ここでのパラメータτは、衝突を介した平衡までの特性緩和時間を表す。粒子(例えば、原子又は分子)の取り扱いでは、通常は緩和時間が定数とみなされる。
【0031】
このシミュレーションから、質量ρ及び流体速度uなどの従来の流体変数が以下の方程式(I3)の単純和として得られる。
【数13】

方程式(I3)
ここでのρ、u及びTは、それぞれ流体の密度、速度及び温度であり、Dは、(必ずしも物理的空間次元とは等しくない)離散化速度空間の次元である。
【0032】
対称性を考慮することにより、速度値の集合は、配置空間内でスパニングした時に特定の格子構造を形成するように選択される。このような離散系の動特性は、以下の形を有するLBEに従い、
i(x+ci,t+1)-fi(x,t)=ci(x,t)
ここでの衝突演算子は、通常は上述したようなBGKの形を取る。平衡分布形態を正しく選択することにより、格子ボルツマン方程式が正しい流体力学及び熱流体力学の結果をもたらすことを理論的に示すことができる。すなわち、fi(x,t)から導き出される流体力学的モーメントは、巨視的極限ではナビエ・ストークス方程式に従う。これらのモーメントは、上記の方程式(I3)によって定義される。
【0033】
i及びwiの集合的な値はLBMモデルを規定する。LBMモデルは、スケーラブルコンピュータプラットフォーム上に効率的に実装して、時間非定常流(time unsteady flows)及び複雑な境界条件のために高いロバスト性を伴って実行することができる。
【0034】
ボルツマン方程式から流体系の動きの巨視的方程式を取得する標準技術は、完全なボルツマン式の連続近似を取るチャップマン-エンスコッグ法(Chapman-Enskog method)である。流体系では、密度のわずかな乱れが音速で伝わる。気体系では、一般に音速が温度によって決まる。流れの圧縮率の影響の重要性は、特性速度と音速との比率によって測定され、これはマッハ数として知られている。従来のLBMベースの物理プロセスシミュレーションシステムのさらなる説明については、上記で引用により組み入れた米国特許出願公開第2016/0188768号を参照されたい。
【0035】
図1に、物理的対象表現の周囲などの流体流をシミュレートするシステム10を示す。この実装のシステム10は、クライアントサーバアーキテクチャに基づき、超並列コンピュータシステム12として実装されるサーバシステム12と、クライアントシステム14とを含む。サーバシステム12は、メモリ18と、バスシステム11と、インターフェイス20(例えば、ユーザインターフェイス/ネットワークインターフェイス/ディスプレイ又はモニタインターフェイスなど)と、処理装置24とを含む。メモリ18内には、メッシュ準備エンジン32及びシミュレーションエンジン34が存在する。システム10は、2D及び/又は3Dメッシュ、座標系及びライブラリを記憶するデータリポジトリ38にアクセスする。
【0036】
図1では、メッシュ準備エンジン32をメモリ18内に示しているが、メッシュ準備エンジンは、サーバ12とは異なるシステム上で実行されるサードパーティアプリケーションとすることもできる。メッシュ準備エンジン32は、メモリ18内で実行されるか、それともサーバ12とは異なるシステム上で実行されるかにかかわらず、ユーザ指定のメッシュ定義30を受け取り、メッシュを準備してシミュレーションエンジン34に送信する。以下で開示するように、シミュレーションエンジン34は、粒子衝突相互作用モジュールと、粒子境界モデルモジュールと、移流動作を実行する移流モジュールとを含む。シミュレーションエンジン34は、図3で後述するような全エネルギーソルバも含む。
【0037】
次に、図2に、物理的対象表現の周囲の流体流をシミュレートするプロセス40を示す。本明細書で説明する例では、物理的対象が翼形部である。しかしながら、物理的対象はあらゆる形状とすることができ、具体的には平面及び/又は(単複の)曲面を有するので、翼形部の使用は例示にすぎない。プロセスは、例えばクライアントシステム14から、又はデータリポジトリ42から検索を行うことにより、例えばシミュレートする物理的対象のメッシュを受け取る(42)。他の実施形態では、外部システム又はサーバ12のいずれかが、シミュレートする物理的対象のメッシュをユーザ入力に基づいて生成する。このプロセスは、検索されたメッシュから幾何学量を事前計算し(44)、検索されたメッシュに対応する事前計算された幾何学量を用いて動的格子ボルツマンモデルシミュレーションを実行する(46)。格子ボルツマンモデルシミュレーションは、移流した粒子の状態に全エネルギー値を加算し、一定の時間間隔にわたって移流しなかった粒子の状態から全エネルギー値を減算することによって修正された状態ベクトルの組に従う、粒子分布の発展と、LBMメッシュ内の次のセル
【数14】

への粒子の移流とのシミュレーションを含む。
【0038】
全エネルギー保存圧縮性流れソルバ
複雑な流体流シミュレーションを達成する際には、流体流を解くのと共に、温度分布、濃度分布及び/又は密度などのスカラー量を同時に解くことが有益となり得る。特定のスカラーとスカラー分布とを区別することは、q(方程式10)とh(方程式2)との間の差分であり、E_tである特定のスカラーqを使用するのに対し、hは密度*E_tである。説明する方法は、上述した米国特許出願公開第2016-0188768号において説明されているように、移流する流れの上に存在するスカラーのようなものである。
【0039】
全エネルギー保存における圧力項の処理
次に、図3を参照して、従来の方法よりも良好な安定域を有して実際の用途に応用できる全エネルギー保存プロセス50を用いた圧縮性LBMソルバについて説明する。解く必要がある全エネルギー方程式は、以下によって与えられ、
【数15】

方程式1
ここでの全エネルギーEtは、Et=E+ν2/2によって与えられ、ρは密度であり、νは速度であり、pは圧力であり、kは熱伝導率であり、Tは温度であり、τは剪断応力である。この方程式は、高速流のための全計算流体力学ツールによって解く必要がある一般方程式である。
【0040】
全エネルギーソルバに伴う複雑さの1つは、方程式1における圧力対流項「p」の加算である。格子ボルツマン法(LBM)は、高速流のための全計算流体力学ツールと同様に、この方程式を全エネルギー保存について解く必要がある。LBM法には、全ての事例について、とりわけ圧力対流項pについてこの方程式を解く上でいくつかの欠点がある。開示する方法は、この方程式を複雑な問題について解くことができ、他の利点も有する。
【0041】
LBM法について存在するような圧力対流問題は、以下のように説明することができる。正常なスカラー輸送は以下の方程式の形を取る。
【数16】

上記方程式の左辺は対流項を含み、右辺は拡散項を有する。全エネルギー方程式とは異なり、上記方程式の全ての項は1つのスカラー変数Sしか含んでおらず、このことが移流を単純化する。プロセス50は、選択された平衡分布形態に従って粒子分布の発展をシミュレートする(52)。
【0042】
平衡分布(方程式1の選択形態)52に加え、全エネルギーEtを計算するための第2の分布関数を使用する(54)。プロセス50は、LBMにおける次のセルqへの粒子の移流(56)を含む。エネルギー保存の実現は、2つの分布の積によって行われる。これらの分布関数の積は、流れ分布fiと共に移流する特定のスカラーとして定義される。この第2の分布関数は、エネルギーを解くために単独で第2の分布関数を使用する既存の方法とは異なり、エネルギー方程式に対するfiの非平衡寄与を考慮して、境界付近の異なる格子分解能にわたる正確な流れ挙動を取得する。
【0043】
分布関数の衝突演算子は以下によって与えられる。
【数17】

方程式2
【数18】

方程式3
【0044】
方程式2及び方程式3の項Ωf及びΩqは、それぞれの衝突演算子を表すために使用される。方程式5の衝突演算子Ωfについては、米国特許第9,576,087号において広く説明されており、この文献の内容は全体が引用により本明細書に組み入れられる。上記の方程式で使用される平衡分布は以下の通りである。
【数19】

【数20】

方程式4
【0045】
全エネルギーソルバのための分布関数方程式7の上記公式化において明白な観察結果は、平衡分布が、方程式1などにおける圧力項(p)、及びθ-1項、熱流に不可欠なp=ρRTを含まない点である。第2の分布は、内部エネルギーE=CνT及び運動エネルギーν2/2の総和である全エネルギーである。
【0046】
従って、この分布関数は、衝突演算中に常に正の値をもたらし、従ってこの分布関数は、対応する高い安定性をソルバにもたらす。方程式(2)における衝突後の状態がそのまま移流した場合、方程式4の分布関数は、運動量の等温圧力勾配のみをもたらし、全エネルギー方程式に圧力対流項をもたらさない。平衡分布を使用して移流中及び衝突中に以下のような圧力項を含む他の方法とは対照的に、移流に起因して圧力勾配項及び圧力対流項が生じる一方で、衝突はこれらの項に影響を与えない。
【数21】


【数22】
【0047】
項θ=RT/T0は、圧力に対応して上記の平衡を負の状態にするものであり、従って既存の技術は非常に不安定である。また、第2の分布関数hi eqを全エネルギーについて単独で使用していることにより、異なる格子分解能にわたってノイズも生じる。
【0048】
処理50は、移流した状態に全エネルギーを追加する一方で停止状態(非移動状態)から全エネルギーを削除することによって移流状態を修正する(58)。
【0049】
具体的には、この正確な運動量及びエネルギー方程式を回復させる修正(58)では、圧力の導入が移流ステップ中にしか行われない。移流プロセスの前には、メッシュサイトにおける移動状態(∀i≠0)値が、以下の方程式8のように修正される。
【数23】

【数24】

方程式5
【0050】
しかしながら、この項(方程式5の第2の方程式)をqiに加えると、移動状態に追加エネルギーも加わる。この項によって表される追加エネルギーを補正するために、停止状態(粒子が対流しない状態)から同じ量のエネルギーを削除する。プロセスは、これを行うことによってエネルギーを保存し、正確な圧力速度項をもたらす。具体的にいえば、全エネルギーの保存は、停止状態
【数25】


【数26】

となるように修正することによって行われる。
【0051】
移流後には、モーメントを計算する前に粒子状態に局所圧力項を加え直し、これによって正しい圧力勾配(∇p)が得られる。
【数27】

方程式6
【0052】
移流前(方程式8)及び移流後(方程式6)の修正は、運動量の状態の正しい方程式(又は正しい圧力勾配(∇p))を回復させるとともに、全エネルギーの正しい圧力対流項∇(up)も回復させる。圧力項が削除されるので(方程式9)、衝突中に状態が正になって全エネルギーソルバの安定域を改善する。
【0053】
以下で図9において考察するように、移流した粒子の状態に全エネルギー値を加算し、その時間間隔にわたって移流しなかった粒子の状態から全エネルギー値を減算することによってコンピュータが粒子の状態ベクトルを修正するという移流に対する全エネルギー修正を適用して移流を修正する。
【0054】
エネルギーのための正則化された衝突演算子
流動状態のために使用される衝突演算子Ωfは、上述した米国特許第9,576,087号において検討されている。以下では、エネルギーのために使用される衝突演算子Ωqについて検討する。1次モーメントを伴う正則化された衝突は以下のように与えられ、
【数28】

【数29】

方程式7
ここでの方程式7は、全エネルギーに対するフィルタ処理された非平衡寄与である。エネルギー保存は、方程式(7)の右辺における第2項
【数30】

である衝突項を以下の状態にする2つの状態の乗算によって満たされる。
【数31】

方程式8
【0055】
上記の項のゼロ番目のモーメントは0であり、エネルギーを保存する。チャップマン・エンスコッグの拡張中には、衝突項の1次モーメントが熱拡散の導出に関与し、剪断応力によって機能する。衝突項は、1次近似として以下のように表すことができる。
【数32】

方程式9
【0056】
上記の方程式では、両状態
【数33】

を乗算した結果、運動量流束項ρυυが生じる。この項ρυυは、高速流では数値的不安定性をもたらすとともに、マッハ数依存の拡散ももたらす。これらの影響を軽減するために、衝突演算子を以下のように定義することによって項ρυυを削除する。
【数34】

方程式10
【0057】
上記の式は、運動量流束項ρυυを削除して、高マッハ流での数値的安定性を改善する。
【0058】
衝突演算子には多くの方法を利用することができる。これらの方法の1つは「正則化」と呼ばれる。Hudong及びRaoyangによる(係属中の)格子ボルツマンに基づくスカラーについての特許では、「正則化」がさらなるガリレイ不変性特徴(Galilean invariance feature)と併せて使用されている。しかしながら、この正則化衝突演算子は、高速流との使用にとって理想的なものではない。導出中には、結局のところ演算子がρυυなどの高次項を有するようになる(方程式12)。LBMでは、一般に速度値が常に1未満であり、従って低速流ではこれらの誤差項がはるかに小さくなり、無視することもできる。しかしながら、高速流では、速度値がほぼ1程度に高くなり、従って誤差項ρυυが比較的大きくなり、方程式10によって削除される。
【0059】
任意のプラントル数のための粘性効果
エネルギーソルバで使用される緩和時間は、熱拡散率に等しい粘度を有する剪断応力(τq-0.5ρRTによって誤った結果をもたらすτqである。任意のプラントル数のための正確な剪断応力を回復させるために、エネルギー衝突項に以下のさらなる項を追加し、
【数35】

方程式11
ここでの
【数36】

は、非平衡成分のフィルタ処理された2次モーメントである。
【0060】
全エネルギーソルバの能力
全エネルギーソルバは、PowerFLOW(登録商標)などの既存の流れソルバに含めることができ、亜音速流及び遷音速流に関連する応用を含む幅広い産業用途に使用することができる。
【0061】
本節では、開示する全エネルギーソルバの、とりわけエネルギー保存面に関連する圧縮性流についての潜在的利点の一部を示すために、いくつかのベンチマークについて説明する。シミュレーション結果を、解析解及び典型的な有限差分PDEベースのハイブリッドソルバ解と比較する。
【0062】
図4に、前縁からx=1.5mの平板にわたる、Ma=0.7のマッハ速度(Ma)における流れの全温度のグラフを示す。図4に示すように、平板にわたる流れの全エネルギーソルバ(実線62)は全温度を正確に回復させるのに対し、ハイブリッドソルバ(LBM流れソルバ及び有限差分ベースのエントロピーソルバ)(点線64)は全温度を維持していない。
【0063】
図5には、前縁からx=1.5mの平板のMa=0.7のマッハ速度(Ma)における静温度のグラフを示す。このグラフには、u/u(y軸)としてのuに対して温度TをT/T(x軸)として示す。実線66として表した開示する全エネルギーソルバをハイブリッドソルバ(LBM流れソルバ及び有限差分ベースのエントロピーソルバ)(点線68)と比較する。この図1には、前縁からx=1.5mの平板のMa=0.7のマッハ速度(Ma)における静温度がウォルツの方程式(アスタリスク線70)に一致することが示されている。
【0064】
図6には、逆圧Pb=0:75Ptの縮小拡大検証(Converging-Diverging Verification)(CDV)ノズルの温度シミュレーション結果のグラフを示す。このグラフには、x(y軸)に対して温度TをT/T(x軸)として示す。実線72として表した開示する全エネルギーソルバを、ハイブリッドソルバ(LBM流れソルバ及び有限差分ベースのエントロピーソルバ)(点線74)と比較する。開示する全エネルギーソルバは、分析決定プロットの破線76と良好に一致する。静温度の比較では、有限差分法に基づく圧縮性ソルバが衝突後に温度を回復できていないのに対し、開示する全エネルギーソルバは期待値を達成することが示されている。
【0065】
開示する全エネルギーソルバを用いたシステムを使用して、システム内の対流温度分布を求めることができる。例えば、(複数のボクセルによって表される体積で形成された)システムが熱源を含み、システム内に空気流が存在する場合には、空気流及び熱源との近接性に基づいて、システムの一部の領域が他の領域よりも高温になる。このようなシステムをモデル化するために、システム内の温度分布を、各ボクセルが関連する温度を有するスカラー量として表すことができる。
【0066】
別の例では、このシステムを使用して、システム内の化学物質分布を求めることができる。例えば、(複数のボクセルによって表される体積で形成された)システムが、汚染爆弾、或いは空気中又は液体中に懸濁した化学物質又は他の粒子などの汚染源を含み、システム内に空気流又は液体流が存在する場合には、流れ及び汚染源との近接性に基づいて、システムの一部の領域が他の領域よりも高濃度になる。このような状況をモデル化するために、システム内の化学物質分布を、各ボクセルが関連する濃度を有するスカラー量として表すことができる。
【0067】
いくつかの応用では、複数の異なるスカラー量を同時にシミュレートすることができる。例えば、システムは、システム内の温度分布及び濃度分布の両方をシミュレートすることができる。
【0068】
スカラー量は、様々な方法でモデル化することができる。例えば、スカラー輸送方程式を解くための格子ボルツマン(LB)法を使用して間接的にスカラー輸送を解くことができる。例えば、本明細書で説明する方法は、上述した以下の2次巨視的スカラー輸送方程式の間接解をもたらすことができる。
【数37】
【0069】
このような配置シミュレーションでは、流体流のための格子ボルツマン関数に加え、輸送スカラーに第2の分布関数の組が導入される。この方法は、体積内の各ボクセルにベクトルを割り当てて流体流を表し、体積内の各ボクセルにスカラー量を割り当てて所望のスカラー変数(例えば、温度、密度、濃度など)を表す。この方法は、正確な保存則を満たす巨視的スカラー輸送方程式を完全に回復させる。この方法は、他の非LBM法と比べて、求められるスカラー量の精度を高めると考えられる。また、この方法は、複雑な境界形状を考慮する能力を高めるとも考えられる。
【0070】
このスカラー量をモデル化する方法は、マサチューセッツ州バーリントンのExa Corporation社から市販されているPowerFLOWシステムなどの、格子ボルツマン法(LBM)に基づく時間陽的CFD/CAA解法と共に使用することができる。LBMは、巨視的連続体方程式を離散化することに基づく方法とは異なり、「メゾスコピック」ボルツマン運動方程式から開始して巨視的流体力学を予測する。結果として得られる圧縮非定常解法を使用して、空力音響問題及び純音響問題などの様々な複雑な流れの物理特性を予測することができる。以下では、LBMベースのシミュレーションシステムの一般的考察を示した後に、このようなモデル化法をサポートするために流体流シミュレーションと共に使用できるスカラー解法について説明する。
【0071】
図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)で動いている粒子を表す。
【0072】
また、図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)で動いている粒子を表す。
【0073】
101個の速度を含む3D-2モデル及び37個の速度を含む2D-2モデルなどのさらに複雑なモデルを使用することもできる。
【0074】
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)を表す。
【0075】
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)で動いている粒子を表す。
【0076】
上述したLBMモデルは、2次元及び3次元の両方における流れの数値シミュレーションのための特定のクラスの効率的でロバストな離散速度動力学モデルを提供する。この種のモデルは、特定の離散速度の組と、これらの速度に関連する重みとを含む。これらの速度は、特に格子ボルツマンモデルとして知られている種類の離散速度モデルの正確で効率的な実装を容易にする速度空間における(非ユークリッド空間内)デカルト座標のグリッド点と一致する。このようなモデルを用いて、高い忠実度で流れをシミュレートすることができる。
【0077】
図9を参照すると、物理プロセスシミュレーションシステムが、手順300に従って動作して流体流などの物理プロセスをシミュレートする。シミュレーションの前に、シミュレーション空間をボクセルの集合としてモデル化する(ステップ302)。通常、シミュレーション空間は、コンピュータ支援設計(CAD)プログラムを用いて生成される。例えば、CADプログラムを用いて、風洞内に位置するマイクロデバイスを描くことができる。その後、CADプログラムによって生成されたデータを処理して適切な分解能の格子構造を追加し、シミュレーション空間内の物体及び表面を考慮する。
【0078】
格子の分解能は、シミュレートされるシステムのレイノルズ数に基づいて選択することができる。レイノルズ数は、流れの粘度(ν)、流れにおける物体の特性長(L)及び流れの特性速度(u)に関連する。
Re=uL/ν方程式(I4)
【0079】
物体の特性長は、物体の大規模な特徴を表す。例えば、マイクロデバイスの周囲の流れをシミュレートする場合には、マイクロデバイスの高さを特性長と見なすことができる。小さな物体領域(例えば、自動車のサイドミラー)の周囲の流れに関心がある時には、シミュレーションの分解能を高めるか、或いは関心領域の周囲に高分解能の領域を使用することができる。格子の分解能が高まるにつれてボクセルの次元は減少する。
【0080】
状態空間はfi(x,t)として表され、ここでのfiは、時点tにおいて3次元ベクトルxによって示される、ある格子サイトにおける状態iの単位体積当たりの要素又は粒子の数(すなわち、状態iの粒子の密度)を表す。既知の時間増分では、粒子の数が単純にfi(x)として示される。格子サイトの全ての状態の組み合わせは、f(x)として示される。
【0081】
状態の数は、各エネルギーレベル内の考えられる速度ベクトル数によって決まる。速度ベクトルは、x、y及びzの3次元を有する空間内の整数の線形速度から成る。多重種シミュレーションでは状態の数が増加する。
【0082】
各状態iは、特定のエネルギーレベル(すなわち、エネルギーレベル0、1又は2)における異なる速度ベクトルを表す。各状態の速度ciは、以下のように3次元の各次元における「速度」と共に示される。
i=(cix,c,ciz) 方程式(I5)
【0083】
エネルギーレベルゼロの状態は、どの次元においても動いていない停止した粒子を表し、すなわちcstopped=(0,0,0)である。エネルギーレベル1の状態は、3次元のうちの1つの次元において±1の速度を有し、他の2つの次元においてゼロ速度を有する粒子を表す。エネルギーレベル2の状態は、3次元全てにおいて±1の速度を有する粒子、或いは3次元のうちの1つの次元において±2の速度を有し、他の2つの次元においてゼロ速度を有する粒子を表す。
【0084】
3つのエネルギーレベルの考えられる順列を全て生成すると、全部で39個の可能な状態(1つのエネルギー0状態、6つのエネルギー1状態、8つのエネルギー3状態、6つのエネルギー4状態、12のエネルギー8状態及び6つのエネルギー9状態)が得られる。
【0085】
各ボクセル(すなわち、各格子サイト)は、状態ベクトルf(x)によって表される。状態ベクトルは、ボクセルの状態を完全に定め、39個のエントリを含む。39個のエントリは、1つのエネルギー0状態、6つのエネルギー1状態、8つのエネルギー3状態、6つのエネルギー4状態、12のエネルギー8状態及び6つのエネルギー9状態に対応する。システムは、この速度集合を使用することによって、達成された平衡状態ベクトルのためのマクスウェル-ボルツマン統計を生じることができる。全エネルギーでは、第2の分散qi(x,t)に同じ数のエントリ(39の状態)を使用してエネルギーを表す。これを状態ベクトルf(x)と共に使用して全エネルギー保存を解く。
【0086】
ボクセルは、処理効率のためにマイクロブロックと呼ばれる2×2×2の容量にグループ化される。これらのマイクロブロックは、ボクセルの並行処理を可能にして、データ構造に関連するオーバーヘッドを最小化するように編成される。マイクロブロック内のボクセルの略語はNi(n)として定義され、ここでのnは、マイクロブロック内の格子サイトの相対的位置を表し、n∈{0,1,2,...,7}である。図10にマイクロブロックを示す。
【0087】
図11A及び図11Bを参照すると、表面S(図11A)をシミュレーション空間(図11B)内にファセットFαの集合として表している。
S={Fα} 方程式(I6)
ここでのαは、特定のファセットを列挙する指数である。ファセットはボクセル境界に制限されず、比較的少数のボクセルにファセットが影響を与えるように、典型的にはファセットに隣接するボクセルのサイズと同程度又はそれよりもわずかに小さなサイズを有する。ファセットには、表面動力学を実装する目的で特性が割り当てられる。具体的に言えば、各ファセットFαは、単位法線(nα)と、表面積(Aα)と、中心位置(xα)と、ファセットの表面動特性を表すファセット分布関数(fi(α))とを有する。全エネルギー分散関数qi(α)は、ファセットとボクセルの相互作用のための流れ分散と同じ方法で取り扱われる。
【0088】
図12を参照すると、シミュレーション空間の異なる領域内で異なるレベルの分解能を用いて処理効率を高めることができる。通常は、物体655の周囲の領域650に最も関心があり、従ってこの領域を最高分解能でシミュレートする。粘度の効果は物体からの距離と共に減少するので、減少レベルの分解能(すなわち、拡大されたボクセル体積)を用いて、物体655から増加する距離に配置された領域660、665をシミュレートする。同様に、図13に示すように、低レベルの分解能を用いて物体775のそれほど重要でない特徴の周囲の領域770をシミュレートする一方で、最高レベルの分解能を用いて物体775の最も重要な特徴(例えば、先端面及び後端面)の周囲の領域780をシミュレートすることもできる。中心から遠い領域785は、最低レベルの分解能及び最大ボクセルを用いてシミュレートされる。
【0089】
C.ファセットの影響を受けるボクセルの識別
再び図9を参照すると、シミュレーション空間をモデル化したら(ステップ302)、1又は2以上のファセットの影響を受けるボクセルを識別する(ステップ304)。ボクセルは、複数の形でファセットの影響を受けることができる。まず、1又は2以上のファセットが交わるボクセルは、交わっていないボクセルに比べて容量が減少するという点で影響を受ける。この理由は、ファセットと、ファセットが表す表面の下にある材料とがボクセルの一部を占有するからである。分数係数(fractional factor)Pf(x)は、ファセットの影響を受けないボクセルの部分(すなわち、流れをシミュレートする対象である流体又は他の材料が占有できる部分)を示す。交わっていないボクセルでは、Pf(x)が1に等しい。
【0090】
ファセットへの粒子の移動又はファセットからの粒子の受け取りを行うことによって1又は2以上のファセットと相互作用するボクセルも、ファセットの影響を受けるボクセルとして識別される。ファセットが交わる全てのボクセルは、ファセットから粒子を受け取る少なくとも1つの状態と、ファセットに粒子を移動させる少なくとも1つの状態とを含むようになる。ほとんどの場合、さらなるボクセルもこのような状態を含む。
【0091】
図14を参照すると、ファセットFαは、非ゼロの速度ベクトルciを有する各状態iについて、速度ベクトルCiとファセットの単位法線nαとのベクトルドット積(|cii|)の大きさによって定められる高さと、ファセットの表面積Aαによって定められる底面とを有する平行六面体Gによってその体積Vが次式に等しくなるように定められた領域から粒子を受け取り、又はこの領域に粒子を移動させる。
=|ciα|Aα 方程式(I7)
【0092】
ファセットFαは、状態の速度ベクトルがファセットの方に向いている(|cii|<0の)時には体積Vから粒子を受け取り、状態の速度ベクトルがファセットから離れる方に向いている(|cii|>0の)時にはこの領域に粒子を移動させる。後述するように、内角などの非凸面特徴の近傍で起こり得る状態である、別のファセットが平行六面体Gの一部を占有する時には、この式が修正される。
【0093】
ファセットFαの平行六面体Gは、複数のボクセルの一部又は全部に重なり合うことができる。ボクセルの数又はその一部は、ボクセルのサイズに対するファセットのサイズと、状態のエネルギーと、格子構造に対するファセットの配向とに依存する。影響を受けるボクセルの数は、ファセットのサイズと共に増加する。従って、上述したように、通常、ファセットのサイズは、ファセットの近くに位置するボクセルのサイズと同程度又はそれよりも小さくなるように選択される。
【0094】
平行六面体Gが重なり合ったボクセルの部分N(x)は、V(x)として定められる。この項を使用すると、ボクセルN(x)とファセットFαとの間を移動する状態iの粒子の流束Γ(x)は、ボクセルの状態iの粒子の密度(Ni(x))と、ボクセルが重なり合った領域の体積(V(x))とを乗算したものに等しい。
Γ(x)=Ni(x)V(x) 方程式(I8)
【0095】
平行六面体Gに1又は2以上のファセットが交わる時には、以下の条件が当てはまり、
=ΣVα(x)+ΣV(β) 方程式(I9)
ここでの第1の加算は、Gが重なり合った全てのボクセルに相当し、第2項は、Gに交わる全てのファセットに相当する。平行六面体Gに別のファセットが交わらない時には、この式が以下のように変形する。
=ΣV(x) 方程式(I10)
【0096】
D.シミュレーションの実行
1又は2以上のファセットの影響を受けるボクセルが識別されると(ステップ304)、タイマを初期化してシミュレーションを開始する(ステップ306)。シミュレーションの各時間増分中には、粒子と表面ファセットとの相互作用を考慮した移流段階(ステップ308~316)によってボクセルからボクセルへの粒子の移動をシミュレートする。次に、上述したエントロピーソルバの使用に部分的に基づいて、衝突段階(ステップ318)によって各ボクセル内の粒子の相互作用をシミュレートする。その後、タイマを増分する(ステップ320)。増分したタイマによってシミュレーションが完了した旨が示されない(ステップ322)場合には、移流段階と衝突段階と(ステップ308~320)を繰り返す。増分したタイマによってシミュレーションが完了した旨が示された(ステップ322)場合には、シミュレーションの結果を記憶及び/又は表示する(ステップ324)。
【0097】
1.表面の境界条件
表面との相互作用を正しくシミュレートするために、各ファセットは4つの境界条件を満たす。まず、ファセットが受け取った粒子の合計質量が、ファセットが移動させた粒子の合計質量に等しい(すなわち、ファセットへの正味質量流束がゼロに等しい)。次に、ファセットが受け取った粒子の合計エネルギーが、ファセットが移動させた粒子の合計エネルギーに等しい(すなわち、ファセットへの正味エネルギー流束がゼロに等しい)。これらの2つの条件は、各エネルギーレベル(すなわち、エネルギーレベル1及び2)での正味質量流束がゼロに等しくなるよう求めることによって満たすことができる。
【0098】
他の2つの境界条件は、ファセットと相互作用する粒子の正味運動量に関連する。本明細書では滑り面と呼ぶ表面摩擦がない表面では、正味接線運動量流束がゼロに等しく、正味法線運動量流束がファセットの局所圧力に等しい。従って、ファセットの法線nαに垂直な受け取った合計運動量の成分と、ファセットの法線nαに垂直な移動させた合計運動量の成分と(すなわち、接線成分)が等しく、ファセットの法線nαに平行な受け取った合計運動量の成分と、ファセットの法線nαに平行な移動させた合計運動量の成分と(すなわち、法線成分)の差分がファセットの局所圧力に等しい。非滑り面では、ファセットが受け取った粒子の合計接線運動量に対するファセットが移動させた粒子の合計接線運動量が、表面の摩擦によって摩擦量に関連する倍数だけ減少する。
【0099】
2.ボクセルからファセットへの収集
粒子と表面との間の相互作用をシミュレートする最初のステップとして、ボクセルから粒子を集めてファセットに提供する(ステップ308)。上述したように、ボクセルN(x)とファセットFαとの間の状態iの粒子の流束は以下の通りである。
Γ(x)=Ni(x)V(x) 方程式(I11)
【0100】
この式から、各状態iがファセットの方を向いている(ciα<0の)場合、ボクセルによってファセットFαに提供される粒子の数は以下の通りである。
ΓiαVF=ΣxΓ(x)=Σxi(x)V(x) 方程式(I12)
【0101】
(x)が非ゼロの値を有するボクセルのみを加算する必要がある。上述したように、ファセットのサイズは、V(x)が少数のボクセルのみについて非ゼロの値を有するように選択される。V(x)及びPf(x)は非整数値を有することもできるので、Γα(x)は実数として記憶され処理される。
【0102】
3.ファセットからファセットへの移動
次に、粒子がファセット間を移動する(ステップ310)。ファセットFαが流入状態(ciα<0)にある平行六面体Gに別のファセットFβが交わる場合、ファセットFαが受け取る状態iの粒子の一部はファセットFβから流入するようになる。具体的に言えば、ファセットFαは、前回の時間増分中にファセットFβによって生成された状態iの粒子の一部を受け取るようになる。この関係を図17に示しており、ここでは、ファセットFβが交わる平行六面体Gの一部1000が、ファセットFαが交わる平行六面体Gの一部1005に等しい。上述したように、交わった部分をV(β)として示す。この項を用いて、ファセットFβとファセットFαとの間の状態iの粒子の流束を以下のように表すことができ、
Γ(β,t-1)=Γi(β)V(β)/V方程式(I.13)
ここでのΓi(β,t-1)は、前回の時間増分中にファセットFβによって生成された状態iの粒子の測定量である。この式から、各状態iがファセットFαの方を向いている(ciα<0の)場合、他のファセットによってファセットFαに提供される粒子の数は以下のようになり、
ΓiαF→F=ΣβΓ(β)=ΣβΓi(β,t-1)V(β)/V方程式(I.14)
ファセット内への状態iの粒子の全流束は以下のようになる。
ΓiIN(α)=ΓiαF→F+ΓiαF→F=Σxi(x)V+ΣβΓi(β,t-1)V(β)/V方程式(I.15)
【0103】
ファセット分布関数とも呼ばれるファセットの状態ベクトルN(α)は、ボクセル状態ベクトルのM個のエントリに対応するM個のエントリを有する。Mは、離散格子速度の数である。ファセット分布関数の入力状態N(α)は、これらの状態になる粒子の流束を体積Vで除算したものに等しく設定され、
iα<0の場合、以下のようになる。
i(α)=ΓiIN(α)/V方程式(I.16)
【0104】
ファセット分布関数は、ファセットからの出力流束を生成するためのシミュレーションツールであり、必ずしも実際の粒子を表すものではない。正確な出力流束を生成するには、分布関数の他の状態に値を割り当てる。上述した内向き状態を投入する方法を用いて外向き状態を投入すると、
iα≧0の場合、
i(α)=ΓiOTHER(α)/V方程式(I.17)
となり、ここでのΓiOTHER(α)は、上述したΓiIN(α)を生成するための方法を用いて、ただしこの方法を流入状態(ciα<0))以外の状態(ciα≧0)に適用して決定される。別の方法では、以前の時間ステップからのΓiOUT(α)の値を用いて以下のようにΓiOTHER(α)を生成することもできる。
ΓiOTHER(α,t)=ΓiOUT(α,t-1) 方程式(I.18)
【0105】
平行状態(ciα=0)では、V及びV(x)がいずれもゼロである。Ni(α)を求める式では、V(x)が(ΓiOTHER(α)の式からの)分子に現れ、Vが(Ni(α)の式からの)分母に現れる。従って、V及びV(x)がゼロに近付くと、平行状態のNi(α)は、Ni(α)の極限として決定される。ゼロ速度を有する状態の値(すなわち休止状態、並びに状態(0,0,0,2)及び(0,0,0,-2))は、シミュレーションの最初に温度及び圧力の初期条件に基づいて初期化される。その後、これらの値は時間をかけて調整される。
【0106】
4.ファセット表面動力学の実行
次に、各ファセットが上述した4つの境界条件を満たすように表面動力学を実行する(ステップ312)。図18に、ファセットの表面動力学の実行手順を示す。最初に、ファセットにおける粒子の合計運動量P(α)を以下のように求めることによって、ファセットFαに垂直な合計運動量を求める(ステップ1105)。
全てのiについて、
【数38】

方程式(I.19)
この式から、以下のように法線運動量Pn(α)を求める。
n(α)=nα・P(α) 方程式(I.20)
【0107】
次に、プッシング/プリング法を用いてこの法線運動量を排除(ステップ1110)してNn-(α)を生成する。この方法によれば、粒子は、法線運動量にのみ影響を与える形で状態間を移行する。このプッシング/プリング法は、引用により組み入れられる米国特許第5,594,671号に記載されている。
【0108】
その後、Nn-(α)の粒子を衝突させてボルツマン分布Nn-β(α)を生じさせる(ステップ1115)。以下で流体力学の実行に関して説明するように、ボルツマン分布は、Nn-(α)に一連の衝突則を適用することによって達成することができる。
【0109】
次に、流入流束分布とボルツマン分布とに基づいてファセットFαの流出流束分布を求める(ステップ1120)。まず、流入流束分布Γi(α)とボルツマン分布との差分を以下のように求める。
ΔΓi(α)=ΓiIN(α)-Nn-βi(α)V方程式(I.21)
【0110】
この差分を使用すると、流出流束分布は、
αi>0の場合、以下のようになり、
ΓiOUT(α)=Nn-βi(α)V-.Δ.Γi*(α) 方程式(I.22)
ここでのi*は、状態iとは逆方向を有する状態である。例えば、状態iが(1,1,0,0)である場合、状態i*は(-1,-1,0,0)である。流出流束分布は、表面摩擦及びその他の因子を考慮してさらに精緻化することができ、
nαci>0の場合、以下のようになり、
ΓiOUT(α)=Nn-Bi(α)V-ΔΓi*(α)+Cf(nα・ci)-[Nn-βi*(α)-Nn-βi(α)]V+(nα・ci)(t・ci)ΔNj,1+(nα・ci)(t・ci)ΔNj,2方程式(I.23)
ここでのCfは、表面摩擦の関数であり、tは、nαに垂直な第1の接線ベクトルであり、tは、nαとtの両方に垂直な第2の接線ベクトルであり、ΔNj,1及びΔNj,2は、状態iのエネルギー(j)及び指示される接線ベクトルに対応する分布関数である。分布関数は、次式に従って決定され、
【数39】

方程式(I.24)
ここでのjは、エネルギーレベル1状態では1に等しく、エネルギーレベル2状態では2に等しい。
【0111】
ΓiOUT(α)の方程式の各項の関数は以下の通りである。第1項及び第2項は、ボルツマン分布を生じる上で衝突が効果的である限りは法線運動量流束境界条件を強制するが、接線運動量流束の例外を含む。第4項及び第5項は、この不十分な衝突に起因する離散性効果又は非ボルツマン構造を原因として生じ得る例外を補正する。最後に、第3項は、表面上の接線運動量流束の所望の変化を強制するように一定量の表面摩擦を追加する。摩擦係数Cfの生成については以下で説明する。なお、ベクトル操作に関与する全ての項は、シミュレーションの開始前に計算できる幾何学的因子である。
【0112】
この式から、接線速度が以下のように求められ、
i(α)=(P(α)-Pn(α)nα)/ρ 方程式(I.25)
ここでのρは、以下などのファセット分布の密度である。
【数40】

方程式(I.26)
【0113】
上記と同様に、流入流束分布とボルツマン分布との差分を以下のように求める。
ΔΓi(α)=ΓiIN(α)-Nn-βi(α)V方程式(I.27)
【0114】
すると、流出流束分布は以下のようになり、
ΓiOUT(α)=Nn-βi(α)V-ΔΓi*(α)+Cf(nαci)[Nn-βi*(α)-Nn-βi(α)]V方程式(I.28)
この式は、先の方法によって求めた流出流束分布の最初の2行に対応するが、異常な接線流束のための補正を必要としない。
【0115】
いずれかの方法を使用すると、結果として得られる流束分布は運動量流束条件を全て満たし、すなわち、
【数41】

方程式(I.29)
となり、ここでのpαは、ファセットFαにおける平衡圧であって、ファセットに粒子を提供するボクセルの平均密度及び温度値に基づき、uαは、ファセットにおける平均速度である。
【0116】
質量及びエネルギー境界条件が確実に満たされるように、各エネルギーレベルjについて入力エネルギーと出力エネルギーとの差分を以下のように測定する。
【数42】

方程式(I.30)
ここでの添字jは、状態iのエネルギーを示す。次に、このエネルギー差を用いて差分項(difference term)を生成すると、
cjinα>0の場合、以下のようになる。
【数43】

方程式(I.31)
この差分項を用いて流出流束を修正すると、流速は、
jiα>0の場合、以下のようになる。
ΓαjiOUTf=ΓαjiOUT+δΓαji 方程式(I.32)
この演算は、接線運動量流束をそのままにした状態で質量及びエネルギー流束を訂正する。ファセットの近傍において流れがおおよそ均一であって平衡に近い場合には、この調整はわずかなものである。結果として得られる調整後の法線運動量流束は、近傍の平均特性に近傍の非均一性又は非平衡特性に起因する補正をプラスしたものに基づく平衡圧である値へとわずかに変化する。
【0117】
5.ボクセルからボクセルへの移動
再び図9を参照すると、3次元直線格子に沿ってボクセル間で粒子を移動させる(ステップ314)。このボクセルからボクセルへの移動は、ファセットと相互作用しないボクセル(すなわち、表面付近に存在しないボクセル)に対して行われる唯一の移動操作である。典型的なシミュレーションでは、表面と相互作用するほど十分に表面近くに存在しないボクセルがボクセルの大多数を構成する。
【0118】
この分離状態の各々は、3次元のx、y及びzの各々において格子に沿って整数速度で移動する粒子を表す。整数速度は、0、±1及び±2を含む。速度の符号は、対応する軸に沿った粒子の移動方向を示す。
【0119】
表面と相互作用しないボクセルの場合、この移動操作は計算的に極めて単純である。毎時間増分中に、状態の集団全体をその現在のボクセルから宛先ボクセルに移動させる。同時に、宛先ボクセルの粒子を、そのボクセルから独自の宛先ボクセルに移動させる。例えば、+1x及び+1y方向に移動しているエネルギーレベル1の粒子(1,0,0)は、その現在のボクセルから、x方向に+1上回り他の方向が0であるボクセルに移動させる。この粒子は、最後には移動前の状態と同じ状態の宛先ボクセル(1,0,0)に行き着く。ボクセル内の相互作用は、他の粒子及び表面との局所的相互作用に基づいてその状態の粒子総数を変化させることがある。変化しなければ、粒子は格子に沿って同じ速度で同じ方向に移動し続ける。
【0120】
この移動操作は、1又は2以上の表面と相互作用するボクセルでは若干複雑になる。この結果、1又は2以上の端数粒子(fractional particles)がファセットに移動することがある。このような端数粒子のファセットへの移動により、ボクセルに端数粒子が留まるようになる。これらの端数粒子を、ファセットに占有されたボクセルに移動させる。
【0121】
移流した粒子の状態に全エネルギー値を加算して、及びその時間間隔にわたって移流しなかった粒子の状態から全エネルギー値を減算することによって、コンピュータが粒子の状態ベクトルを修正する、移流への全エネルギー修正315も示す(図3を参照)。
【0122】
図15を参照すると、ボクセル905の状態iの粒子の一部900がファセット910に移動した時には(ステップ308)、残り部分915をファセット910が位置するボクセル920に移動させ、ここから状態iの粒子をファセット910に向ける。従って、状態集団が25に等しく、V(x)が0.25に等しい(すなわち、ボクセルの4分の1が平行六面体Gに交わる)場合には、6.25の粒子がファセットFαに移動し、18.75の粒子を、ファセットFαに占有されたボクセルに移動させる。1つのボクセルに複数のファセットが交わることもあるので、1又は2以上のファセットに占有されたボクセルに移動する状態iの粒子の数N(f)は以下のようになり、
【数44】

方程式(I.33)
ここでのN(x)はソースボクセルである。
【0123】
6.ファセットからボクセルへの散乱
次に、各ファセットからの流出粒子をボクセルに散乱させる(ステップ316)。基本的に、このステップは、ボクセルからファセットに粒子が移動する収集ステップの逆である。ファセットFαからボクセルN(x)に移動する状態iの粒子の数は以下のようになり、
【数45】

方程式(I.34)
ここでのPf(x)は、部分的なボクセルの体積縮小に相当する。この式から、各状態iについて、ファセットからボクセルに向かう粒子の総数N(x)は以下のようになる。
【数46】

方程式(I.35)
【0124】
粒子をファセットからボクセルに散乱させ、これらの粒子を周囲のボクセルから移流した粒子と組み合わせて結果を整数化した後には、一定のボクセルの一定の方向がアンダーフロー(負になる)又はオーバーフロー(8ビット実装において255を超える)のいずれかになることがある。この結果、これらの量を許容できる値の範囲に収まるように切り捨てた後に、質量、運動量及びエネルギーが増加又は減少するようになる。
【0125】
このような発生を防ぐために、有害な状態を切り捨てる前に、限界を超えた質量、運動量及びエネルギーを蓄積する。状態を有するエネルギーでは、(アンダーフローに起因して)得られた又は(オーバーフローに起因して)失われた値に等しい質量が、同じエネルギーを有するランダムに(又は順次に)選択された状態に加え直され、これ自体がオーバーフロー又はアンダーフローに影響されることはない。この質量及びエネルギーの追加によって生じるさらなる運動量を蓄積して、切り捨てからの運動量に追加する。同じエネルギー状態のみに質量を追加することにより、質量カウンタがゼロに達した時に質量及びエネルギーがいずれも補正される。最後に、運動量積算器がゼロに戻るまでプッシング/プリング法を用いて運動量を補正する。
【0126】
7.流体力学の実行
流体力学を実行する(図9、318)。このステップは、マイクロ動力学操作又はボクセル内操作と呼ぶことができる。同様に、移流手順は、ボクセル間操作と呼ぶことができる。後述するマイクロ動力学操作を用いて、ファセットにおける粒子を衝突させてボルツマン分布を生成することもできる。
【0127】
流体力学は、格子ボルツマン方程式モデルにおいて、BGK衝突モデルとして知られている特定の衝突演算子によって保証される。この衝突モデルは、実際の流体系における分布の動力学を模倣する。衝突プロセスは、方程式1及び方程式2の右辺によって十分に説明することができる。移流ステップ後には、方程式3を用いた分布関数から流体系の保存量、具体的には密度、運動量及びエネルギーが取得される。これらの量から、方程式(2)にfeqで示す平衡分布関数が方程式(4)によって十分に規定される。いずれも表1に列挙する速度ベクトルセットci、重みの選択は、方程式2と相まって、巨視的挙動が正しい流体動力学方程式に従うことを保証する。
【0128】
E.可変分解能
図12を参照すると、(上述した)可変分解能は、以下では粗ボクセル12000及び微小ボクセル1205と呼ぶ異なるサイズのボクセルを採用する。(以下の説明では、2つの異なるサイズを有するボクセルを参照するが、説明する技術は、3又は4以上の異なるサイズのボクセルに適用してさらなる分解能レベルを提供することもできると理解されたい。)粗ボクセル及び微小ボクセルの領域間の界面は、可変分解能(VR)界面1210と呼ばれる。
【0129】
可変分解能を表面又はその付近で採用すると、ファセットがVR界面の両側のボクセルに相互作用することができる。これらのファセットは、VR界面ファセット1215(FαIC)又はVR微小ファセット1220(FαIF)として分類される。VR界面ファセット1215は、VR界面の粗側に位置するファセットであり、微小ボクセル内に延びる粗平行六面体1225を有する。(粗平行六面体は、粗ボクセルの寸法に従ってciが寸法決めされるものであり、微小平行六面体は、微小ボクセルの寸法に従ってciが寸法決めされるものである。)VR微小ファセット1220は、VR界面の微小側に位置するファセットであり、粗ボクセル内に延びる微小平行六面体1230を有する。界面ファセットに関連する処理は、粗ファセット1235(FαC)及び微小ファセット1240(FαF)との相互作用を伴うこともできる。
【0130】
両タイプのVRファセットでは、表面動力学が微小スケールで実行され、上述したように動作する。しかしながら、VRファセットは、VRファセットとの間を粒子が移流する方法に関して他のファセットと異なる。
【0131】
VRファセットとの相互作用は、図13に示す可変分解能手順1300を用いて行われる。この手順のほとんどのステップは、非VRファセットとの相互作用について上述した同等のステップを用いて行われる。手順1300は、それぞれが微小時間ステップに対応する2つの位相を含む粗時間ステップ(すなわち、粗ボクセルに対応する期間)中に実行される。ファセット表面動力学は、各微小時間ステップ中に実行される。このため、VR境界面ファセットFαIcは、それぞれ黒色ファセットFαIcb及び赤色ファセットFαICrと呼ばれる2つの同一サイズ及び同一配向の微小ファセットとみなされる。黒色ファセットFαICbは、粗時間ステップ内の第1の微小時間ステップに関連し、赤色ファセットFαICrは、粗時間ステップ内の第2の微小時間ステップに関連する。
【0132】
最初に、第1の表面-表面移流段階によって粒子がファセット間を移動(移流)する(ステップ1302)。粒子は、黒色ファセットFαICbから、V-αβの重み付け係数を有する粗ファセットFβCに移動し、この重み付け係数V-αβは、ファセットFαから広がってファセットFβの裏側に存在する粗平行六面体(図12、1225)の非ブロック部分から、ファセットFαから広がってファセットFβの裏側に存在する微小平行六面体(図12、1245)の非ブロック部分を差し引いた容積に対応する。微小ボクセルのciの大きさは、粗ボクセルのciの大きさの1/2である。上述したように、ファセットFαの平行六面体の容積は以下のように定義される。
=|ciα|Aα 方程式(I.36)
【0133】
従って、ファセットの表面積Aαは粗平行六面体と微小平行六面体との間で変化せず、単位法線nαは常に1の大きさを有するので、あるファセットに対応する微小平行六面体の容積は、このファセットの対応する粗平行六面体の容積の1/2である。
【0134】
粒子は、粗ファセットFαCから、Vαβの重み付け係数を有する黒色ファセットFβICbに移動し、この重み付け係数Vαβは、ファセットFαから広がってファセットFβの裏側に存在する微小平行六面体の非ブロック部分の容積に対応する。
【0135】
粒子は、赤色ファセットFαICrからVαβの重み付け係数を有する粗ファセットFβCに、そして粗ファセットFαCからV-αβの重み付け係数を有する赤色ファセットFβICbに移動する。
【0136】
粒子は、赤色ファセットFαICrからVαβの重み付け係数を有する黒色ファセットFβICbに移動する。この段階では、黒色から赤色への移流は行われない。また、黒色ファセット及び赤色ファセットは連続する時間ステップを表すので、黒色から黒色への移流(又は赤色から赤色への移流)は決して行われない。同様の理由で、この段階の粒子は、赤色ファセットFαICrからVαβの重み付け係数を有する微小ファセットFβIF又はFβFに、そして微小ファセットFαIF又はFαFから同じ重み付け係数を有する黒色ファセットFαICbに移動する。
【0137】
最後に、粒子は、微小ファセットFαIF又はFαFから同じ重み付け係数を有する他の微小ファセットFβIF又はFβFに、そして粗ファセットFαCからVCαβの重み付け係数を有する他の粗ファセットFCに移動し、この重み付け係数VCαβは、ファセットFαから広がってファセットFβの裏側に存在する粗平行六面体の非ブロック部分の容積に対応する。
【0138】
粒子が表面間を移流した後に、第1の収集段階においてボクセルから粒子を収集する(ステップ1304~1310)。微小ファセットFαFの粒子は、微小平行六面体を用いて微小ボクセルから収集され(ステップ1304)、粗ファセットFαCの粒子は、粗平行六面体を用いて粗ボクセルから収集される(ステップ1306)。次に、微小平行六面体を用いて、粗ボクセル及び微小ボクセルの両方から黒色ファセットFαIRb及びVR微小ファセットFαIFの粒子を収集する(ステップ1308)。最後に、粗平行六面体と微小平行六面体との差分を用いて、粗ボクセルから赤色ファセットFαIRrの粒子を収集する(ステップ1310)。
【0139】
次に、微小ボクセル又はVRファセットと相互作用をする粗ボクセルを一群の微小ボクセルに展開する(ステップ1312)。単一の粗時間ステップ内で粒子を微小ボクセルに移動させる状態の粗ボクセルを展開する。例えば、ファセットが交わっていない適切な状態の粗ボクセルは、図4のマイクロブロックのように配向された8つの微小ボクセルに展開される。1又は2以上のファセットが交わっている適切な状態の粗ボクセルは、いずれのファセットも交わっていない粗ボクセルの部分に対応する一群の完全な及び/又は部分的な微小ボクセルに展開される。粗ボクセルと、粗ボクセルの展開によって生じる微小ボクセルとでは粒子密度Ni(x)は等しいが、微小ボクセルは、粗ボクセルの分数係数及び他の微小ボクセルの分数係数とは異なる分数係数Pfを有することができる。
【0140】
その後、微小ファセットFαIF及びFαFについて表面動力学を実行し(ステップ1314)、黒色ファセットFαICbについて表面動力学を実行する(ステップ1316)。動力学は、図11に示して上述した手順を用いて実行される。
【0141】
次に、実際の微小ボクセルと、粗ボクセルの展開によって生じた微小ボクセルとを含む微小ボクセル間で粒子を移動させる(ステップ1318)。粒子を移動させたら、微小ファセットFαIF及びFαFから微小ボクセルに粒子を散乱させる(ステップ1320)。
【0142】
粒子は、黒色ファセットFαICbから(粗ボクセルの展開によって生じた微小ボクセルを含む)微小ボクセルにも散乱させる(ステップ1322)。粒子は、微小ボクセルがその時に表面の存在が無ければ粒子を受け取っていたと思われる場合には微小ボクセルに散乱させる。具体的に言えば、(粗ボクセルの展開によって生じた微小ボクセルではなく)ボクセルが実際の微小ボクセルである時、ボクセルN(x)を超える1つの速度単位N(x)であるボクセルN(x+ci)が実際の微小ボクセルである時、或いはボクセルを超える1つの速度単位N(x)であるボクセルN(x+ci)が粗ボクセルの展開によって生じた微小ボクセルである時には、粒子をボクセルN(x)に散乱させる。
【0143】
最後に、微小ボクセル上で流体力学を実行することによって第1の微小時間ステップが完了する(ステップ1324)。流体力学を実行するボクセルは、粗ボクセルの展開によって生じた微小ボクセルを含まない(ステップ1312)。
【0144】
手順1300は、第2の微小時間ステップ中にも同様のステップを実施する。最初に、第2の表面-表面移流段階において、粒子が表面間を移動する(ステップ1326)。粒子は、黒色ファセットから赤色ファセットに、黒色ファセットから微小ファセットに、微小ファセットから赤色ファセットに、そして微小ファセットから微小ファセットに移流する。
【0145】
粒子が表面間を移流した後に、第2の収集段階においてボクセルから粒子を収集する(ステップ1328~1330)。赤色ファセットFαIRrの粒子は、微小平行六面体を用いて微小ボクセルから収集される(ステップ1328)。微小ファセットFαF及びFαIFの粒子も、微小平行六面体を用いて微小ボクセルから収集される(ステップ1330)。
【0146】
従って、上述したように、微小ファセットFαIF及びFαFについて表面動力学を実行し(ステップ1332)、粗ファセットFαCについて表面動力学を実行し(ステップ1134)、赤色ファセットFαICRについて表面動力学を実行する(ステップ1336)。
【0147】
次に、微小ボクセルと粗ボクセルを表す微小ボクセルとの間を粒子が移動するように、微小分解能を用いてボクセル間で粒子を移動させる(ステップ1338)。その後、粒子が粗ボクセル間を移動するように、粗分解能を用いてボクセル間で粒子を移動させる(ステップ1340)。
【0148】
次に、組み合わせステップにおいて、粒子をファセットからボクセルに散乱させながら、粗ボクセルを表す微小ボクセル(すなわち、粗ボクセルの展開によって生じた微小ボクセル)を粗ボクセルに合体させる(ステップ1342)。この組み合わせステップでは、粗平行六面体を用いて粒子を粗ファセットから粗ボクセルに散乱させ、微小平行六面体を用いて粒子を微小ファセットから微小ボクセルに散乱させ、微小平行六面体を用いて粒子を赤色ファセットから微小又は粗ボクセルに散乱させ、粗平行六面体と微小平行六面体との差分を用いて粒子を黒色ファセットから粗ボクセルに散乱させる。最後に、微小ボクセル及び粗ボクセルに流体力学を実行する(ステップ1344)。
【0149】
F.スカラー輸送ソルバ
上述したように、流体流を解くには、スカラー輸送の背景キャリアとしての役割を果たす様々なタイプのLBMを適用することができる。シミュレーション中には、流体流及びスカラー輸送の両方がシミュレートされる。例えば、流体流は、格子ボルツマン(LB)法を使用してシミュレートされる流れであり、スカラー輸送は、本明細書ではスカラー輸送方程式と呼ばれる一連の分布関数を使用してシミュレートされる。
【0150】
本明細書では、流体流をシミュレートするためのLBM法の詳細な説明を行っているが、以下は、スカラーシミュレーションと共に使用できる1つの流体流シミュレーション方法の例である。
【数47】

方程式(I.37)
【0151】
ここで、fi(x、t)(i=1,...,19)は粒子分布関数であり、τは単一の緩和時間であり、fi eq(x,t)は流体速度の3次発展を含む平衡分布関数である。
【数48】

方程式(I.38)
ここではT0=1/3である。離散格子速度ciは以下の通りであり、
【数49】

方程式(I.39)
残りの粒子ではw0=1/3であり、デカルト方向の状態ではwi=1/18であり、二重対角方向の状態ではwi=1/36である。gi(x,t)は、外部体積力項である。流体力学的量£及びuは、粒子分布関数のモーメントである。
【数50】

方程式(I.40)
【0152】
上述したように、流体ソルバは、スカラー輸送情報を生成したスカラー輸送ソルバと共に使用される。従って、スカラー輸送では、流体ソルバに加えて別個の分布関数の組Tiが導入される。従って、システムは、システムのボクセル毎に流体流及びスカラー輸送の両方をシミュレートして、流体流を表す状態ベクトルと、スカラー変数を表すスカラー量とを生成する。これらのシミュレーション結果は、コンピュータアクセス可能媒体にエントリとして記憶される。
【0153】
スカラー輸送関数の組は、2次巨視的スカラー輸送方程式の間接的解法をもたらす。Tiは、スカラー量の動的発展をモデル化した方程式を提供する。
【数51】

方程式(I.41)
【数52】

方程式(I.42)
【数53】

方程式(I.43)
iはスカラー分布関数であり、Tは解かれるスカラーである。τTは、スカラー拡散率に対応する緩和時間である。緩和時間は、システムが緩和して平衡になるまでにどれほど掛かるかについての尺度を示す。項fi、ρ、T0及びuは、それぞれ方程式(38)、(39)及び(41)で定義される。
【0154】
iによって表される格子速度集合は、スカラーシミュレーションで使用される格子速度の離散集合とすることができる。一般に、スカラーソルバは、基本流体ソルバに付属する追加システムであるため、スカラー分布のための格子速度集合は、流体分布のための格子速度集合と同じである必要はない。例えば、スカラー発展のシミュレーションでは、流体流のシミュレーションよりも少ない数の格子速度を使用することができる。スカラー格子速度集合が流体格子速度集合の部分集合である限り、スカラーのための異なる格子速度集合を適用することができる。例えば、流体シミュレーションに19速度LBモデルを使用する場合、スカラーシミュレーションには6速度LBモデルを使用することができる。19速度LBモデルは、6速度LBモデルよりも高次の格子対称性を有するので、後述する例ではスカラーのための同じ19速度格子モデルを使用する。
【0155】
(例えば、上述したような)標準的な周知のBGKは、全ての次数の非平衡モーメントを含む。全ての非平衡モーメントを含めることは、必ずしも等方的、流体力学的又は物理的に有意義ではないと考えられる。従って、BGK正則化/フィルタ処理した衝突演算子の形態を使用する。衝突演算子Φiは、将来的な衝突係数を表す。この衝突演算子は、関連するサポートされた次数のみ(例えば、1次のみ)において非平衡スカラー特性を抽出する。この演算子は、対象モードの維持及び緩和を行う一方で、サポートされていない/望ましくない高次モードに関連する非平衡特性は排除される。この計画は、スカラー輸送の物理的特性(例えば、移流及び拡散)の回復にとって十分なものである。この将来的な衝突演算子の使用は、ノイズを大幅に低減し、より良好な移流挙動を提供し(例えば、ガリレイ不変を高めることができ)、周知のBGK演算子の他の解と比べて安定すると考えられる。(例えば、方程式43に示すような)このような形態は、流体力学的範囲におけるスカラー拡散に1次非平衡モーメントのみが寄与することを確実にする。さらに高次の非平衡モーメントは、全てこの衝突プロセスによってフィルタ除去される。上述した衝突演算子Φiの使用は、BGKにおいて示される数値ノイズの排除及びロバスト性の改善を含む利点をもたらすと考えられる。スカラーTは独自の平衡としての役割を果たし、スカラー平衡分布関数の複雑な式は不要である。衝突演算子Φiの全体的な計算はかなり効率的である。さらに高次の非平衡モーメントをフィルタ処理すると、高次の均衡解に存在し得るエイリアシングを低減するという利点をさらにもたらすことができると考えられる。
【0156】
方程式(42)における衝突は、スカラー保存則に従うことが分かる。方程式(42)の両辺にf’i(x,t)=fi(x+ci,t+1)を乗算すると、
【数54】

方程式(I.44)
となり、この結果、
【数55】

方程式(I.45)
となることが分かり、ここでのT’i(x,t)は方程式(42)の右辺を示す。従って、スカラーを温度とみなした場合、スカラー衝突演算子は局所的なρTを保存し、このことは局所的エネルギー保存の実現を意味する。Tiはfiと共に伝播するので、移流中にエネルギー分布E=fiiが完全に維持される。従って、ρTの大域的保存が達成される。さらに、最も注目すべき点として、このスキームは、スカラーTの均一性について厳密な不変性を維持する。これについては、あらゆる場所で
【数56】

である場合、背景の流れ場にかかわらずその後の全ての時点においてあらゆる場所でφ(x,t)=0かつ
【数57】

であることが容易に分かる。この基本特性は、過去のどの格子ボルツマンスカラーモデルでも実証されていない。
【0157】
チャップマン・エンスコッグの拡張を使用すると、方程式(42)は、以下の2次巨視的スカラー輸送方程式を回復させ、
【数58】

方程式(I.46)
κ=(τT-1/2)T0であることが分かる。この均一性不変条件は、ρが∇Tの範囲外にあることを確実にする。
【0158】
境界条件
LBMの1つの実質的利点は、複雑な幾何形状に対応できる点である。任意の幾何形状の無摩擦/摩擦境界条件(BC)を達成するための一般化された体積LB表面アルゴリズムでは、質量が保存されて、境界上の接線運動量流束及び法線運動量流束が正確に実現される。局所的詳細釣り合い(local detailed balance)が完全に満たされる。この方法の直接的拡張として、スカラーの任意の幾何形状の断熱(ゼロスカラー流束)BCを導出することができる。断熱BCが実現されると、規定の有限流束BCを達成することができる。
【0159】
他の点別のLBとは異なり、表面要素の離散化集合に対して境界条件が実施される。これらの区分的平面要素(piece-wise flat surface elements)は、共に湾曲形状を表す。図14に示すように、粒子移流中には、各表面要素が隣接する流体セルからの流入粒子を収集する(ステップ1410)。流入分布fi in,Ti inに、下にある表面要素からの平行六面体と粒子移動方向におけるセルとの体積重複によって重み付けする(ステップ1412)。流入量を受け取った後に、以下の表面スカラーアルゴリズムを適用する(ステップ1414)。表面からの流出分布を求めるために、
【数59】

方程式(I.47)
であり、ここでは、
【数60】

方程式(I.48)
i(≡|n・ci|A)
i・nn<0,cin=-ci・i=Pi・nである。
【0160】
ここでのnは、流体領域の方を示す表面法線であり、ci・nn<0,cin=-ci・i(≡|n・ci|A)は、表面法線n及び所与の表面要素の面積Aに関連する粒子方向ciにおける平行六面体の体積であり、明らかにPi=Pi*である。流出分布は、同じ表面移流プロセスに従って表面要素から流体セルに逆伝播される(ステップ1416)。上記の表面スカラー衝突が厳密なゼロの表面スカラー流束を達成することを示すことは困難ではない。流出方向にわたる総和をとると、流出スカラー流束は以下のようになる。
【数61】

方程式(I.49)
【0161】
i=Pi*及び方程式(49)におけるTinの定義に留意すると、右辺の第2の総和項はゼロである。また、質量流束保存に起因して
【数62】

であるため、総流出スカラー流束は総流入スカラー流束と同じである。
【数63】

方程式(I.50)
【0162】
従って、任意の幾何形状についてゼロの正味表面流束(断熱)BCが完全に満たされる。表面上で外部スカラーソースQ(t)が指定される場合、方程式(48)に直接ソース項を加えることができる。
【数64】

方程式(I.51)
【0163】
境界条件が規定のスカラー量Tw(例えば、表面温度)を有する場合、以下に従って表面熱流束を計算することができる。
【数65】

方程式(I.52)
【0164】
数値検証
図15図18に、LBスカラーソルバの能力をその数値精度、安定性、ガリレイ不変性、及びグリッド方位独立などに関して立証する4つのシミュレーション結果の組を示す。比較として、2つの異なる2次FDスキームを用いた結果、van Leer型の流束制限スキーム(flux limiter scheme)、及び直接混合スキーム(中心スキームと1次風上スキーム(first order upwind schemes)との混合)も示す。
【0165】
A.剪断波減衰
第1のテストケースは、一定の均一流体流によって運ばれる温度剪断波減衰である。初期温度分布は、均一分布に空間正弦波変動が加わったものであり、格子波長L=16であり、大きさは
【数66】

である。TAは定数である。背景平均流の速度は0.2であり、熱拡散率κは0.002である。このような低分解能及びκでは、数値安定性及び精度が十分に有効となり得る。背景流を伴わない温度減衰では、LBスカラーソルバ及び有限差分法の両方が理論との優れた一致を示す。非ゼロの背景平均流では、LBスカラーソルバが依然として正確に理論に匹敵することができる。しかしながら、FD結果は顕著な数値誤差を示す。図15には、格子時間ステップ81における温度プロファイルを示す。流束制限FDスキームでは数値拡散がはっきりと見られるが、混合FDスキームでは正確な温度プロファイルもその位置も維持することができない。
【0166】
B.体積熱源を有する傾斜チャネル
第2のテストケースは、異なる格子配向でのチャネル流の温度分布シミュレーションである。チャネル壁は自由滑り(free-slip)であり、流体流は均一を維持し、結果としてU0=0.2である。チャネル幅は50(格子面間隔)であり、流量Reは2000である。熱拡散率κは0.005である。壁の温度はTw=1/3に固定される。バルク流体領域に一定体積熱源q=5×10-6を適用する。流れは、流動別方向に周期的境界条件を有し、格子整列状況ではこの実現が容易である。図16に示すようにチャネル(明色)が傾斜している時には、内外のチャネル境界が座標方向に完全に一致することによって再び流動別方向に周期的境界条件が実現されるようになる。格子非依存を立証するために、傾斜角を26.56度になるように選択する。第1のテストケースと同様に、チャネルが格子整列している時には、LBスカラーソルバ及び2つのFDスキームを用いた温度分布が解析解と非常に良好に一致する。しかしながら、チャネルが傾斜している時には、FDスキームからの結果が理論から大きく外れる。図16に、傾斜チャネルにわたる温度分布のシミュレーション結果を示す。LB結果は、格子の配向に依存しないことがはっきりと示されている。傾斜した境界配向に関する勾配計算の処理の基本的困難性からFD法からの誤差も生じ、従ってさらなる数値アーチファクトが導入されるようになる。ここに示すBCではLBスカラー粒子移流が正確になるので、格子配向に依存しないスカラー発展を達成することができる。
【0167】
C.傾斜チャネルにおける温度伝播
デカルト格子上の非格子整列壁近傍領域には近隣情報が存在しないため、FDベースの方法にとって不可欠な局所勾配を正確に推定することは極めて困難である。さらに、FD法では風上情報に強く依存するため、スカラー移流の計算がさらに困難になり得る。対照的に、LBスカラーソルバの境界処理は、上述したように正確な局所スカラー流束保存を達成する。このような壁近傍領域のスカラー移流を正確に計算することができる。証明として、30度傾斜したチャネルにおける高温対流を実施する。固体壁において自由滑り(free-slip)かつ断熱のBCを実施すると、流体速度は、チャネルに沿って一定のU0=0.0909である。熱拡散率κは0.002である。最初は、入口のT=4/9を除き、あらゆる場所で温度が1/3である。その後に、この温度前線は、均一な背景流体流によって歪みを伴わずに下流位置まで対流するはずである。図17に、格子時間ステップ2000におけるチャネルにわたる計算された温度前線分布を示す。LBスカラーソルバの温度前線は、ほぼ真っ直ぐな形状を維持する。一方で、2つのFDスキームからの温度前線は、壁近傍領域においてかなりの歪みを示す。LBスカラー結果は、LBスカラーソルバの数値拡散が小さくなったことを意味する最も薄い温度前線を示したとも言える。
【0168】
D.レイリー-ベナール(Rayleigh-Bernard)自然対流
レイリー-ベナール(RB)自然対流は、数値ソルバの精度検証のための古典的なベンチマークである。RB自然対流は、ケース設定は単純であるが複雑な物理現象である。レイリー数Raが特定の臨界値を超えると、システムが非流から対流に移行する。図18に示すような現在の研究は、流体に作用する浮力がαρg(T-Tm)として定義されるブシネスク(Boussinesq)近似下で行われ、ここでのαは熱膨張率であり、gは重力であり、Tmは上下境界の平均温度値である。最も不安定な波数は、Raが臨界値Ra=1707.762を超えた時にκc=3.117であり、この研究では分解能101×50を使用する。ここで使用されるPrは0.71である。RBRB対流が確立されると、2つのプレート間の熱伝達が大幅に強化される。この熱伝達の強化は、Nu=1+<uyT>H/κΔTによって表される。
【0169】
図19に、流体シミュレーションのスクリーンショットを示す。(従来の方法ではなく)上述した全エネルギー保存を使用した流体シミュレーションは、同様の流体シミュレーションの表現と、いずれかの慣習的な対応する計算データ出力とをもたらす。しかしながら、上述した方法を用いたこのような流体シミュレーションは、例えば実際の物理的対象などの対象をモデル化する際に他の方法よりも高速に及び/又はより少ない計算リソースを使用して流体シミュレーションを実行することができる。
【0170】
本明細書で説明した平衡分布は圧力項を含んでおらず、従ってその値が衝突演算中に常に正であり、比較的強力な安定性をもたらす。衝突状態がそのまま移流した後には、運動量に等温圧力勾配が生じ、全エネルギー方程式に圧力対流項が生じない。全Pエネルギーの保存は、停止状態を修正することによって行われ、移流後には、粒子状態に局所圧力項を加え直してからモーメントを計算して正しい圧力勾配をもたらす。
【0171】
複数の実装について説明した。それでもなお、本開示の趣旨及び範囲から逸脱することなく様々な修正を行うことができると理解されるであろう。従って、以下の特許請求の範囲には他の実装も含まれる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11A
図11B
図12
図13
図14
図15
図16
図17
図18