JP2000502200A - 物理的プロセスをシミュレーションするコンピュータシステム - Google Patents

物理的プロセスをシミュレーションするコンピュータシステム

Info

Publication number
JP2000502200A
JP2000502200A JP09521289A JP52128997A JP2000502200A JP 2000502200 A JP2000502200 A JP 2000502200A JP 09521289 A JP09521289 A JP 09521289A JP 52128997 A JP52128997 A JP 52128997A JP 2000502200 A JP2000502200 A JP 2000502200A
Authority
JP
Japan
Prior art keywords
voxels
voxel
interaction
momentum
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP09521289A
Other languages
English (en)
Other versions
JP3932142B2 (ja
Inventor
フドン チェン
デビッド ローレンス ヒル
ジェームズ ホック
キム モルヴィグ
クリストファー エム. テイクセイラ
ケニス アール. トラウブ
Original Assignee
エグザ コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エグザ コーポレーション filed Critical エグザ コーポレーション
Publication of JP2000502200A publication Critical patent/JP2000502200A/ja
Application granted granted Critical
Publication of JP3932142B2 publication Critical patent/JP3932142B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

(57)【要約】 物理的プロセスをシミュレーションするために、多数のボクセル各々のための状態ベクトルは多数の面各々の表現に沿ってメモリに保存され、多数の面はボクセルの大きさ及び配向と独立に配向され大きさが適応させられ、組合せでは、1つ以上の表面を表わす。各状態ベクトルは多数のエントリを含み、その各々はボクセルにおける多数の可能な運動量状態の特定の運動量状態での複数の要素に対応する。異なる運動量状態の要素間の相互作用をモデル化する相互作用演算は状態ベクトル上で実行され、そして、面の近くの1以上ボクセルでの面及び要素の間の相互作用をモデル化する表面相互作用演算は面の表現上で実行される。最終的に、要素の移動を新ボクセルへ反射する移動演算は状態ベクトル上で実行される。

Description

【発明の詳細な説明】 物理的プロセスをシミュレーションする コンピュータシステム 発明の背景 本発明は物理的プロセス(例えば流体の流れ)をシミュレーションするコンピ ュータシステムに関する。 高いレイノルズ数の流れのシミュレーションのための従来手法はナビエ・スト ークス微分方程式の離散解を生成することにあり、その中で巨視的物理量(例え ば密度、温度、流れの速度)を表わす変数について複数の離散空間位置の各々で 高精度の浮動小数点算術演算は実行される。最高速で最も強力かつ有効なコンピ ュータが使用されているが、非常に制限のある結果及び不正確な結果しか達成さ れていない。運用時間を管理自在に維持するために、非常に粗いグリッド分解が 使用され、この粗い分解でさえも、浮動小数点演算を連続して行う時に固有の累 積されたラウンドオフエラー丸めエラーにより、解に許容しがたい誤差が存在す る。 微分方程式の解法を、格子ガス(すなわち、セルラ)オートマトンとして周知 のものに置換する試みが長期間に亘って行われたきた。この格子ガスオートマト ンにおいて、ナビエ・ストークスの方程式を解くことによって提供される巨視的 レベルのシミュレーションは、格子のサイト間を 移動する質点に対する演算を行う微視的レベルのモデルによって置換される。目 標は、長い間、正しい巨視的な結果(すなわち、ナビエ・ストークスの方程式に よって指定されるような、密度や温度などの変化)を生成する質点の相互作用と 運動との微視的レベルのモデルを見つけることであった。 従来の格子ガスシミュレーションは、各格子ガスサイトで限られた数の質点を 仮定し、質点はビットのショートベクトルで表わされる。各ビットは、特定の方 向に移動する質点を表わす。例えば、ベクトルの1ビットは、特定の方向に沿っ て移動する質点の有無(1にセットされているときは有り、0にセットされてい るときは無し)を表わす。かかるベクトルは、6ビットからなり、例えば、値( 110000)は、2つの質点がX軸に沿って互いに反対方向に移動し、Y軸及 びZ軸に沿って移動する質点が存在しないことを表わしている。衝突規則は、各 サイトの質点間の衝突の様子を支配する(例えば、(110000)ベクトルは 、(001100)ベクトルになることがあり、この時、X軸に沿って移動する 2つの質点の間の衝突がY軸に沿って離れるように移動する2つの質点を生成し たことを示す)。ビットの並べ替えを実行する検索表に状態ベクトルを供給する (例えば、(110000)を(001100)に変換する)ことによって、こ の規則は、実行される。次に、質点は、隣接するサイトに移動される(例えば、 Y 軸に沿って移動する2つの質点は、Y軸に沿って右左の隣接するサイトに移動さ れる)。 モルビグ(Molvig)等は、改良された格子ガス法(lattice gas technique) を教示する。この格子ガス法において、他の者の間で、多数のビットが各格子サ イトで状態ベクトルに加算されて(例えば、亜音速流に対しては54ビット)、 質点エネルギと移動方向とに変化を与え、完全状態ベクトル(full state vecto r)の部分集合を含む衝突規則が使用される。モルビグ等のPCT/US91/04930号と 、モルビグ等の「3D格子ガス流体の不連続物質の除去」不連続運動理論と格子 ガス力学と流体力学の基礎とのワークショップの予稿集、ワールド科学出版株式 会社、シンガポール(1989年)、モルビグ等の「実在流体力学の複数種類の格子 ガスオートマトン」物理のスプリンジャ予稿集、第46巻、複合物理システムの セルラーオートマトン及びモデル化、スプリンジャ・バーラグ(Springer-Verla g)ベルリン、ハイデルベルグ(1990年)(全て引例として取り込まれている) 。モルビグ等によって教示されたこれらの改良は、最初の実用的な格子ガスコン ピュータシステムを作成した。モデル化された流体流れで初期の格子ガスモデル を不確実な物にした不連続人工物は、除去された。 チェン(Chen)等は、1993年12月10日に出願された米国特許出願第08/16 5,293号「物理的プロセスをシュミレートするコンピュータシステム」において 、シミュレ ーション技術を教示し改良した(なお、この特許も引用として本発明に取りいれ られている)。各格子サイトすなわちボクセル(voxel)(これらの用語は本書 を通して用いられる)において、任意の運動量状態に単一の質点(例えば、特定 のエネルギを有して特定の方向に移動する単一の質点)がせいぜい存在する格子 ガスモデルの代わりに、システムは、各ボクセルで、複数の質点が複数の状態の 各々で存在する(例えば、0〜255個の質点が特定の方向に移動する)多質点 法(multi-particle technique)を使用した。状態ベクトルは、1組のビットで ある代わりに1組の整数であり(例えば、1組の8ビットバイトは0から255 までの範囲の整数を提供する)、これら整数の各々は、ある状態にある質点の数 を表わしている。例えば、各運動量状態で各方向に移動する単一の質点に限定す る代わりに、システムは、各運動量状態で各方向に移動する複数の質点をモデル 化する柔軟性を有する。 チェン等の整数状態ベクトルの使用は、物理的プロセスの巨視的なモデル化に おける柔軟性を増大せしめた。なぜならば、新しい整数状態ベクトルに作用する 衝突規則においてより多くの変化が可能になったからである。例えば、所定数の 質点と衝突して散乱せしめる一方で他の質点を衝突の無い状態で通過せしめる規 則が成立された。モルビグ等の刊行物において改良が教示された後でも、整数状 態ベクトルが、単一の質点格子ガス技術に未だ残る多数の問題 にも解を提供することが見込まれている。例えば、多質点法は、高レイノルズ数 の流体の流れの特徴であるいわゆるマクスウェル・ボルツマン統計を得る方法を 提供する。初期のモルビグ等のシステムは、いわゆるフェルミ・ディラック統計 を得て、このフェルミ・ディラック統計は、格子サイトがまばらに存在すれば、 マクスウェル・ボルツマン統計に近似する。チェン等のシステムは、まばらに存 在する格子を使用する必要性を回避し、故に、これに関係する大なる演算の不利 益を回避した。 チェン等のシステムは、新しい「スリップ」法を使用して流体質点と固体物質 との間の相互作用をシミュレーションする方法も提供する。この「スリップ」法 は、固体物質の周囲の境界層の外周面に対してのみシミュレーションを拡張する が、境界面を抜けて固体物質の表面までには拡張しない。境界層の外周面では、 衝突規則は、質点に接線方向の運動量を残すことを許容する表面と質点との間の 相互作用を支配する。従来の「バウンスバック」法によって生じたように質点が 到達した反対の接戦方向に表面から戻ってくる質点の代わりに、質点は、表面か ら反射されて、到達した同一の接線方向に継続することが許容される。 接線運動量を保存するために、チェン等のシステムは、固体表面の垂直に関し て質点を鏡面反射させた。衝突する質点は、反対の表面だが垂直に関してほぼ等 しい角度で去った。チェン等の多質点モデル(この中では、1つを越え る質点は格子内点で同じ状態を持つことを許された)は、かかるスリップ衝突を モデル化する単純で効率的な方法を提供した。 チェン等は「スリップ」及び「バウンスバック」の衝突技術の両方の組合せを 採用して、純粋な「バウンスバック」の非常に高い表面摩擦から「スリップ」に よって提供される非常に低い表面摩擦までの表面摩擦範囲を備えた表面をシミュ レーションした。質点の部分を変えることは「バウンスバック」規則で扱われ、 そして残りは「スリップ」規則で扱われた。 チェン等の多質点モデルは、外向移動性の質点の平均の運動量が真の鏡面反射 を緊密に近似する方向にあったことを、多数の外向移動性の状態の加重平均の使 用が保証可能にすることによって、格子に関しての固体境界の任意の角度配向を 包含した。例えば、3〜6の異なる質点状態(すなわち異なる方向及びエネルギ ー)を使用することができることがあり、各々は十分な外向移動性の質点で存在 し、正味の外向移動性の運動量は表面と衝突する内向移動性の質点のグループの 鏡面反射とほぼ等しかった。 チェン等は、エネルギー、質量及び固体境界に垂直な運動量を保存する技術に ついて説明した。固体境界に垂直な運動量は、全外向移動性の垂直運動量と全内 向移動性の垂直運動量を比較し、垂直の余剰又は不足量(すなわち、シミュレー ションへ人為項を導入しない方法で構築されなけ ればならない垂直運動量の量)を記録した「プッシュ/プル」技術(“pushing/p ulling”techinque)の使用によって保存された。その後、チェン等は、垂直余剰 をゼロへの追い込むプッシュ/プル規則のセットを使用した。質点は、垂直運動 量だけが影響されるように、あるアウト状態から他のアウト状態に移動された。 エネルギーの変化は、エネルギー余剰(又は不足量)の跡を追うためにエネル ギーカウンタの合計及び余剰をゼロへの追い込むプッシュ/プル規則を使用した 「冷却」(又は加熱)技術よって説明された。冷却規則は4状態、2源状態及び 2目的地状態を指定した。2源状態は、2目的地状態と同じ運動量を有したが、 2目的地状態のそれより高い結合したエネルギー合計を有していた。源状態の両 方から目的地状態の両方へ質点を移動させることは、質量と運動量を保存する間 にエネルギーを減少させた。 チェン等は、1つ以上の衝突規則の結果として蓄積したすべての余分質量を削 除する「ダイエット」規則(“dieting”rules)を使用した。ダイエット規則は2 源状態及び1目的地状態を指定した。2源状態は、1目的地状態と同じ結合した エネルギー及び運動量を有した。エネルギー及び運動量が保存されつつ、源状態 の各々から質点を取り除き、1目的地状態のに質点を入れると、質量が縮小され た。 発明の概要 本発明は、物理的プロセスをシミュレーションするコン ピュータシステム中の流動性質点及び固体境界の間の相互作用をシミュレーショ ンするための改善された技術を特徴とする。この改善技術では、境界表面が、ボ クセル境界によって無制限であり、ボクセルの格子幾何学に比べて任意に適応さ れ配向される面の集合として表わされる。改善技術は、格子の精度より著しく大 きな精度で、連続的に変わる表面をシミュレーションすることを可能にする。 格子ガスは、連続体を重ねる格子構造において分布された1セットの個別の点 として伝統的に描写される。格子ガスの質点は格子サイト間に伝播している点質 量である。全システムは空間及び時間の両方で離散的であり、また、物理的意味 は非整数空間及び時間的価値に割り当てられない。格子ガスのこのモデルは、構 想を描き手段を提供することの単純化に効力を有しているが、連続的実物理学系 として容易に解釈されない。 格子ガスの他の物理的描写は、質点によって占められたボクセルの体積の全体 にわたって格子ガスの各質点に関連した質量が一様に分布されると仮定すること によって形成できる。質点の伝播は、質点の速度によって示された距離及び方向 における該分布された質量の移動として見られる。質点が隣接した流動性ボクセ ルの間に移動している場合、格子ガスのこの分布質量の見方は、格子ガスの従来 の見方と等価である。しかしながら、格子ガスの分布質量の見方には格子ガスの 質点が格子の構造に関して任意に配向され る表面と相互に作用することを許容するという相当な長所がある。 一局面において、一般に、本発明は多ボクセルための状態ベクトルと、ボクセ ルの大きさ及び配向と独立に配向され大きさを適応させられる少なくとも1つの 表面の表現とをメモリに格納することを特徴とする。状態ベクトルは、ボクセル 内での多数の可能な運動量状態のうちの特定の運動量状態での要素に対応する多 数のエントリを含んでいる。異なる運動量状態の要素間の相互作用をモデル化す る相互作用演算は状態ベクトル上で実行され、また、面の近くの1以上ボクセル での表面と要素との間の相互作用をモデル化する表面相互作用演算は、表面の表 現上で実行される。最終的に、新ボクセルへの要素の移動を反射する移動演算は 状態ベクトル上で実行される。表面がボクセルの配向及び大きさに関して任意に 配向され大きさを適応され得ることによって、本発明は、ボクセルの大きさに関 して増加した分解能で、シミュレーションすべき表面との相互作用をシミュレー ション可能にする。これは、次には、流体の流れのような物理的プロセスの高度 に正確なシミュレーションを可能にする。 本発明の好ましい実施例は、次の特徴の1つ以上を含んでいる。例えば、状態 ベクトルのエントリは、ボクセルの特定の運動量状態において単位体積当たりの 要素の密度を表わす。上記されるように、状態ベクトルのこの分布質量 の見方には相当な長所がある。 さらに、チェン等によって説明されたように、状態ベクトルのエントリは整数 値を有し得、また、相互作用演算は整数値を使用して、実行され得る。しかしな がら、表面の面の任意の配向及び大きさの適応化を許容するために、表面相互作 用演算は浮動小数点値のような実数を表示する値を使用して、実行され得る。こ のハイブリッド手法は、実数によって提示された構造の柔軟性と同時に得られる 整数演算によって現された処理効率を許容する。シミュレーションされた要素が 表面の面からボクセルに移動されるとともに、実数計算、正確な質量保存の法則 、運動量及びエネルギーによる誘導された不正確性によってシステム精度が害さ れないことを保証することが、強化される。表面(そして表面の基礎となる領域 によって占められる)によって交差するボクセルは、部分的ボクセルとして見ら れる。 表面は、ボクセルの大きさ及び配向と独立に配向され大きさが適応されかつ、 組合せでは、少なくとも1つの表面を表わす面の集合として表わされ得る。この 場合、表面相互作用演算は、面の近くの少なくとも1つのボクセルの面及び要素 の間の相互作用をモデル化する。要素は、流体の質点を表わすし、また、面は、 流体がオーバーフローで流れる少なくとも1つの表面を表わすことができる。 各面については、表面相互作用演算は、面と相互に作用する1以上ボクセルに 第1セットから要素を集めること、 集められた要素と面との間の相互作用をモデル化して表面相互作用要素のセット を生成すること、そして、面と相互に作用する1以上ボクセルの第2セットへ表 面相互作用要素を分散することを、含んでいる。典型的に、表面相互作用演算は 、要素がボクセルからボクセルに移動される演算の構成要素として生じる。収集 ステップ及び分散ステップは、面の任意の配向を説明する。これは、モデル化す るステップがその配向に考慮せずに実行されることを可能にする。典型的に、ボ クセルの第1のセットはボクセルの第2のセットと同一である。 ボクセルの部分が1つ以上の面又はそれの部分によって占められる場合、任意 の面(又は、材料は面の基礎となっている)によって占められてないボクセルの 部分を示す因子は、面のための状態ベクトルで保存される。この因子は、ボクセ ルが占められる程度に対するそれ以上の考慮なしに占められたボクセル上で演算 が実行されることを可能にする。例えば、ボクセルから要素を集める場合、ボク セルのための因子は考慮され得る。 特定の運動量状態のために収集ステップで得られた要素は、運動量状態の速度 の反対の方向において面から投影された領域を占める要素であると確認され得る 。従って、ボクセルの第1のセットは、要素が集められた運動量状態の速度を表 わすベクトルを備えた面に関する垂直方向を表わすベクトルのベクトル内積によ って定義された領域の少な くとも1つの部分を重複する1以上ボクセルを含んでいる。特に、ボクセルの第 1のセットは、面から投影されかつ面の表面面積を掛けたベクトル内積と等しい 体積を有した領域に部分的に重複するボクセルをすべて含んでいる。 収集ステップで得られた要素は、さらに他の1つ以上の面から分散した要素を 含んでいる。表面が内部角のような非凸面特徴を含んでいる場合、面から投影さ れた領域は別の面によって部分的に占められ得る。この状況を説明するために、 要素は、さらに適切に配向した面から集められる。 典型的に、表面相互作用要素のセットが1つ以上の境界条件を満たすように、 集められた要素と面との間の相互作用はモデル化される。境界条件は接線運動量 条件を含んでいる。面によって表わされる表面が表面摩擦を有していない場合、 面の接線である集められた要素の結合した運動量が面の接線である表面相互作用 要素の結合した運動量と等しい時に、接線運動量条件は満たされる。表面が摩擦 を含んでいる場合、集められた要素の結合した接線運動量と表面相互作用要素の 結合した接線運動量との間の差が、表面の表面摩擦の程度と関係がある時に、接 線運動量条件は満たされる(例えば、表面が完全に滑らないすなわち非スリップ であるとき、表面相互作用要素の結合した接線運動量はゼロである)。 境界条件は、面に垂直な集められた要素の結合した運動量と面に垂直な表面相 互作用要素との間の差がボクセルの 第1のセットの1以上ボクセルによって定義された領域の圧力と等しいときに満 たされる垂直運動量条件を、さらに含んでいる。 境界条件は、さらに境界で質量とエネルギーの保存の法則を要求する。これら の条件は、集められた要素の結合質量が表面相互作用要素の結合質量と等しく、 また、集められた要素の結合したエネルギーが表面相互作用要素の結合したエネ ルギーと等しいときに、満たされる。 状態ベクトルが特定の運動量状態を表示する整数を含みかつ、表面相互作用演 算が実数を表示する値を使用して実行される場合、表面相互作用要素がボクセル に分散するときに、状態ベクトルの整数値がオーバーフロー(overflow)又はアン ダーフロー(underflow)しないことを保証するために、注意しなければならない 。この目的のために、オーバーフロー又はアンダーフローを回避するのに必要な 場合は常に、ボクセルの大部分、運動量及びエネルギーを保存する手続きが使用 される。 別の局面において、一般に、本発明は、多数のボクセルのための状態ベクトル をメモリに保存格納することによって物理的プロセスをシミュレーションし、状 態ベクトルはボクセルにおける多数の可能な運動量状態の特定の運動量状態に対 応するエントリを含んでいることを特徴とする。その後、演算は状態ベクトル上 で実行され、異なる運動量状態の要素とボクセルに関する要素の移動との間の相 互作 用をモデル化し、浮動小数点数を使用して演算動作のうちの少なくともいくつか が実行され、また整数を使用して演算のうちのいくつかが実行される。浮動小数 点と整数の値の間の推移は、質量とエネルギーのような物理的プロセスの物理的 特性を保存するような方法で作られる。状態ベクトルのエントリは特定の運動量 状態で単位体積当たりの要素の密度を表わす整数である。さらに、ボクセルの大 きさ及び配向と独立に配向され適応させられる少なくとも1つの表面の表現はメ モリに格納され得、浮動小数点数を使用して実行された演算は表面との要素の相 互作用をモデル化する演算である。 米国特許出願第08/409,685号出願日1995年3月23日、米国特許出願第08/255 ,409号出願日1994年6月8日、米国特許出願第08/030,573号出願日1993年3月1 2日の現米国特許第5,377,129号、PCT出願PCT/US91/04930号出願日1991年7 月12日、米国特許出願第07/812,881号出願日1991年12月20日、そして米国 特許出願第07/555,754号出願日1990年7月12日の開示はすべて引用として組込 まれる。 本発明の他の特徴及び利点は、好ましい実施例の次の詳細な説明から、及びク レームから明白である。 図面の簡単な説明 図1は、物理的プロセスシミュレーションシステムによって行われる手続きの 流れ図である。 図2は、マイクロブロックの斜視図である。 図3A及び3Bは、図1のシステムによって使用される格子構造を示す線図で ある。 図4及び5は、可変分解技術を示す線図である。 図6は、表面の面によって影響を受けた領域を示す線図である。 図7は、ボクセルから表面へ質点の移動を示す線図である。 図8は、表面から表面へ質点の移動を示す線図である。 図9は、表面力学を実行する手続きの流れ図である。 図10は、異なる大きさのボクセルの間の界面を示す線図である。 図11は、可変分解条件下の面を備えた相互作用をシミュレーションするため の手続きの流れ図である。 図12は、物理的プロセスシミュレーションシステムの機能的単位のブロック 図である。 図13は、図12のシステムのマイクロ力学単位のブロック図である。 図14は、図13のマイクロ力学単位の単一のボクセルデータ経路のブロック 図である。 好ましい実施例の説明 図1を参照して、物理的プロセスシミュレーションシステムは、流体の流れの ような物理的プロセスをシミュレーションする手続き100にしたがって作動す る。シミュレ ーションに先立って、シミュレーション空間はボクセルの集合としてモデル化さ れる(ステップ102)。典型的に、シミュレーション空間はコンピュータ補助 設計(CAD)プログラムを使用して、生成される。例えば、風洞中で位置した 自動車を描くためにCADプログラムを使用することができる。その後、CAD プログラムによって生成されたデータは、適切な分解能がある格子構造を加えて 、かつシミュレーション空間内の対象物及び表面を考慮して処理される。 各格子サイトすなわちボクセルは、亜音速の単一種シミュレーションのために 54の状態を含んでいる。状態の数は遷音速の流れ又は多数種シミュレーション のために増加される。 格子の分解はシミュレーションされているシステムのレイノルズ数に基づいて 、選択されている。レイノルズ数は、流れの粘性(v)、流れ中の対象物の特有 の長さ(L)、及び流れの特有の速度(u)と関係がある。 Re=uL/v 対象物の特有の長さは、対象物の大きい基準の特徴(large scale features)を 表わす。例えば、自動車のまわりの流れがシミュレーションされた場合、自動車 の高さは特有の長さであると考えられ得る。対象(例えば自動車のサイドミラー )の小さな領域のまわりの流れが、興味対象である場合、シミュレーションの分 解は増加させられ得、又は、 増加した分解のエリアは興味対象領域の近くで使用され得る。ボクセルの次元は 格子増加の分解度につれて減少する。 この本書では、状態空間が、Ni(x,t)として表わされ、それの中で、Ni は、時間tで3次元のベクトルxによって表示された格子サイトでの状態i(す なわち状態iの質点の密度)で単位体積当たり要素すなわち質点の数を表わす。 既知の時間増分について、質点の数は単にNi(x)という。格子サイトの全状 態の状態表現の組合せは、N(x)として表示される。 状態の数は、各エネルギー準位内の可能な速度ベクトルの数によって決定され る。速度ベクトルは4次元の空間x、y、z及びwにおける整数線形速度から成 る。4次元(w)は3次元空間に戻して投影され、3次元格子中の実際の速度を 示さない。亜音速流については、iが0〜53の範囲で変動する。 各状態は特定のエネルギー準位で異なる速度ベクトルを表わす(すなわちエネ ルギー準位0又は1又は2)。各状態の速度は、4次元の各々においてその「速 度」で以下のように示される。 ci=(cx,cy,cz,cw) エネルギー準位ゼロ状態は、任意の次元で移動していない止められた質点を表わ し、すなわち、cstopped=(0,0,0,0)である。エネルギー準位1状態 は、4次元のうちの2つで+/−1速度、及び他の2次元で0速度を有 している質点を表わす。エネルギー準位2状態は、すべての4次元で+/−1速 度、又は4次元のうちの1つで+/−2速度及び他の3次元で0速度のいずれか を有している質点を表わす。 3つのエネルギー準位の可能な順列の組み合わせのすべての生成は、可能な4 9状態(1エネルギー0状態、24エネルギー1状態、24エネルギー2状態) の合計を与える。しかしながら、亜音速流状態空間は、49の代わりに54の状 態カウントの合計を与えて、一つに対立するものとしての6つの停止状態の合計 を維持する。 各ボクセル(すなわち各格子サイト)は状態ベクトルによって表わされる。状 態ベクトルは、完全にボクセルの状態を定義しかつ54の多ビットエントリを含 み、その各々は整数値に対応する。54のエントリは6休息状態、第1のエネル ギー準位での24方向ベクトル及び第2のエネルギー準位での24方向べクトル に相当する。6休息状態は休息「スロット」の十分な数があることを保証するた めに使用される。もちろん、49のエントリ実施例中の休息状態に対応するエン トリのビットの数を増加させることによってこの同じ結果を達成することができ る。多ビットエントリの使用によって、システムは、ボクセル状態を定義するた めに単一ビットエントリを使用したシステム上の本質的に改善された性能を提示 する。特に、フェルミ・ディラック統計を単に生成できる単一ビットシステムと 異なり (それらは複数の適用に適さない)、システムは、達成された平衡状態ベクトル のためのマクスウェル・ボルツマン統計を生成できる。 効率を処理するために、ボクセルは、マイクロブロックと呼ばれる2x2x2 体積でグループ化される。マイクロブロックはデータ構造に関連したオーバヘッ ドを最小限にすると同様にボクセルの並列処理を最適化するために組織される。 マイクロブロック中のボクセルのための速記表記法はNi(n)として定義され 、その中でnはマイクロブロックとnε{0,1,2,・・・・7}以内の格子サイ トの相対的位置を表わす。マイクロブロックは図2で示される。 図3A及び3Bにおいて、表面S(図3A)は面の集合Fαとしてシミュレー ション空間(図3B)で表わされる。 S={Fα} 式中、αは特定の面を数えあげる指標である。面は、ボクセル境界に制限されな いが、面が比較的少数のボクセルに影響するように、典型的に、面に隣接してい るボクセルの大きさのオーダー又はそれよりわずかに小さな大きさになされる。 特性は表面力学を実行する目的で面に割り当てられる。特に、各面Fαは、単位 垂直すなわち法線(nα)、表面面積(Aα)、中心位置(xα)及び面の表面 の動的特性について記述する面分布関数(Ni(α))を有している。 図4において、分解能の異なるレベルは処理効率を改善 するためにシミュレーション空間の異なる領域で使用され得る。典型的に、対象 物155のまわりの領域150は最多の興味対象であり、したがって最も高い解 像度でシミュレーションされる。粘性の影響が対象からの距離とともに減少する ので、分解能のレベル(すなわち、拡張したボクセル体積)を減少させることは 対象物155からの距離を増加させることで離間される領域160,165をシ ミュレーションするために使用される。同様に、図5で示されるように、分解能 の低いレベルは対象物175のそれほど著しくない特徴のまわりの領域170を シミュレーションするために使用され得る一方で、分解能の最も高いレベルは、 対象物175の最上位の特徴(例えば主要な表面及び引きずる表面)のまわりの 領域180をシミュレーションするために使用される。外にある領域185は分 解能及び最大のボクセルの最低のレベルを使用して、シミュレーションされる。 異なって配向されたボクセルの間の相互作用を処理する技術はモルビグ等による 米国特許第5,377,129号のコラム18第58行〜コラム28第21行に開示され 、それは参照によってここに組込まれる。異なった大きさになされたボクセルと 表面の面との間の相互作用を処理するための技術は、下に議論される。 図1を再び参照すると、一度シミュレーション空間がモデル化され(ステップ 102)、1つ以上の面によって作用されたボクセルは識別される(ステップ1 04)。ボク セルは複数の方法で面によって影響される。最初に、面によって交差するボクセ ルは、これらのボクセルの各々が交差していないボクセルに関する縮小された体 積を有している点で、影響される。これは、面及び面によって表わされる表面の 基礎をなす材料がボクセルの部分を占めるので、生じる。断片的因子Pf(X) は、面(すなわち流れがシミュレーションされている流体又は他の材料によって 占められる部分)に影響されないボクセルの部分を示す。交差していないボクセ ルについては、Pf(X)が1に等しい。 質点を面に移動するか又は面から質点を受け取ることにより1つ以上の面と相 互に作用するボクセルは、面によって影響を受けたボクセルであるとも同定され る。面によって交差するボクセルすべては、面から質点を受け取る少なくとも1 状態及び質点を面に移動する少なくとも1状態を含む。ほとんどの場合、追加の ボクセルはさらにかかる状態を含む。 ゼロでない速度ベクトルciを有している各状態iのために図6を参照すると 、面Fαは質点を平行六面体Gi αによって定義された領域から受け取るか、又 は質点を当該領域へ移動せしめる。平行六面体Gi αは、速度ベクトルci及び面 の単位法線nαのベクトル内積(|ci・nα|)の大きさによって定義された 高さを有し、さらに面の表面面積Aαによって定義される底辺を有するが、その 結果、平行六面体Gi αの体積Vi αは次式と等しくなる。 Vi α=|ci・nα|Aα 状態の速度ベクトルが面に向けられたとき(ci・nα<0)、面Fαは質点を 体積Vi αから受け取り、状態の速度ベクトルが面から遠ざけて向けられる場合 (c,・na>0)、質点を領域へ移す。この表現は、以下に議論されるように 、別の面が平行六面体Gi αの部分を占める場合(内部の角のような非凸面特徴 の近くで生じることができる条件)、修正されなければならない。 面Fαの平行六面体Gi αは、多数のボクセルの部分又はすべてに重複する。 ボクセル又はその部分の数は、ボクセルの大きさに関する面の大きさ、状態のエ ネルギー、及び格子構造に関する面の配向に依存する。影響を受けたボクセルの 数は面の大きさで増加する。従って、面の大きさは、上記のように、面の近くで 位置したボクセルの大きさのオーダー又はそれより小さくなるように典型的に選 択されている。 平行六面体Gi αによって重複されたボクセルの部分N(x)は、Vi α(x) として定義される。この項目を用いて、ボクセルN(x)及び面Fαの間に移動 する状態i質点の数は、ボクセルと重複領域の体積を掛けたボクセル中の状態i 質点の密度と等しい。 Γi α(x)=Ni(x)Vi α(x) 平行六面体Gi αが1つ以上の面によって交差する場合、下記条件は真である 。 式中、第1項の合計がGi αよって重複されたすべてのボクセルを説明しかつ第 2項がGi αと交差するすべての面を説明する。平行六面体Gi αが別の面によっ て交差しなかったとき、この表現は次式に減少される。 一度1つ以上の面によって影響されるボクセルが同定されれば(ステップ10 4)、タイマはシミュレーションを始めるために初期化される(ステップ106 )。シミュレーションの各時間増分中に、ボクセルからボクセルまでの質点の移 動は、表面の面を備えた質点の相互作用を説明する移流段階(ステップ108〜 116)によってシミュレーションされる。次に、衝突段階(ステップ118) は、各ボクセルの内の質点の相互作用をシミュレーションする。その後、タイマ はインクリメントされる(ステップ120)。シミュレーションが完了したこと をインクリメントされたタイマが示さない場合(ステップ122)、移流と衝突 の段階(ステップ108〜120)が繰り返される。シミュレーションが完了し たことをインクリメントされたタイマが示す場合(ステップ122)、シミュレ ーションの結果は格納されかつ又は表示される(ステップ124)。 表面との相互作用を正確にシミュレーションするために、各面は4つの境界条 件を満たさなければならない。最初に、面によって受け取られた質点の結合した 大部分は、面によ って移動された質点の結合した大部分と等しくなければならない(すなわち、面 への正味の質量流束は0と等しくなければならない)。次に、面によって受け取 られた質点の結合したエネルギーは、面によって移動された質点の結合したエネ ルギーと等しくなければならない(すなわち、面への正味のエネルギー流束は0 と等しくなければならない)。これらの2つの条件は、各エネルギー準位におけ る正味の質量流束(すなわちエネルギー準位1及び2)が0に等しいことを要求 することによって、満たすことができる。 他の2つの境界条件は、面と相互に作用する質点の正味運動量と関係がある。 表面摩擦の無い表面については、ここにスリップ表面と呼び、正味の接線運動量 流束が0と等しくなければならないし、また、正味の垂直運動量流束は面で局所 的圧力と等しくなければならない。したがって、面の法線nαに垂直である受け 取った運動量及び移動された結合した運動量の構成要素(すなわち接線の構成要 素)は、等しくなければならない一方、面の法線nαと平行である結合した受け 取った運動量及び移動された運動量の構成要素間の差分(すなわち法線構成要素 )は面において局所的圧力と等しくなければならない。非スリップ表面について は、表面摩擦は、摩擦量と関係のある因子により面によって受け取られた質点の 結合した接線運動量に関する面によって移動された質点の結合した接線運動量を 、縮小す る。 質点及び表面間の相互作用のシミュレーションの第1ステップとして、質点は ボクセルから集められ、面に供給される(ステップ108)。上記から気づくよ うに、ボクセルN(x)と面Fαとの間に移動する状態i質点の数は、次式であ る。 Γi α(X)=Ni(X)Vi α(X) これから、面Fαに向けられた各状態iについては(ci・nα<0)、ボクセ ルによって面Fαに供給される質点の数は、次式である。 i α(x)が0でない値を有しているボクセルだけが合計されなければならな い。上記したように、面の大きさは、Vi α(x)がボクセルの小さな数だけに 対する0でない値を持つように、選択される。Vi α(x)及びPf(x)が非整 数値を持つことがあるので、Γα(x)は格納され実数として処理される。 次に、質点は面(ステップ110)の間で移動される。面Fαの内向移動性の 状態(ci・nα<0)のための平行六面体Gi αが別の面Fβによって交差され る場合、面Fαによって受け取られた状態i質点の部分は、面Fβから来る。特 に、面Fαは、前の時間増分中に面Fβによって生じた状態i質点の部分を受け 取る。この関係は図8で示され、ここで、面Fβによって交差する平行六面体Gi α の部 分800は、面Fαによって交差する平行六面体Gi βの部分805と等しい。 上記のように、交差した部分はvi α(α)として表示される。この項目を使用 して、面Fβ及び面Fα間にて移動する状態i質点の数は次式のように記載でき る。 Γi α(β)=Γi(β)Vi α(x)/Vi α 式中、Γi(β)が前の時間増分中に面Fβによって生じた状態i質点の基準で ある。これから、面Fαに向けられた各状態iについては(ci・nα<0)、 他方の面によって面Fαに供給される質点の数は、次式であり、 また、面の中への状態i質点の流束の合計は、次式である。 面分布関数とも呼ばれる面のための状態ベクトルN(α)は、ボクセル状態ベ クトルの54のエントリに対応する54のエントリを有している。面分布関数N (α)の入力状態は、ci・nα<0のために、体積Vi αで割られた状態へ質点 の流束と等しくなされる。 Ni(α)=ΓiIN(α)/Vi α 面分布関数は、面からの出力流束を生成するためのシミュレーションツールで あり、実際の質点を必ずしも表現しない。正確な出力流束を生成するために、値 は分布関数の他方の状態に割り当てられる。外部の状態は、内部の状態を配置す るために上述された技術を使用して、ci−nα ≧0のために、配置される。 Ni(α)=ΓiOTHER(α)/Vi α 式中、ΓiOTHER(α)はΓiIN(α)を生成するために上記した技術を使用して 、決定される。(もちろん、内向移動性の状態(ci・nα<0)に技術を適用 する代わりに、技術は、他の状態(ci・nα≧0)のために今適用される)。 他の手法では、ΓiOTHER(α)は、前の時間ステップからΓiOUT(α)の値を使 用することによって、次式であるように生成している。 Γi0THER(α,t)=ΓiOUT(α,t−1) 平行状態(ci・nα=0)に対して、Vi α及びVi α(x)の両方はゼロで ある。Ni(α)の表現では、Vi α(x)が分子に現われ(ΓiOTHER(α)の表 現から)、また、Vi αは分母に現われる(Ni(α)の表現から)。従って、平 行状態のためのNi(α)は、Vi α及びVi α(x)が0に近づくので、Ni(α )の限界として決定される。 ゼロ速度を有している状態(すなわち、休息(rest)状態、及び状態(0,0, 0,2)及び(0,0,0,−2))の値は、温度及び圧力の初期条件に基づい たシミュレーションの初めにおいて、初期化される。その後、これらの値は時間 とともに調節される。 次に、表面力学は、上に議論した4つの境界条件を満たすために、各々面のた めに実行される(ステップ112)。 面のための表面力学を実行するための手続きは図9で示される。最初に、面Fx に垂直な結合した運動量は、すべてのiのために、次式として面における質点の 結合した運動量P(α)を決定することによって、決定される(ステップ905 )。 これから、垂直運動量Pn(α)は次式のように決定される。 Pn(α)=nα・P(α) その後、この垂直運動量はチェン等によって開示されたプッシュ/プル技術(ス テップ910)を使用して除去され、Nn-(α)を生成する。その後、Nn-(α )の質点は、ボルッマン分布Nn-B(α)を生成するために衝突させられる(ス テップ915)。(ボルツマン分布を生成する衝突する質点のプロセスは後述す る。) その後、面Fαのための外向移動性の流束分布は、内向移動性の流束分布及び ボルツマン分布に基づいて、決定される(ステップ920)。最初に、内向移動 性の流束分布Γi(α)とボルツマン分布との間の差は、次式のように決定され る。 この差分を使用して、nα・ci>0のための外向移動性の流束分布は次式とな る。式中、i*が状態iの反対の方向を有する状態である。例えば、状態iが(1, 1,0,0)の場合、i*が(−1,−1,0,0)である。表面摩擦及び他の 因子を説明するために、外向移動性の流束分布は、nα・ci>0に対し、さら に次式に洗練できる。 式中、Kfが表面摩擦の関数であり、t1 αはnαに垂直な第1の接線ベクトルで あり、t2 αはnα及びt1 αの両方に垂直な第2の接線ベクトルであり、そして ΔNj,1及びΔNj,2は状態iのエネルギー(j)及び示された接線ベクトルに対 応する分布関数である。分布関数は次式によって決定される。 式中、jは、エネルギー準位1状態のために1と等しく、エネルギー準位2状態 のために2と等しい。 ΓiOUT(α)のための方程式の各ラインの機能は、以下のとおりである。第1 のライン上の項は、衝突がボルツマン分布を生成するのに有効だが、接線運動量 流束例外を含んでいるという程度まで垂直運動量流束境界条件を強化する。第3 及び第4のライン上の項は、この変則のために修正し、それは発生分離性効果に より生じ、又は不十分な衝突により非ボルツマン構造を生ぜしめる。最終的に、 第2のライン上の項は、表面に接線運動量流束の所望の変化 を強いるために指定された量の表面摩擦を加える。ベクトル操作を含んでいる項 がすべてシミュレーションを始めるに先立って計算され得る幾何学的因子である ことに注意するべきである。 浮動小数点数を使用して表面力学が実行される場合、他の手法はΓiOUT(α) を生成するために使用され得る。この手法によれば、垂直運動量は次式のように 決定される。 Pn(α)=nα・P(α) これから、接線の速度は次式のように決定される。 Ut(α)=(P(α)−Pn(α)nα)/ρ 式中、ρが次式の面分布の密度である。 その後、面分布の温度Tは次式のように決定される。 式中、jは0、1又は2に等しく、状態iのエネルギーに対応する。 ボルツマン分布を決定するために衝突を使用する代わりに、それは次式のよう に決定される。 式中、〈N〉j (eq)(j=0,1,2)がエネルギー準位jにおける平衡等方性 状態であり、 そして、d0は休息状態の数(すなわち6)である。 上記のように、内向移動性の流束分布とボルツマン分布との間の差は、次式の ように決定される。 その後、外向移動性の流束分布は次式になる。 これは、前の技術によって決定された外向移動性の流束分布の第1の2行に相当 するが、不規則の接線の流束のための補正を要求しない。 どちらか一方の手法を使用して、生じる流束分布は運動量流束条件をすべて満 たす、すなわちそれは次式である。 式中、pαが面Fαでの平衡状態圧力であって、面に質点を供給するボクセルの 平均密度及び温度値に基づく圧力であり。また、uαは面での平均の速度である 。 質量とエネルギーの境界条件が満たされることを保証するために、入力エネル ギーと出力エネルギーとの間の差は次式のように各エネルギー準位jのために測 定される。 式中、指標jが、状態iのエネルギーを表示する。その後、このエネルギー差は 、cij・nα>0に対し、次式の差の項を生成するために使用される。 この差の項は流束がcij・nα>0のための次式になるように、外向移動性の流 束を修正するために使用される。 この演算は接線運動量流束を不変にしつつ、質量及びエネルギー流束を修正する 。流れが面近傍でほぼ一様で平衡状態に近い場合、この調節は小さい。調節の後 、生じる垂直運動量流束は、近隣の非等質又は非平衡状態特性による近隣の平均 特性プラス補正に基づいた平衡状態圧力である或る値へ、わずかに変更される。 図1を再び参照すると、質点は、3次元の直線の格子に沿ったボクセルの間で 移動される(ステップ114)。ボクセル対ボクセル移動は、面と相互に作用し ないボクセル上で実行されたただ一つの移動演算である(すなわち表面の近くに 位置しないボクセル)。典型的シミュレーションでは、表面と相互に作用するた めには表面へ近く十分に位置しないボクセルが、ボクセルの大多数を構成する。 個別の状態の各々は、4次元のx、y、z及びwの各々の中で整数速度を備え た格子に沿って移動する質点を表わす。整数速度は、0、+/−1及び+/−2 を含んでいる。速度の符合は、質点が対応する軸に沿って移動している方 向を示す。これらの線形速度は、0から4まで変動するエネルギー準位を備えた 質点のシミュレーションを支える。エネルギー準位の0〜2だけが遷音速の流れ シミュレーションのために必要である一方、すべて5が亜音速流れシミュレーシ ョンのために必要である。 表面と相互に作用しないボクセルについては、移動演算が計算上に全く単純で ある。状態の全集団はすべての時間増分中に、その現在ボクセルからその目的地 ボクセルに移動される。同時に、目的地ボクセルの質点はそのボクセルから自分 の目的地ボクセルに移動される。例えば、+1x及び+1y方向(1,1,0, 0)へ移動しているエネルギー準位1質点は、その現在ボクセルからx方向の+ 1上でy方向で+1上の一つに移動される。質点は、それが、移動(1,1,0 ,0)の前に持ったのと同じ状態の目的地ボクセルで終了する。ボクセル内の相 互作用は、他の質点及び表面で局所的相互作用に基づいたその状態と質点カウン トを交換する傾向にある。そうでなければ、質点は同じ速度及び方向で格子に沿 って移動し続ける。 停止状態(エネルギー準位0)中の質点が移動されないことはここに注意され るべきである。さらに、質点は3次元で単に移動される。状態のw次元の0でな い値は、状態の質点が移動することになっている格子サイトの決定に影響しない 。例えば、−1z及び+1w速度(0,0,−1,1)のエネルギー準位1質点 、及び−1z及び−1w(0, 0,−1,−1)速度のエネルギー準位1質点は、両方とも、z次元で遠方に− 1であるサイトへ移動するだろう。まったく移動したことのない2エネルギー準 位2状態(0,0,0,2)及び(0,0,0,−2)もある。 移動演算は、1つ以上の表面と相互に作用するボクセルに対してわずかに複雑 になる。上記したように、Vi α(x)及びPf(x)は非整数値を有している。 これは、面に移動される断片的質点の1つ以上に帰着できる。かかる面への断片 的質点の移動はボクセル中で残る断片的質点に結果としてなる。これらの断片的 質点は面によって占められたボクセルに移動される。例えば、図7において、ボ クセル705の状態I質点の部分700が面710に移動される場合(ステップ 108)、残りの部分715は、面710が位置しそれから状態iの質点が面7 10に向けられるボクセル720に移動される。したがって、もし状態集団が2 5と等しく、Vi α(x)が0.25(すなわち、ボクセルの4分の1が平行六 面体Gi αと交差する)と等しかったならば、6.25の質点は面Fαに移動さ れ、また、18.75の質点は面Fαによって占められたボクセルに移動される だろう。多数の面が単一のボクセルと交差できるので、1つ以上の面によって占 められたボクセルN(f)へ移動された状態i質点の数は、次式である。 式中、N(x)が源ボクセルである。Ni(f)が実数で あるので、移流段階が完了するまでNi(f)は、浮動小数点数又は基準化され た整数として、バッファに一時的に格納される。 基準化された整数としてNi(f)を格納するために、Ni(f)は次式のよう に決定される。 式中、scaleが216の値がある定数であり、また、Nsi(x)及びVsi α(x) はそれぞれscaleを掛けたNi(x)及びVi α(x)である。乱数のrandは、基 準化に先立った0と1の間の値を呈し、次に、0と216−1との間の値へのscal eによって拡大される。その後、演算子floorは整数値を生成する。特に、 floorはその引き数以下の最大の整数を返す。例えば、floor(2.3 )は2に、及びfloor(−2.3)は−3と等しい。 次に、各面からの外向移動性の質点は、ボクセルに分散する(ステップ116 )。本質的に、このステップは、質点がボクセルから面に移動された収集ステッ プの逆である。面FαからボクセルN(x)まで移動する状態i質点の数は、次 式である。 式中、Pf(x)が部分的ボクセルの体積縮小を説明する。これから、各状態i について、面からボクセルN(x)に向けられた質点数の合計は、次式である。 整数としてボクセルへの状態ベクトルのエントリを維持するために(非整数エン トリを整数形式に変換すること)、エントリは整数値に丸められる。 Ni(x,ts+)=floor[(scale(Ni(x,tg-)+NiF-V(x))+rand)/scale] 式中、ts-は分散ステップの直前の時間であり、ts+はは分散ステップの直後の 時間であり、さらに、Ni(x,ts-)は浮動小数点数である。乱数randは、基 準化に先立った0と1の間の値を呈し、次に、0と216−1の間の値へのscale によって拡大される。値がscaleによって率に応じて拡大されるので、scaleによ る除算は単に乗算と加算の演算の結果を変えることである。 面からボクセルまで質点を拡散し、ボクセルを囲むことから移流を中へ引き起 こした質点とそれらを結合し、結果を整数にした後に、あるボクセル中のある方 向は、アンダーフロー(負になる)又はオーバーフロー(255を超える)のい ずれかになり得る。これは、質量、運動量及びエネルギーの量が0から255ま での値の許容範囲と適合するために打切られた後、それらにおける利得又は損失 のいずれかに帰着するだろう。かかる発生を保護するために、境界外である質量 、運動量及びエネルギーは、不快な状態の打切りに先立って包含される。状態が 属するエネルギーのために、獲得された値(アンダーフローによる)又は失われ た値(オーバーフローによる)と等しい質量の量は、オーバーフロー又はアンダ ーフローにそれら自身従わない 同じエネルギーを有しかつ任意に(又は連続して)選択された状態に加えられる 。この質量とエネルギーの加法に起因する付加的運動量は、蓄積され、打切りか らの運動量に加えられる。同じエネルギー状態に質量を単に加えることによって 、質量及びエネルギーの両方は質量カウンタが0に達する場合、修正される。最 終的に、運動量は、運動量アキュムレータが0に返されるまでプッシュ/プルを 使用して、修正される。 最終的に、流体力学は実行される(ステップ118)。このステップはマイク ロ力学又はイントラボクセルの演算と呼ばれる。同様に、移流手続きはイントラ ボクセル演算と呼ばれる。下記のマイクロ力学演算は、ボルツマン分布を生成す る面の質点を衝突させるために使用される。 マイクロ力学演算は、二値、三値又は「n」値の相互作用規則(さらに衝突規 則とも呼ぶ)の一連を、各時間増分中のボクセルの状態ベクトルへ順次適用する ことにより、ボクセルの内に生じる物理的相互作用のセットをシミュレーション する。例えば、ここに説明されたシステムでは、276の衝突規則があり、その 各々は個別の衝突段階中で実行される。衝突規則が連続して適用されるので、そ れらの適用の結果は、単にそれらの値では書くことができない初期の状態値上に 複雑な非線形の依存性を有している。衝突規則が二値、三値又は「n」値として 実行される一方で、理解の単純化と容易化のために、次の議論は第1に二値衝 突の場合を説明する。 基本的2つのタイプ、非エネルギー交換「自己」衝突、及びエネルギー交換衝 突がある。自己衝突は、質点が互いと衝突することを可能にし、それにより、そ れらの速度を変える。1つの質点によって占められた状態が質点の速度を決定す るので、質点の速度の変化は、その異なる状態へ質点を移動させることによって 遂行される。二値衝突規則は、2つの入力状態及び2つの出力状態に関しての自 己衝突について記述し、出力状態に質点を移動させることにより入力状態の各々 からの1つ以上の質点の衝突をシミュレーションする。衝突規則が双方向なので 、入力及び出力状態は、衝突が状態の集団に依存する位置をとる時に決定される 。 エネルギー交換衝突は、内向移動性の2つの質点とは異なるエネルギー準位に 外向移動性の2つの質点がある点で自己衝突と異なる。亜音速流については、3 つのエネルギー準位、0(止められる)、1及び2だけがある。エネルギーを保 存するために、1つのペアが2つのエネルギー準位1質点を含んでおり、他方の ペアがエネルギー準位2質点及び止められた質点を含んでいる場合、可能な唯一 のエネルギー交換衝突は生じる。エネルギー交換衝突は、同じ割合で両方向に起 こらない。むしろ、それらはエネルギー準位1状態からの前方への割合及びエネ ルギー2と停止状態からの後方への割合で起こる。下記詳細に議論されるよ うに、これらの衝突割合はシステムの温度に依存する。 各衝突規則は、自己又はエネルギー交換衝突に向けられたとしても、単一のボ クセルのための状態ベクトルの状態の部分集合又は面上で演算し、それらの状態 の質点間の衝突の正味の影響をシミュレーションする。例えば、二値衝突規則は 、4状態(i,j,k,l)上で作動し、第1の2つの状態(i,j)における 質点間の衝突の正味の影響をシミュレーションし、第2の2つの状態(k,l) の質点間の衝突をシミュレーションする。第1の2状態における1ペアの質点間 の衝突が、第2の2状態に対応する速度へ変わる質点の速度に帰着しその逆も正 しいので、二値衝突規則は次式のように表現できる。 Ngcacc=C(Ni(t),Nj(t),Nk(t).Nl(t)) Ni(t+∈)=Ni(t)−Nscatt j(t+∈)=Nj(t)−Nscatt k(t+∈)=Nk(t)+Nscatt l(t+∈)=Nl(t)+Nscatt 式中、εが衝突規則を実行するのに必要な物理的に微小の時間を示す。同様に、 三つの衝突規則は次式として表現できる。 Nscatt=C(Ni(t),Nj(t),Nk(t),Nl(t),Nm(t),Nn,(t)) Ni(t+∈)=Ni(t)−Nscatt j(t+∈)=Nj(t)−Nscatt k(t+∈)=Nk(t)−Nscatt l(t+∈)=Nl(t)+Nscatt m(t+∈)=Nm(t)+Nscatt n(t+∈)=Nn(t)+Nscatt 衝突規則の適用に現実に起因する状態変化が正味の状態変化を反映することは 、評価されるべきである。例えば、 衝突規則の適用により、各々の状態i及びjからの4つの質点が各々の状態k及 びlに移動する結果に帰着する場合、例えば、この移動は、各々の状態i及びj からの56の質点が各々の状態k及びlに移動し、各々の状態k及びlからの5 2の質点が各々の状態i及びjに移動する帰着結果の衝突を現実に表わすことが ある。 正確に物理的システムをシミュレーションするために、各衝突規則は質量、運 動量及びエネルギーを保存しなければならない。規則が1状態から別のものに単 に質点を移動させて、質点の生成又は破壊をなさないので、それらは必ず質量を 保存する。規則が運動量を保存することを保証するために、規則によって影響を 受けた状態は次式のように選択される。 Ci+Cj=Ck+Cl 同様に、規則がエネルギーを保存することを保証するために、規則によって影響 を受けた状態は次式のように選択される。 したがって、状態i、j、k及びlは、状態i及びjからの1ペアの質点が状態 k及びlからの1ぺアの質点と同じ運動量及びエネルギーの合計を持つように、 各規則に対し選ばれる。内向移動性ペア及び外向移動性ペアの状態が質量、運動 量及びエネルギーを常に保存しなければならないので、54の状態内のすべての 可能な4つは「合法的」衝 突規則に相当するとは限らない。 特定の衝突規則については、Nscattが、規則によって影響を受けた状態に衝 突演算子を適用することによって決定される。衝突演算子の算術/計算上の形式 は、シミュレーションシステム中の演算子を実行する現実性を決定する。衝突演 算子の統計特性は、正確な行動がシミュレーション中に達成できる範囲を決定す る。 好ましい衝突演算子は、規則によって影響を受けた各状態の質点の数がそのボ ルツマン平衡状態値に接近するとともに、Nscattが0に接近するものである。 二値衝突については、好ましい演算子は次式の形式を有している「多重線の規則 」である。 Nscatt=Aj[Rf*Ni*Nj−Rb*Nk*Nl] 式中、Ajが衝突係数であり、Rf及びRbはエネルギー交換衝突のための前方及 び後方への衝突割合である。R,及びRbが局所的温度のみに依存する一方、係 数Ajは局所的温度及び密度のみに依存する。温度及び密度が衝突により変わら ないので、Aj、Rf及びRbは特定の時間増分のための定数であり、すべての衝 突に先立って決定できる。 Ajの値は下に示されるように各タイプの衝突に対し変わる(エネルギ一準位 1の質点間の自己衝突、エネルギー準位2の質点間の自己衝突、及びエネルギー 交換衝突)。もし、j=1、2又はεがそれぞれ、エネルギー準位1又 は2にて自己衝突、及びエネルギー交換衝突を表わす場合、Aj、Aεは次式で ある。 式中、〈N〉j (eq) (j=0,1,2)は上記のようにエネルギー準位jの等 方性平衡状態の集団である。 エネルギー交換衝突については、状態i及びjがエネルギー準位1状態であり 、状態k及びlは、Rf/Rbがエネルギー準位1質点からエネルギー準位2及び 休止質点まで衝突の割合を表わすような、エネルギー準位2及び休止状態である 。Rf/Rbは次式のように定義される。 式中、d0は停止した質点状態の数であり、上述された実施例での6と等しい。 しかしながら、流体の温度は、シミュレーションの長さにわたって必ずしも一定 でなく、特に、熱伝導を含んでいるシミュレーションのために、Aj及びRf/Rb は、局所的温度の変化を反射するために、シミュレーション中にダイナミック に更新されなければならない。亜音速流のために保持された温度範囲は、1/3 と2/3の間にある。自己衝突については、Rf/Rbが1と等しい。 自己衝突の例として、次式の初期の状態は提案される。 ci=(l,0,l,0),Ni=25, Cj=(1,0,−1,0),Nj=40, ck=(1,0,0,1),Nk=53, cl=(1,0,0,-l),Nl=20 示されるように、i、j、k及びlは,状態i及びj並びに状態k及びlの結合 した運動が、x次元中の2並びにy、z及びw次元中の0であるように、かつ各 状態がエネルギー準位1状態であるように、選択されている。密度ρの合計が1 656で温度が1/2であり、A1が<n>1 (eq)のための表現を使用したと仮定 すると、<n>1 (eq)はρ/48に等しく、A1は12/ρ又は1/138と等し い。例示するために、もし衝突規則が浮動小数点数を使用して適用されれば、生 じる状態集団は次の値を持つだろう。 Ni=25-(-0.43478)=25.43478 Nj=40-(-0.43478)=40.43478 Nk=53+(-0.43478)=52.56522 Nl=20+(-0.43478)=19.56522 これらのNi、Nj、Nk及びNlの新しい値は、平衡状態基準をゼロヘ追い払う。 (Ni*Nj−Nk*N1)= (25.43478*40.43478)-(52.56522*19.56522)= 1028.45-1028.45=0 状態の質点カウントのオーバーフロー又はアンダーフローのポテンシャルは、 上記された衝突演算に存在する。オーバーフローは、質量、運動量及びエネルギ ーの損失に帰 着し、もし状態集団及びNscattの合計が255を超過すれば、生じるだろう。 対照的に、アンダーフローは、質量、運動量及びエネルギーの生成に帰着し、も し状態集団からNscattを引いた結果が0未満であれば、生じるだろう。質量、 運動量及びエネルギー保存の法則がシミュレーション環境において最高なので、 衝突に含まれる状態のうちのいかなるものの中でオーバーフロー又はアンダーフ ローのいずれかを引き起こす場合、質点の交換が妨げられる。 ハードウェア制限により、Nscattは整数値として維持される。非エネルギー 交換衝突については、Nscattが次式のように決定される。 Nscatt=floor[ js*(Ni*Nj−Nk*N1)+rand)/scale] 式中、 jsが、216の値を有している定数のscaleによって乗算によって基準化 されたAjである。乱数のrandは、基準化に先立った0と1の間の値を呈し、次 に、0と216−1との間の値へのscaleによって率に応じて拡大される。エネル ギー交換衝突については、Nscattが次式のように決定される。 Nscatt= floor[(Rf'*Ni*Nj - Rb'*Nk*Nl)+ rand)/scale] 式中、Rf’及びRb’はそれぞれAεsを掛けたRf及びRbである。Aεsscal e を掛けたAεである。randはfloor演算に起因する打切りがシステムヘ統 計のバイアスを導入するのを妨げるために採用される。この演算は、 整数値を呈することをNscattに強いるが、randの使用は、この演算が特定の方 向において統計的にNscattにバイアスをかけないことを保証する。 この手法で、上記の例のためのNi、Nj、Nk及びNlの値は、56.522% の確率で(25,40,53,20)で設定され、43.478%の確率で(2 6,41,52,19)で設定されるだろう。複数の試験にわたって平均されて 、Nf、Nj、Nk及びNlのための平均値は(25.43478, 40.43478, 52.56522, 19.56522)である。したがって、規則の単一の適用は必ずしも平衡状態への集団 を強いらないが、規則の複数の適用上の集団の統計の平均値は、それらの集団に 対する平衡状態値に相当する。 多重線の衝突演算子はボルツマンの平衡状態にシミュレーションされたシステ ムを運転する。これは、衝突規則の繰り返した適用が平衡状態値にシステムを運 転し、そこで巨視的条件び所定設定のために、個々の状態集団Niが次式のボル ツマン分布によって決定されるような既知の値を呈することを、意味する。 式中、指数関数における因子が質量(m)、運動量(mci)及びエネルギー( mci 2)の保存された不変量を表わし、追加の(「偽造」)不変量が生じないと 仮定すると、riは、RfとRbから生成された重み因子を表わす。衝突規則の各 適用後のこの分布の達成は、ある精度への流体 力学の挙動に帰着する。 この平衡状態を導き出す単純な方法は、衝突すべてが生じて相互作用状態をそ れらの個々の平衡状態に運転すると仮定することである。したがって、二値衝突 規則については、平衡状態は次式となる。 Rf*Ni*Nj=Rb*Nk*Nl また、多重線の規則については、Nscattが0と等しい。前式中で両側の対数を とることは次式を意味する。 式中、である。この式は、ペアすべてのペア(又は三組のペアなど)のために今満たさ れなければならないが、それは衝突規則の下で許容される。式を満たすために、 lnri -1iは、次式の形式で衝突プロセス(すなわち質点上の合計が保存され る量)の合計の不変量の合計でなければならない。 式中、Ii αが状態i(例えば、上記のNiのための式中における運動量の構成要 素mii)に関連したα番目の不変量であり、そしてAαがそれらの対応する不 変量(例えば、上記のNiのための式中におけるα、β及びγ)に関連した係数 である。質量、運動量及びエネルギーが単に保 存された量(すなわち、偽造の不変量はない)である限り、ボルツマン分布がこ の方程式に起因する。 図10を参照すると、可変分解(図4及び5で示し説明した)は、以下に粗い ボクセル1000及び細かいボクセル1005と呼ぶ異なる大きさのボクセルを 採用する。(次の議論は、異なる2つの大きさを有しているボクセルを参照する 。分解の追加のレベルを提供するために説明された技術はボクセルの異なる3つ 以上の大きさに適用され得ると、認識されるべきである。)粗く細かいボクセル の領域間の界面は可変分解(VR)界面1010と呼ぶ。 可変分解が、表面で又はその表面の近くで使用される場合、面はVR界面の両 側でボクセルと相互に作用する。これらの面は、VR界面面1015(FαIC) 又はVR細かい面1020(FαIF)として分類される。VR界面の面1015 は、VR界面の粗い側に置かれかつ、細かいボクセルへ伸びる粗い平行六面体1 025を有した面である。(粗い平行六面体は、粗いボクセルの次元に従ってci が測定されるものの1つである一方、細かい平行六面体は細かいボクセルの次 元に従ってciが測定されるものの1つである。)VR細かい面1020は、V R界面の細かい側に置かれ、かつ、粗いボクセルへ伸びる細かい平行六面体10 30を有した面である。界面の面に関連する処理は、さらに、粗い面1035( Fαc)及び細かい面1040(FαF)の相互作用をも含んでいる。 両方のタイプのVR面については、表面力学が細かい基準(scale)で実行さ れ、上述されるように演算する。しかしながら、VR面は、質点がVR面間の移 流を引き起こす方法に関して、他の面と異なる。 VR面を備えた相互作用は、図11に示す可変分解手続き1100を使用して 、扱われる。この手続きのほとんどのステップは、上に議論された非VR面との 相互作用のための比較可能なステップを使用して、行なわれる。手続き1100 は、相各々が細かい時間ステップに対応する2つの相を含んでいる粗い時間段階 (すなわち時間間隔は粗いボクセルに対応する)の間、実行される。面表面力学 は個々の細かい時間ステップの間実行される。この理由のために、VR界面面FαIC は、それぞれ黒面FαICb及び赤面FαICrと呼ばれる2つの独立して大きさ が適応され配向された細かい面と見なされる。黒面FαICbが粗い時間ステップ 内の第1の細かい時間ステップに関係し、赤面FαICrは粗い時間ステップ内の 第2の細かい時間ステップに関係している。 最初に、質点は、第1の表面対表面の移流段階によって面の間で移動(移流) される(ステップ1102)。質点は、V〜αβの重み因子で黒面FaICbから粗 い面FβCへ移動され、該重み因子は、面Fαから伸びかつ面Fβの背後にある 粗い平行六面体(図10,1025)の障害物を取り除かれた部分より、面Fα から伸びかつ面Fβの背後に ある細かい平行六面体(図10,1045)の障害物を取り除かれた部分だけ少 ない体積に相当する。細かいボクセルのためのciの大きさは、粗いボクセルの ためのciの大きさの2分の1である。上に議論されたように、面Fαのための 平行六面体の体積は次式のように定義される。 Vi α=|ci・nα|Aα 従って、面の表面面積Aαが粗い平行六面体及び細かい平行六面体間で変わらな いので、そして単位法線nαが常に1の大きさ有しているので、面に対応する細 かい平行六面体の体積は面のための対応する粗い平行六面体の体積の2分の1で ある。 質点は、Vαβの重み因子で粗い面FαCから黒面FαICbへ移動され、該重み 因子は、面Fαから伸びかつ面Fβの背後にある細かい平行六面体の障害物を取 り除かれた部分の体積に一致する。 質点は、Vαβの重み因子で赤面FαICrから粗い面FαCへ移動され、さらに 、V〜αβの重み因子で粗い面FαCから赤面FβICrへ移動される。 質点はVαβの重み因子で赤面FαICrから黒面FβICbへ移動される。この段 階で、黒対赤移流は生じない。さらに、黒面及び赤面が連続する時間ステップに 相当するので、黒対黒移流(又は赤対赤移流)は生じない。類似した理由で、こ の段階の質点は、Vαβの重み因子で、赤面FαICrから細かい面FβIF又はFβF へ移動され、また、同じ重 み因子で、細かい面FαIF又はFαFから黒面FαICbに移動される。 最終的に、質点は、同じ重み因子で細かい面FαIF又はFαFから他の細かい 面FβIF又はFβFへ移動され、また、の重み因子で粗い面FαCから他の粗い面 FCへ移動され、重み因子VC αβは面Fαから伸びかつ面Fβの背後にある細か い平行六面体の障害物を取り除かれた部分の体積に相当する。 質点が表面間に移流された後、質点は、第1の収集段階においてボクセルから 集められる(ステップ1104〜1110)。質点は、細かい平行六面体を使用 して細かいボクセルから細かい面FαFのために集められ(ステップ1104) 、また、粗い平行六面体使用して粗いボクセルから粗い面FαCのために集めら れる(ステップ1106)。その後、質点は細かい平行六面体(ステップ110 8)を使用して、粗いボクセル及び細かいボクセルから、黒面FαIRbのために 、及びVR細かい面FαIFのために集められる。最終的に、質点は、粗い平行六 面体及び細かい平行六面体の間の差を使用して、粗いボクセルから赤面FαIRr のために集められる(ステップ1110)。 次に、細かいボクセル又はVR面と相互に作用する粗いボクセルは、細かいボ クセルの集合へ分解される(ステップ1112)。単一の粗い時間ステップ内の 細かいボクセルへ質点を送る粗いボクセルの状態は、分解される。例え ば、面によって交差しない粗いボクセルの適切な状態は、図2のマイクロブロッ クのように適応させられた細かい8のボクセルへ分解される。1つ以上の面によ って交差する粗いボクセルの適切な状態は、任意の面によって交差しない粗いボ クセルの部分に対応する全体及び/又は部分的細かいボクセルの集合へ分解され る。粗いボクセルのための質点密度Ni(x)及びその分解に起因する細かいボ クセルは等しいが、しかし、細かいボクセルは、粗いボクセルの断片的因子及び 他方の細かいボクセルの断片的因子と異なる断片的因子Pfを有している。 その後、表面力学は、細かい面FαIF及びFαF(ステップ1114)のため に、及び黒面FαICb(ステップ1116)のために実行される。力学は図9に 示す手続きを使用して、上に議論したように実行される。 次に、質点は、実際の細かいボクセルを含む細かいボクセル及び粗いボクセル の分解に起因する細かいボクセルの間で移動される(ステップ1118)。一度 、質点が移動されたならば、質点は、細かい面FαIF及びFαFから細かいボク セルまで分散する(ステップ1120)。 質点は、さらに、黒面FαICbから細かいボクセル(これは粗いボクセルを分 解させることに起因する細かいボクセルを含んでいる)まで分散する(ステップ 1122)。表面の存在がないその時にボクセルが質点を受け取った場合、質点 は細かいボクセルに分散される。ボクセルが実際 の細かいボクセル(粗いボクセルの分解展開に起因する細かいボクセルに対立す るものとしての)である場合、又はボクセルN(x)を越える1つの速度単位で あるボクセルN(x+ci)が実際の細かいボクセルである場合、又はボクセル N(x)を越える1つの速度単位であるボクセルN(x+ci)が、粗いボクセ ルの分解展開に起因する細かいボクセルである場合、質点はボクセルN(x)に 特に分散される。 最終的に、第1の細かい時間ステップは、細かいボクセル上で流体力学を実行 することによって完了する(ステップ1124)。流体力学が実行されるボクセ ルは、粗いボクセルを分解させることに起因する、細かいボクセルを含んでいな い(ステップ1112)。 手続き1100は、第2の細かい時間ステップの間、類似したステップを実行 する。最初に、質点は、第2の表面対表面の移流段階において表面間で移動され る(ステップ1126)。質点は、黒面から赤面まで、黒面から細かい面まで、 細かい面から赤面まで、及び細かい面から細かい面まで、移流される。 質点が表面間の移流された後、質点は収集段階においてボクセルから集められ る(ステップ1128〜1130)。質点は細かい平行六面体を使用して、細か いボクセルから赤面FαIRrのために集められる(ステップ1128)。質点は 、さらに細かい平行六面体を使用して、細かいボク セルから細かい面FαF及びFαIFのために集められる(ステップ1130)。 その後、表面力学は、上に議論されたように、細かい面FαIF及びFαFのた めに(ステップ1132)、粗い面FαCのために(ステップ1134)、及び 赤面FαICr(ステップ1136)のために実行される。 次に、質点は、細かい分解(ステップ1138)を使用してボクセルの間で移 動され、質点が細かいボクセル及び粗いボクセルを示す細かいボクセルの相互間 で移動される。その後、質点は、粗い分解(ステップ1140)を使用して、質 点が粗いボクセル間で移動されるようにボクセルの間で移動される。 次に、結合ステップにおいて、質点が面からボクセルまで分散されつつ、粗い ボクセル(すなわち、粗いボクセルを分解させることに起因している細かいボク セル)を表わす細かいボクセルは合体され粗いボクセルになる(ステップ114 2)。この結合ステップで、質点は、粗い平行六面体を使用して粗い面から粗い ボクセルへ、細かい平行六面体を使用して細かい面から細かいボクセルへ、細か い平行六面体を使用して赤面から細かいボクセル又は粗いボクセルへ、さらに、 粗い平行六面体及び細かい平行六面体の間の差分を使用して黒面から粗いボクセ ルへ、分散される。最終的に、流体力学は、細かいボクセル及び粗いボクセルの ために実行される(ステップ1144)。 図12を参照すると、上記システムは、機能ユニット10を使用して実行する ことができる。このユニット10は、メモリバンク14と規則記憶装置16とに 接続された用途特定集積回路(「ASIC」)12を含む。システムは、単一の 機能ユニット10を使用して実行することができるが、ASIC12は、数百、 数千の機能ユニット10が改善された性能のために並行に接続されて演算できる ように、設計されている。 ASIC12は、縮小命令セット型コンピュータ(「RISC」)プロセッサ 20と指示キャッシュ22とRISCインターフェース論理部24とを含むプロ セッサ制御ユニット(「PCU」)18を含む。プロセッサ制御ユニット18は 、中央コントローラとして動作し、ベクトル状のコマンドを様々な機能ユニット に発する。機能ユニットは、共通プロセッサとして動作し、プロセッサ制御ユニ ット18からの指示を受け取り、任務を終了するための指示の予め定義されたシ ーケンスのセットを実行する。プロセッサ制御ユニット18に対する指示は、メ モリバンク14へとダウンロードされ、プロセッサ制御ユニット18によってこ こから実行される。これらの指示制御プロセッサは、ユニット18を制御して、 ユニット18から、ASIC12における他の機能ユニットにコマンドを送らせ る。 PCU18に対する指示を記憶することに加えて、メモリバンク14は、関連 するデータ構造及びオーバヘッド情 報に沿ってASIC12に割り当てられた各ボクセル毎に質点の状態を記憶する 。メモリバンク14によって供給された記憶の量は、ASIC12が全シミュレ ーション容量の一部として割り当てることのできる分解能(resolusion)の量を書 き取っている。メモリバンク14は、標準生産の同期DRAMのセットから構成 されている。このDRAMは、パイプラインになっているアクセスモードと高デ ータ帯域幅能力とにより標準同期DRAMに亘って選択されている。 マイクロ力学ユニット(「MDU」)は、マイクロ力学制御論理部26とマイ クロ力学データパス28とを含み、質点力学の処理に対して信頼性のある機能ユ ニットである。これは、表面のみならず、質点間の相互作用を含む。マイクロ力 学データパス28は、ボクセルデータについての演算を実行するために必要なハ ードウェアを含む。マイクロ力学制御論理部26は、データパスを設定して、正 しい演算を実行すると共に処理すべき適切なデータを選択する。マイクロ力学制 御論理部26は、データパスを設定して、規則記憶装置16から検索した規則の セットに基づいてデータを選択する。規則記憶装置16は、SRAMから構成さ れて、マイクロ力学規則が変化するときに、メモリをロードする能力と高速アク セス時間とを提供する。 マルチポートRAM30は、マイクロ力学データパス28が実際に処理してい る関連データ及び質点の状態に対す るレジスタファイルとして動作する。RAM30は、9ポートスタティックRA Mであり、256個の64ビットエントリを有し、2つの読取りポートと2つの 書込みポートとをマイクロ力学データパス28に供給する。さらに、RAM30 は、読取りポートと書込みポートとをマイクロブロックユニット32に提供する 。このポートの第3のセットが、統計と同様にRAM30とメモリアクセスユニ ット34との間に共存するデータ移動に対して使用される。メモリアクセスユニ ット34は、ASIC12内の質点データ転送の中心源及び目的であり、メモリ バンク14を制御する。 図13及び図14も参照すると、マイクロ力学データパス28は、1のボクセ ルの処理に必要な8ビットデータパス29の8つの同一コピーを提供することに よって、8つのボクセルを並行に処理する。マイクロ力学制御論理部26は、S IMD(単一指示多重データ(single insutructionmultiple data))コントロー ラとして構成され、8つのサイトの全てが設定されて、独立のボクセルデータに 同一の演算を実行する。 バスインターフェースユニット(「BIU」)36は、例えばシステムの制御 に使用される目的「ホスト」プロセッサなどの外部プロセッサにASIC12を 接続する。(ホストプロセッサ又は他の外部プロセッサは面した表面との質点の 相互作用をモデル化するとき用いられる浮動小 数点演算動作を実行するために使用され得る。)BIU36の主たる機能は、シ ステムのホストプロセッサにパスを提供してASIC12に初期化情報を提供し 、ASIC12からホストプロセッサに統計情報を送る。さらに、BIU36は 、メモリアクセスユニット34にパスを提供するので、メモリバンク14は、ホ ストプロセッサにアクセス可能になる。 移流ユニット(「AU」)38は、データパスを形成し、質点を立方格子に沿 って移流(移動)せしめるように制御し、別のASIC12によって所有される 目的のボクセルに移動する質点のサポートを含む。質点を別のASIC12によ って所有されるボクセルに送るために、AU38は、通信ポートを含む。 マイクロブロックユニット32は、MDUにおいて処理されるデータについて の統計を計算する役目をなす。ボクセルデータがMDUにおいて処理された後、 マイクロブロックユニット32は、ボクセルデータを使用して統計を生成する。 次に、データは、メモリアクセスユニット34を介してメモリバンク14に戻さ れる。 RISCプロセッサ20は、32ビットの整数演算論理動作の標準セットを実 行することができる。実際、RISCプロセッサは、コード化されて、標準プロ セッサのように、メモリ内のプログラムを実行する。 メモリマップは、プロセッサの4GBアドレス空間に以 下の3つのセグメントを作成するASIC12に対して設けられる。 1) MAUによって制御される外部メモリバンクへの直接アクセスの2GB (−8MB) 2) 機能ユニットによって所有され復号化されるオン・ASICメモリマッ プド(memory mapped)レジスタ及び指示の8MB 3) BIUを介して接続されるオフ・チップホストメモリアクセスの2GB PCUの論理部は、RISCプロセッサによって発せられたアドレスを復号し 、それが送られる場所を決定する。ローカルメモリの要求は、MAUに送られる 。機能ユニット指示を含むメモリマップドレジスタ読取り及び書込みは、適切な 機能ユニットに送られる。ホストメモリリファレンスが、BIUに送られ、BI Uは要求をホストシステムに送る。 MAUからメモリ転送を要求することのできる4つの機能ユニット、すなわち 、プロセッサ制御ユニットと、バスインターフェースユニットと、マイクロブロ ックユニットと、移流ユニットとが存在する。MAUは、これらの4つのユニッ トからの要求を仲介して、単一かつ多重のワード転送(word transfers)を許可す る。MAUは、DMAエンジンを維持してバースト転送をサポートする。MAU から許可を受けたとき、ユニットは、MAUに接続し、その転 送が終了するまでデータを運用して受信する。 RISCプロセッサは、様々な機能ユニットとMAUとの間の多くのデータパ ケットの転送を開始する。このモデルの機能ユニット、またはコプロセッサは、 システム、すなわちASICレベル転送を認識しない。ユニットに、RISCエ ンジンによって、実行すべき課題とデータとが与えられ、ユニットは、そのデー タを局所的に処理する。例えば、プロセッサは、マイクロブロックユニットに、 MAUによって制御されるメモリからデータの特定のブロックを取ってきてマル チポートRAMに置くように指示する。次に、RISCエンジンは、マイクロ力 学ユニットに指示を発してそのデータを処理する。処理が終了した後、RISC エンジンは、マイクロブロックユニットに、マルチポートRAMからデータのブ ロックを引出してメモリの特定の位置に戻すように指示する。 メモリ要求を始動するPCUに加えて、MAUメモリ転送の2つのオフ・チッ プソース、すなわち、BIUを介してホストシステムによって始動されるメモリ 要求と、AUの通信ポートを介して他のプロセッサから入力されるデータと、が 存在する。 コプロセッサユニットは、RISCエンジンからの単一のコマンドと局所記憶 装置に保持されているデータのブロックとに基づいて、数十から数百、数千のサ イクルを取るルーチンを処理することができる。この処理の長さによっ て、RISCエンジンに、計算の実行に加えてコマンドを発すると共に、他のユ ニットの状態をチェックする十分かつ自由な時間が許可されて、データ構造を更 新したり、または次のプロセスに対するセグメントを決めたりする。 RISCプロセッサは、メモリマップド書込みを介して、機能ユニットに指示 を発する。書込みのアドレスは、その機能ユニットに対する指示の演算コードに 沿って機能ユニットを特定する。書込みによって供給される32ビットのデータ は、演算コードのパラメータである。各演算コードは、データパスを分析する方 法を特定する。各機能ユニットは、一回に1のみの指示しか扱うことができない 。ユニットが以前に発せられた指示の処理で使用中の場合、新しい指示はPCU にてペンディングされる。RISCプロセッサも、機能ユニットの各々のレジス タ及び状態の読取りが自由であり、機械の現在の状態を判別する。 メモリマップド指示を発するために必要な復号制御ループからRISCプロセ ッサをオフロードするために、指示キュー(待ち行列)がPCUに供給されて多 数の指示の列を形成する。ユニットが新しい指示を取るために自由になると直ち に、列の先頭の指示が適切な機能ユニットに送られる。ユニットが使用中であれ ば、次に列は指示を発せず次の全ての指示を止める。この待ち行列形成機構によ って、機能ユニット間の依存性は、列形成指示を発するときに符号化される。任 意の時刻において、プロセッサは、自由に なり、指示列をバイパスして指示を直接機能ユニットに対して機能ユニットから 情報を読み込む。 他の実施例は次の請求の範囲内にある。例えば、「物理的プロセスシミュレー ションの粘性縮小」、米国特許出願第08/255,409号、出願日1994年6月8日にお いてツラブ(Traub)らによって開示された過緩和技術を使用して、シミュレーシ ョンの粘性を修正することができる。 粘性は剪断力(すなわち、流体の流れの方向と平行に作用する力)に対する流 体の抵抗の基準である。実際の流体では、粘性は、質点の速度を平均値へ引き寄 せる流体中の近隣の質点間の相互作用に起因する。格子システムでは、粘性は、 ボクセルに位置した質点の正味速度を、近隣ボクセルに位置した質点の正味速度 へ引き寄せる特定のボクセルに位置した質点間の相互作用に起因する。格子シス テム中の各ボクセルが実際の質点によって占められる物理的空間より本質的に大 きいシミュレーションされた空間の領域を表わすので、ボクセル間の相互作用に 起因する粘性は、実際の流体中の分子の質点相互作用に起因するそれより本質的 に大きい(すなわち、各ボクセル相互作用に起因する「平均」は、個々の分子の 質点相互作用に起因するそれより空間の本質的により大きな領域に影響する)。 格子システム中の粘性は、格子の密度を増加させることによって(すなわち各 ボクセルによって表わされるシミュレーションされた空間の量を減少させること によって)縮 小でき、過剰緩和の使用によっても縮小できる。粘性νは、次式の緩和パラメタ ωの項で表現できる。 式中、Tが流体の温度である。したがって、例えば、1の緩和パラメタ(ν=T /2)に関して、1.8の緩和パラメタ(ν=T/18)は、9の因数だけ格子 中の粘性を縮小する。 過剰緩和の使用は、有効に格子の密度を増加させる。したがって、過剰緩和の 使用は、特定の分解(又は特定のプロセッサが物理的システムをシミュレーショ ンできる分解)による物理的システムをシミュレーションするのに必要な処理に 劇的効果がある。例えば、3次元格子の有効密度の10倍の増加は、ほとんど1 万(すなわち、与えられた速度の流体をシミュレーションするのに必要な時間に おいて、10の三乗から過剰緩和を実行するのに必要な付加的処理を引いて、1 0倍の減少を掛けたもの)の因数だけ分解の特定のレベルまで、格子を持った物 理的システムをシミュレーションするのに必要な処理を縮小する。 シミュレーションされた物理的プロセスの粘性を変更するために、コンピュー タシステムは状態ベクトル上で粘性修正演算を実行する。これらの演算は、マイ クロ力学演算の後に典型的に実行され、マイクロ力学演算中に適用され規則と同 じ又は類似した規則のセットを適用する。同じ規則が適用される場合、規則はマ イクロ力学演算中に第1の 量によって、また、粘性修正演算中に第2の量によって、状態ベクトルを修正し 、ここで第1の量は緩和パラメタによって第2の量と関係がある。相互作用演算 中で使用される規則が質量、運動量及びエネルギーを保存するので、この手法は これらの特性が粘性修正演算中に保存されることを保証する。 第2の量が緩和パラメタに由来した実数を第1の量に掛けることによって決定 される場合、増加の結果は第2の量が整数値であることを保証するために打切ら れる。打切り演算が統計バイアスをシステムへ導入する事を防止するために、0 及び1の間の任意値は、打切りに先立って増加の結果に加えられる。 格子システムの粘性は、1を越え2未満の値の緩和パラメタの使用によって縮 小される。緩和パラメタが2に接近するとともに、シミュレーションされたシス テムの粘性は0に接近して、システムは不安定になる。本質的に摩擦の形式であ る粘性は、システムの変動を制動する傾向がある。したがって、粘性がない場合 、不安定性は生じる。なぜならこれらの変動がシステムを通して末検査で広がる からである。1.9以下である緩和パラメタの使用によって一般に不安定性を回 避できることが知見された。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ホック ジェームズ アメリカ合衆国 マサチューセッツ州 01451 ハーバード ショランサークル 8 (72)発明者 モルヴィグ キム アメリカ合衆国 マサチューセッツ州 01742 コンコード モニュメントストリ ート 1200 (72)発明者 テイクセイラ クリストファー エム. アメリカ合衆国 マサチューセッツ州 02139 ケンブリッジ ハンコックストリ ート 118 (72)発明者 トラウブ ケニス アール. アメリカ合衆国 マサチューセッツ州 02172 ウォータータウン コジーストリ ート 6

Claims (1)

  1. 【特許請求の範囲】 1. コンピュータにて実行される方法であって、 (1) ボクセルにおける複数の可能な運動量状態の特定の運動量状態に対 応する複数のエントリを有する状態ベクトルを複数のボクセルためにメモリに格 納する行程と、 (2) ボクセルの大きさ及び配向とは独立に大きさが適応させられ配向さ れる少なくとも1つの表面の表現をメモリに格納する行程と、 (3) 異なる運動量状態の要素間の相互作用をモデル化する相互作用演算 を状態ベクトル上で実行する行程と、 (4) 表面近傍の少なくとも1つのボクセルでの表面と要素との間の相互 作用をモデル化する表面相互作用演算を表面の表現上で実行する行程と、 (5) 状態ベクトル上で移動演算を実行し要素の移動を新ボクセルへ反射 する行程と、を含むことを特徴とする物理的プロセスをシミュレーションする方 法。 2. 物理的プロセスをシミュレーションするコンピュータシステムであっ て、 (1) ボクセルにおける複数の可能な運動量状態の特定の運動量状態に対 応する複数のエントリを有する状態ベクトルを複数のボクセルためにメモリに格 納する手段と、 (2) ボクセルの大きさ及び配向とは独立に大きさが適応させられ配向さ れる少なくとも1つの表面の表現をメモリに格納する手段と、 (3) 異なる運動量状態の要素間の相互作用をモデル化する相互作用演算 を状態ベクトル上で実行する手段と、 (4) 表面近傍の少なくとも1つのボクセルでの表面と要素との間の相互 作用をモデル化する表面相互作用演算を表面の表現上で実行する手段と、 (5) 状態ベクトル上で移動演算を実行し要素の移動を新ボクセルへ反射 する手段と、を含むことを特徴とするコンピュータシステム。 3. 状態ベクトルのエントリは、ボクセルの特定の運動量状態において単 位体積当たりの要素の密度を表わすことを特徴とする請求項1又は2記載の発明 。 4. 状態ベクトルは、特定の運動量状態で単位体積当たりの要素の密度を 表わし、可能な2つを越える値を有している複数の整数を有することを特徴とす る請求項3記載の発明。 5. 相互作用演算は整数値を使用して実行され、表面相互作用演算は実数 の値代表者を使用して実行されることを特徴とする請求項4記載の発明。 6. 表面相互作用演算は浮動小数点数を使用して、実行されることを特徴 とする請求項5記載の発明。 7. 部分的ボクセルとして表面によって交差するボクセルを表わすことを 、さらに有していることを特徴とする請求項1又は2記載の発明。 8. 前記少なくとも1つの表面の表現は、ボクセル の大きさ及び配向とは独立に大きさが適応させられ配向され、組合せでは、少な くとも1つの表面を表わす複数の面を有し、さらに、表面相互作用演算は面の近 くの少なくとも1つのボクセルでの面と要素との間の相互作用をモデル化するこ とを特徴とする請求項1又は2記載の発明。 9. 要素は流体の質点を表わし、また、面は流体がその上を流れる少なく とも1つの表面を表わすことを特徴とする請求項8記載の発明。 10. 表面相互作用演算は、 面と相互に作用する少なくとも1つのボクセルの第1のセットから要素を集 める行程と、 集められた要素と面との間の相互作用をモデル化して表面相互作用要素のセ ットを生成する行程と、 表面相互作用要素を、面と相互に作用する少なくとも1つの第2のボクセル のセットへ分散する行程と、からなることを特徴とする請求項8記載の発明。 11. ボクセルの第1のセットはボクセルの第2のセットと同一であるこ とを特徴とする請求項10記載の発明。 12. 少なくとも1面の部分によって占められるボクセルのために、任意 の面によって占められないボクセルの部分を表わす因子を、格納することを、さ らに有していることを特徴とする請求項10記載の発明。 13. ボクセルから集める場合、ボクセルのための 因子が考慮されることを特徴とする請求項12記載の発明。 14. ボクセルの第1のセットは、要素が集められている運動量状態の速 度を表わすベクトルを備えた面に関する垂直方向を表わすベクトルのベクトル内 積によって定義された領域の少なくとも1つの部分を重複する少なくとも1つの ボクセルを含んでいることを特徴とする請求項10記載の発明。 15. 領域の体積は、面の表面面積を掛けたベクトル内積と等しく、ボク セルの第1のセットは、部分的に体積を重複するボクセルをすべて含んでいるこ とを特徴とする請求項14記載の発明。 16. 他の少なくとも1つの面から要素を集めることを、さらに有してい ることを特徴とする請求項10記載の発明。 17. 集められた要素と面の間の相互作用は、表面相互作用要素のセット が少なくとも1つの境界条件を満たすように、モデル化されることを特徴とする 請求項10記載の発明。 18. 面の接線の方向にある集められた要素の結合した運動量と面の接線 の方向にある表面相互作用要素の結合した運動量との間の差が、面によって表わ される表面によって有されている表面摩擦の程度に関連づけられたとき、境界条 件は満たされることを特徴とする請求項17記載の発明。 19. 面に垂直な集められた要素の結合した運動量と面に垂直な表面相互 作用要素の結合した運動量との間の差が、ボクセルの第1のセットの少なくとも 1つのボクセルよって定義された領域の圧力と等しいとき、補足境界条件は満た されることを特徴とする請求項18記載の発明。 20. 集められた要素の結合した質量が表面相互作用要素の結合した質量 と等しいとき、補足境界条件は満たされることを特徴とする請求項19記載の発 明。 21. 集められた要素の結合したエネルギーが表面相互作用要素の結合し たエネルギーと等しいとき、補足境界条件は満たされることを特徴とする請求項 20記載の発明。 22. 面は表面摩擦がない表面を表わし、そして、面の接線の方向にある 集められた要素の結合した運動量と面の接線の方向にある表面相互作用要素の結 合した運動量とが等しいとき、境界条件は満たされることを特徴とする請求項1 7記載の発明。 23. 面に垂直な集められた要素の結合した運動量と面に垂直な表面相互 作用要素の結合した運動量との間の差が、ボクセルの第1のセットの少なくとも 1つのボクセルよって定義された領域の圧力と等しいとき、境界条件は満たされ ることを特徴とする請求項17記載の発明。 24. 集められた要素の結合した質量が表面相互作用要素の結合した質量 と等しいとき、境界条件は満たされ ることを特徴とする請求項17記載の発明。 25. 集められた要素の結合したエネルギーが表面相互作用要素の結合し たエネルギーと等しいとき、境界条件は満たされることを特徴とする請求項17 記載の発明。 26. 状態べクトルは、特定の運動量状態を表わす複数の整数を有し、そ して、表面相互作用演算は実数の値代表者を使用して、実行されることを特徴と する請求項10記載の発明。 27. 表面相互作用要素が少なくとも1つのボクセルの第2のセットへ分 散されたとき、状態ベクトルの整数値がオーバフロー又はアンダーフローしない ことを保証することを、さらに有することを特徴とする請求項26記載の発明。 28. 表面相互作用要素が少なくとも1つのボクセルの第2のセットへ分 散されたとき、状態ベクトルの整数値がオーバフロー又はアンダーフローしない ことを保証しつつ、ボクセルの質量、運動量及びエネルギーを保存することを、 さらに有することを特徴とする請求項27記載の発明。 29. ボクセルの大きさ及び配向と独立に配向され大きさが適応させられ る2つの表面の表現は、メモリに格納されることを特徴とする請求項1又は2記 載の発明。 30. 異なる大きさを有している複数のボクセルのための状態ベクトルは メモリに格納され、そして、表面相 互作用演算は表面と異なる大きさを有している少なくとも2つのボクセルとの間 の相互作用を説明することを特徴とする請求項1又は2記載の発明。 31. コンピュータにて実行される方法であって、 (1) ボクセルにおける複数の可能な運動量状態の特定の運動量状態に対 応する複数のエントリを有する状態ベクトルを複数のボクセルためにメモリに格 納する行程と、 (2) 演算を、状態ベクトル上で実行する行程と、を含み、前記演算は、 異なる運動量状態の要素とボクセルに関する要素の移動との間の相互作用をモデ ル化し、少なくとも演算のうちのいくつかは浮動小数点数を使用して実行され、 そして、少なくとも演算のうちのいくつかは整数値を使用して実行されることを 特徴とする物理的プロセスをシミュレーションする方法。 32. 物理的プロセスをシミュレーションするコンピュータシステムであ って、 (1) ボクセルにおける複数の可能な運動量状態の特定の運動量状態に対 応する複数のエントリを有する状態ベクトルを複数のボクセルためにメモリに格 納する手段と、 (2) 演算を、状態ベクトル上で実行する手段と、を含み、前記演算は、 異なる運動量状態の要素とボクセルに関する要素の移動との間の相互作用をモデ ル化し、少なくとも演算のうちのいくつかは浮動小数点数を使用して実行され、 そして、少なくとも演算のうちのいくつかは整数 値を使用して実行されることを特徴とするコンピュータシステム。 33. 状態ベクトルは、特定の運動量状態における単位体積当たりの要素 の密度を表わす複数の整数を有することを特徴とする請求項31又は32記載の 発明。 34. ボクセルの大きさ及び配向とは独立に大きさが適応させられ配向さ れた少なくとも1つの表面の表現をメモリに格納することをさらに有し、浮動小 数点数を使用して実行される演算は少なくとも1つの表面との要素の相互作用を モデル化する演算を有することを特徴とする請求項31又は32記載の発明。 35. 浮動小数点数から整数値までの推移は、物理的プロセスの物理的特 性を保存する方法で生成されることを特徴とする請求項31又は32記載の発明 。
JP52128997A 1995-12-01 1996-11-15 物理的プロセスをシミュレーションするコンピュータシステム Expired - Lifetime JP3932142B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/566,032 US5848260A (en) 1993-12-10 1995-12-01 Computer system for simulating physical processes
US08/566,032 1995-12-01
PCT/US1996/018452 WO1997021195A1 (en) 1995-12-01 1996-11-15 Computer system for simulating physical processes

Publications (2)

Publication Number Publication Date
JP2000502200A true JP2000502200A (ja) 2000-02-22
JP3932142B2 JP3932142B2 (ja) 2007-06-20

Family

ID=24261178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52128997A Expired - Lifetime JP3932142B2 (ja) 1995-12-01 1996-11-15 物理的プロセスをシミュレーションするコンピュータシステム

Country Status (4)

Country Link
US (1) US5848260A (ja)
EP (1) EP0870283A1 (ja)
JP (1) JP3932142B2 (ja)
WO (1) WO1997021195A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007257656A (ja) * 2000-12-12 2007-10-04 Fujitsu Ltd 連成解析方法及びそのプログラム

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5910902A (en) * 1997-03-28 1999-06-08 Exa Corporation Computer simulation of physical processes
US6089744A (en) * 1997-12-29 2000-07-18 Exa Corporation Computer simulation of physical processes
US5953239A (en) * 1997-12-29 1999-09-14 Exa Corporation Computer simulation of physical processes
US6205533B1 (en) * 1999-08-12 2001-03-20 Norman H. Margolus Mechanism for efficient data access and communication in parallel computations on an emulated spatial lattice
US6556961B1 (en) 1999-12-30 2003-04-29 Innovative Computing Group, Inc. Method and apparatus for process modeling using a dynamical system
US6788593B2 (en) * 2001-02-28 2004-09-07 Rambus, Inc. Asynchronous, high-bandwidth memory component using calibrated timing elements
EP1260920A1 (en) * 2001-05-23 2002-11-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for computing an interface of a fluid in a space
NL1019045C2 (nl) * 2001-09-26 2003-04-18 Tno Werkwijze en systeem voor het vervaardigen van een 3-dimensionaal voorwerp.
DE102005024822A1 (de) * 2005-05-27 2006-11-30 Müller Weingarten AG Verfahren zur Optimierung der Transportbewegung von Werkstücken in Transferpressen
US20080004838A1 (en) * 2005-12-08 2008-01-03 The Johns Hopkins University Air-Speed Wind Tunnel Data Analysis Suite
US7948485B1 (en) * 2005-12-12 2011-05-24 Sony Computer Entertainment Inc. Real-time computer simulation of water surfaces
US7558714B2 (en) * 2006-08-10 2009-07-07 Exa Corporation Computer simulation of physical processes
JP5371221B2 (ja) * 2007-09-11 2013-12-18 プロメテック・ソフトウェア株式会社 粒子法シミュレーションのためのスライスデータ構造、およびスライスデータ構造を利用した粒子法シミュレーションのgpuへの実装方法
US9984489B2 (en) * 2011-07-27 2018-05-29 Dreamworks Animation L.L.C. Fluid dynamics framework for animated special effects
AU2014293027A1 (en) * 2013-07-24 2016-02-18 Exa Corporation Lattice boltzmann collision operators enforcing isotropy and galilean invariance
US10762252B2 (en) 2013-07-31 2020-09-01 Dassault Systemes Simulia Corp. Temperature coupling algorithm for hybrid thermal lattice boltzmann method
CN110573842B (zh) 2017-01-26 2021-05-11 达索系统西姆利亚公司 基于流体占据时间的多相流可视化图
US11714040B2 (en) 2018-01-10 2023-08-01 Dassault Systemes Simulia Corp. Determining fluid flow characteristics of porous mediums
US11530598B2 (en) 2018-08-21 2022-12-20 Dassault Systemes Simulia Corp. Determination of oil removed by gas via miscible displacement in reservoir rock
CN111428423A (zh) * 2019-01-10 2020-07-17 达索系统西姆利亚公司 实现总能量守恒的晶格玻尔兹曼求解器
US11379636B2 (en) * 2019-01-10 2022-07-05 Dassault Systemes Simulia Corp. Lattice Boltzmann solver enforcing total energy conservation
US11613984B2 (en) 2019-09-04 2023-03-28 Dassault Systemes Simulia Corp. Determination of hydrocarbon mobilization potential for enhanced oil recovery
US11847391B2 (en) 2020-06-29 2023-12-19 Dassault Systemes Simulia Corp. Computer system for simulating physical processes using surface algorithm
US11907625B2 (en) 2020-12-29 2024-02-20 Dassault Systemes Americas Corp. Computer simulation of multi-phase and multi-component fluid flows including physics of under-resolved porous structures

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4498134A (en) * 1982-01-26 1985-02-05 Hughes Aircraft Company Segregator functional plane for use in a modular array processor
US4507726A (en) * 1982-01-26 1985-03-26 Hughes Aircraft Company Array processor architecture utilizing modular elemental processors
US4729098A (en) * 1985-06-05 1988-03-01 General Electric Company System and method employing nonlinear interpolation for the display of surface structures contained within the interior region of a solid body
US4831519A (en) * 1985-12-12 1989-05-16 Itt Corporation Cellular array processor with variable nesting depth vector control by selective enabling of left and right neighboring processor cells
US4809202A (en) * 1985-12-27 1989-02-28 Thinking Machines Corporation Method and apparatus for simulating systems described by partial differential equations
JPH0648486B2 (ja) * 1986-10-08 1994-06-22 日本電気株式会社 ベクトルデ−タ処理装置
US4933895A (en) * 1987-07-10 1990-06-12 Hughes Aircraft Company Cellular array having data dependent processing capabilities
JP2635617B2 (ja) * 1987-09-29 1997-07-30 株式会社東芝 半導体素子特性評価用の直交格子点の発生方法
US4989166A (en) * 1988-07-12 1991-01-29 Hitachi, Ltd. Method for synthesizing analysis model and flow analysis system
US5038302A (en) * 1988-07-26 1991-08-06 The Research Foundation Of State University Of New York Method of converting continuous three-dimensional geometrical representations into discrete three-dimensional voxel-based representations within a three-dimensional voxel-based system
US5159690A (en) * 1988-09-30 1992-10-27 Massachusetts Institute Of Technology Multidimensional cellular data array processing system which separately permutes stored data elements and applies transformation rules to permuted elements
JPH03276071A (ja) * 1990-03-27 1991-12-06 Yoshiomi Kondo 流体及び電磁流体の物理量予測方法
US5377129A (en) * 1990-07-12 1994-12-27 Massachusetts Institute Of Technology Particle interaction processing system
ATE128567T1 (de) * 1990-07-12 1995-10-15 Massachusetts Inst Technology Paralleler prozessor für flüssigkeitsdynamik.
IE69192B1 (en) * 1990-12-21 1996-08-21 Hitachi Europ Ltd A method of generating partial differential equations for simulation a simulation method and a method of generating simulation programs
US5442733A (en) * 1992-03-20 1995-08-15 The Research Foundation Of State University Of New York Method and apparatus for generating realistic images using a discrete representation
JP3426647B2 (ja) * 1992-06-24 2003-07-14 日本電信電話株式会社 3次元トポグラフィシミュレーションのための一般化されたソリッドモデリング
US5361385A (en) * 1992-08-26 1994-11-01 Reuven Bakalash Parallel computing system for volumetric modeling, data processing and visualization
US5424963A (en) * 1992-11-25 1995-06-13 Photon Research Associates, Inc. Molecular dynamics simulation method and apparatus
US5606517A (en) * 1994-06-08 1997-02-25 Exa Corporation Viscosity reduction in physical process simulation
US5548694A (en) * 1995-01-31 1996-08-20 Mitsubishi Electric Information Technology Center America, Inc. Collision avoidance system for voxel-based object representation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007257656A (ja) * 2000-12-12 2007-10-04 Fujitsu Ltd 連成解析方法及びそのプログラム
JP4615543B2 (ja) * 2000-12-12 2011-01-19 富士通株式会社 連成解析方法及びそのプログラム

Also Published As

Publication number Publication date
JP3932142B2 (ja) 2007-06-20
WO1997021195A1 (en) 1997-06-12
US5848260A (en) 1998-12-08
EP0870283A4 (ja) 1998-10-14
EP0870283A1 (en) 1998-10-14

Similar Documents

Publication Publication Date Title
JP2000502200A (ja) 物理的プロセスをシミュレーションするコンピュータシステム
US8346522B2 (en) Computer simulation of physical processes
US10762252B2 (en) Temperature coupling algorithm for hybrid thermal lattice boltzmann method
US7647214B2 (en) Method for simulating stable but non-dissipative water
US5606517A (en) Viscosity reduction in physical process simulation
US8190412B2 (en) Method of simulating deformable object using geometrically motivated model
US11847391B2 (en) Computer system for simulating physical processes using surface algorithm
US9984489B2 (en) Fluid dynamics framework for animated special effects
CN110837685A (zh) 提高稳定显式扩散的性能和准确性
US11645433B2 (en) Computer simulation of physical fluids on irregular spatial grids stabilized for explicit numerical diffusion problems
US11763048B2 (en) Computer simulation of physical fluids on a mesh in an arbitrary coordinate system
US11379636B2 (en) Lattice Boltzmann solver enforcing total energy conservation
Wyatt et al. Quantum trajectory analysis of multimode subsystem-bath dynamics
US5640335A (en) Collision operators in physical process simulation
US5910902A (en) Computer simulation of physical processes
CN113673177B (zh) 网格空隙空间识别和自动种子设定检测
Somers et al. Obtaining numerical results from the 3D FCHC-lattice gas
Franc Methods for polygonal mesh simplification: technical report no. DCSE/TR-2002-01
CN112069742A (zh) 使显式数值方案稳定化
Venetillo et al. GPU-based particle simulation with inter-collisions
KR20150013880A (ko) 엘리먼트들의 세트를 시뮬레이팅하기 위한 방법 및 연관된 컴퓨터 프로그램

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060606

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060831

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061016

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070309

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100323

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110323

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120323

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130323

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140323

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term