(57)【特許請求の範囲】
【請求項１】
コンピュータにて実行される方法であって、
（１）  ボクセルにおける複数の可能な運動量状態の特定の運動量状態に対応する複数のエントリを有する状態ベクトルを複数のボクセルためにメモリに格納する行程と、
（２）  ボクセルの大きさ及び配向とは独立に大きさが適応させられ配向される少なくとも１つの表面の表現をメモリに格納する行程と、
（３）  異なる運動量状態の要素間の相互作用をモデル化する相互作用演算を状態ベクトル上で実行する行程と、
（４）  表面近傍の少なくとも１つのボクセルでの表面と要素との間の相互作用をモデル化する表面相互作用演算を表面の表現上で実行する行程と、
（５）  状態ベクトル上で移動演算を実行し要素の移動を新ボクセルへ反射する行程と、を含むことを特徴とする物理的プロセスをシミュレーションする方法。
【請求項２】
物理的プロセスをシミュレーションするコンピュータシステムであって、
（１）  ボクセルにおける複数の可能な運動量状態の特定の運動量状態に対応する複数のエントリを有する状態ベクトルを複数のボクセルためにメモリに格納する手段と、
（２）  ボクセルの大きさ及び配向とは独立に大きさが適応させられ配向される少なくとも１つの表面の表現をメモリに格納する手段と、
（３）  異なる運動量状態の要素間の相互作用をモデル化する相互作用演算を状態ベクトル上で実行する手段と、
（４）  表面近傍の少なくとも１つのボクセルでの表面と要素との間の相互作用をモデル化する表面相互作用演算を表面の表現上で実行する手段と、
（５）  状態ベクトル上で移動演算を実行し要素の移動を新ボクセルへ反射する手段と、を含むことを特徴とするコンピュータシステム。
【請求項３】
状態ベクトルのエントリは、ボクセルの特定の運動量状態において単位体積当たりの要素の密度を表わすことを特徴とする請求項１記載の方法。
【請求項４】
状態ベクトルは、特定の運動量状態で単位体積当たりの要素の密度を表わし、可能な２つを越える値を有している複数の整数を有することを特徴とする請求項３記載の方法。
【請求項５】
相互作用演算は整数値を使用して実行され、表面相互作用演算は実数の値代表者を使用して実行されることを特徴とする請求項４記載の方法。
【請求項６】
表面相互作用演算は浮動小数点数を使用して、実行されることを特徴とする請求項５記載の方法。
【請求項７】
部分的ボクセルとして表面によって交差するボクセルを表わすことを、さらに有していることを特徴とする請求項１記載の方法。
【請求項８】
前記少なくとも１つの表面の表現は、ボクセルの大きさ及び配向とは独立に大きさが適応させられ配向され、組合せでは、少なくとも１つの表面を表わす複数の面を有し、さらに、表面相互作用演算は面の近くの少なくとも１つのボクセルでの面と要素との間の相互作用をモデル化することを特徴とする請求項１記載の方法。
【請求項９】
要素は流体の質点を表わし、また、面は流体がその上を流れる少なくとも１つの表面を表わすことを特徴とする請求項８記載の方法。
【請求項１０】
表面相互作用演算は、
面と相互に作用する少なくとも１つのボクセルの第１のセットから要素を集める行程と、
集められた要素と面との間の相互作用をモデル化して表面相互作用要素のセットを生成する行程と、
表面相互作用要素を、面と相互に作用する少なくとも１つの第２のボクセルのセットへ分散する行程と、からなることを特徴とする請求項８記載の方法。
【請求項１１】
ボクセルの第１のセットはボクセルの第２のセットと同一であることを特徴とする請求項１０記載の方法。
【請求項１２】
少なくとも１面の部分によって占められるボクセルのために、任意の面によって占められないボクセルの部分を表わす因子を、格納することを、さらに有していることを特徴とする請求項１０記載の方法。
【請求項１３】
ボクセルから集める場合、ボクセルのための因子が考慮されることを特徴とする請求項１２記載の方法。
【請求項１４】
ボクセルの第１のセットは、要素が集められている運動量状態の速度を表わすベクトルを備えた面に関する垂直方向を表わすベクトルのベクトル内積によって定義された領域の少なくとも１つの部分を重複する少なくとも１つのボクセルを含んでいることを特徴とする請求項１０記載の方法。
【請求項１５】
領域の体積は、面の表面面積を掛けたベクトル内積と等しく、ボクセルの第１のセットは、部分的に体積を重複するボクセルをすべて含んでいることを特徴とする請求項１４記載の方法。
【請求項１６】
他の少なくとも１つの面から要素を集めることを、さらに有していることを特徴とする請求項１０記載の方法。
【請求項１７】
集められた要素と面の間の相互作用は、表面相互作用要素のセットが少なくとも１つの境界条件を満たすように、モデル化されることを特徴とする請求項１０記載の方法。
【請求項１８】
面の接線の方向にある集められた要素の結合した運動量と面の接線の方向にある表面相互作用要素の結合した運動量との間の差が、面によって表わされる表面によって有されている表面摩擦の程度に関連づけられたとき、境界条件は満たされることを特徴とする請求項１７記載の方法。
【請求項１９】
面に垂直な集められた要素の結合した運動量と面に垂直な表面相互作用要素の結合した運動量との間の差が、ボクセルの第１のセットの少なくとも１つのボクセルよって定義された領域の圧力と等しいとき、補足境界条件は満たされることを特徴とする請求項１８記載の方法。
【請求項２０】
集められた要素の結合した質量が表面相互作用要素の結合した質量と等しいとき、補足境界条件は満たされることを特徴とする請求項１９記載の方法。
【請求項２１】
集められた要素の結合したエネルギーが表面相互作用要素の結合したエネルギーと等しいとき、補足境界条件は満たされることを特徴とする請求項２０記載の方法。
【請求項２２】
面は表面摩擦がない表面を表わし、そして、面の接線の方向にある集められた要素の結合した運動量と面の接線の方向にある表面相互作用要素の結合した運動量とが等しいとき、境界条件は満たされることを特徴とする請求項１７記載の方法。
【請求項２３】
面に垂直な集められた要素の結合した運動量と面に垂直な表面相互作用要素の結合した運動量との間の差が、ボクセルの第１のセットの少なくとも１つのボクセルよって定義された領域の圧力と等しいとき、境界条件は満たされることを特徴とする請求項１７記載の方法。
【請求項２４】
集められた要素の結合した質量が表面相互作用要素の結合した質量と等しいとき、境界条件は満たされることを特徴とする請求項１７記載の方法。
【請求項２５】
集められた要素の結合したエネルギーが表面相互作用要素の結合したエネルギーと等しいとき、境界条件は満たされることを特徴とする請求項１７記載の方法。
【請求項２６】
状態ベクトルは、特定の運動量状態を表わす複数の整数を有し、そして、表面相互作用演算は実数の値代表者を使用して、実行されることを特徴とする請求項１０記載の方法。
【請求項２７】
表面相互作用要素が少なくとも１つのボクセルの第２のセットへ分散されたとき、状態ベクトルの整数値がオーバフロー又はアンダーフローしないことを保証することを、さらに有することを特徴とする請求項２６記載の方法。
【請求項２８】
表面相互作用要素が少なくとも１つのボクセルの第２のセットへ分散されたとき、状態ベクトルの整数値がオーバフロー又はアンダーフローしないことを保証しつつ、ボクセルの質量、運動量及びエネルギーを保存することを、さらに有することを特徴とする請求項２７記載の方法。
【請求項２９】
ボクセルの大きさ及び配向と独立に配向され大きさが適応させられる２つの表面の表現は、メモリに格納されることを特徴とする請求項１記載の方法。
【請求項３０】
異なる大きさを有している複数のボクセルのための状態ベクトルはメモリに格納され、そして、表面相互作用演算は表面と異なる大きさを有している少なくとも２つのボクセルとの間の相互作用を説明することを特徴とする請求項１記載の方法。
【請求項３１】
コンピュータにて実行される方法であって、
（１）  ボクセルにおける複数の可能な運動量状態の特定の運動量状態に対応する複数のエントリを有する状態ベクトルを複数のボクセルためにメモリに格納する行程と、
（２）  演算を、状態ベクトル上で実行する行程と、
を含み、前記演算は、異なる運動量状態の要素とボクセルに関する要素の移動との間の相互作用をモデル化し、少なくとも演算のうちのいくつかは浮動小数点数を使用して実行され、そして、少なくとも演算のうちのいくつかは整数値を使用して実行されることを特徴とする物理的プロセスをシミュレーションする方法。
【請求項３２】
物理的プロセスをシミュレーションするコンピュータシステムであって、
（１）  ボクセルにおける複数の可能な運動量状態の特定の運動量状態に対応する複数のエントリを有する状態ベクトルを複数のボクセルためにメモリに格納する手段と、
（２）  演算を、状態ベクトル上で実行する手段と、
を含み、前記演算は、異なる運動量状態の要素とボクセルに関する要素の移動との間の相互作用をモデル化し、少なくとも演算のうちのいくつかは浮動小数点数を使用して実行され、そして、少なくとも演算のうちのいくつかは整数値を使用して実行されることを特徴とするコンピュータシステム。
【請求項３３】
状態ベクトルは、特定の運動量状態における単位体積当たりの要素の密度を表わす複数の整数を有することを特徴とする請求項３１記載の方法。
【請求項３４】
ボクセルの大きさ及び配向とは独立に大きさが適応させられ配向された少なくとも１つの表面の表現をメモリに格納することをさらに有し、浮動小数点数を使用して実行される演算は少なくとも１つの表面との要素の相互作用をモデル化する演算を有することを特徴とする請求項３１記載の方法。
【請求項３５】
浮動小数点数から整数値までの推移は、物理的プロセスの物理的特性を保存する方法で生成されることを特徴とする請求項３１記載の方法。
【請求項３６】
状態ベクトルのエントリは、ボクセルの特定の運動量状態において単位体積当たりの要素の密度を表わすことを特徴とする請求項２記載のコンピュータシステム。
【請求項３７】
状態ベクトルは、特定の運動量状態で単位体積当たりの要素の密度を表わし、可能な２つを越える値を有している複数の整数を有することを特徴とする請求項３６記載のコンピュータシステム。
【請求項３８】
相互作用演算は整数値を使用して実行され、表面相互作用演算は実数の値代表者を使用して実行されることを特徴とする請求項３７記載のコンピュータシステム。
【請求項３９】
表面相互作用演算は浮動小数点数を使用して、実行されることを特徴とする請求項３８記載のコンピュータシステム。
【請求項４０】
部分的ボクセルとして表面によって交差するボクセルを表わすことを、さらに有していることを特徴とする請求項２記載のコンピュータシステム。
【請求項４１】
前記少なくとも１つの表面の表現は、ボクセルの大きさ及び配向とは独立に大きさが適応させられ配向され、組合せでは、少なくとも１つの表面を表わす複数の面を有し、さらに、表面相互作用演算は面の近くの少なくとも１つのボクセルでの面と要素との間の相互作用をモデル化することを特徴とする請求項２記載のコンピュータシステム。
【請求項４２】
要素は流体の質点を表わし、また、面は流体がその上を流れる少なくとも１つの表面を表わすことを特徴とする請求項４１記載のコンピュータシステム。
【請求項４３】
表面相互作用演算は、
面と相互に作用する少なくとも１つのボクセルの第１のセットから要素を集める行程と、
集められた要素と面との間の相互作用をモデル化して表面相互作用要素のセットを生成する行程と、
表面相互作用要素を、面と相互に作用する少なくとも１つの第２のボクセルのセットへ分散する行程と、からなることを特徴とする請求項４１記載のコンピュータシステム。
【請求項４４】
ボクセルの第１のセットはボクセルの第２のセットと同一であることを特徴とする請求項４３記載のコンピュータシステム。
【請求項４５】
少なくとも１面の部分によって占められるボクセルのために、任意の面によって占められないボクセルの部分を表わす因子を、格納することを、さらに有していることを特徴とする請求項４３記載のコンピュータシステム。
【請求項４６】
ボクセルから集める場合、ボクセルのための因子が考慮されることを特徴とする請求項４５記載のコンピュータシステム。
【請求項４７】
ボクセルの第１のセットは、要素が集められている運動量状態の速度を表わすベクトルを備えた面に関する垂直方向を表わすベクトルのベクトル内積によって定義された領域の少なくとも１つの部分を重複する少なくとも１つのボクセルを含んでいることを特徴とする請求項４３記載のコンピュータシステム。
【請求項４８】
領域の体積は、面の表面面積を掛けたベクトル内積と等しく、ボクセルの第１のセットは、部分的に体積を重複するボクセルをすべて含んでいることを特徴とする請求項４７記載のコンピュータシステム。
【請求項４９】
他の少なくとも１つの面から要素を集めることを、さらに有していることを特徴とする請求項４３記載のコンピュータシステム。
【請求項５０】
集められた要素と面の間の相互作用は、表面相互作用要素のセットが少なくとも１つの境界条件を満たすように、モデル化されることを特徴とする請求項４３記載のコンピュータシステム。
【請求項５１】
面の接線の方向にある集められた要素の結合した運動量と面の接線の方向にある表面相互作用要素の結合した運動量との間の差が、面によって表わされる表面によって有されている表面摩擦の程度に関連づけられたとき、境界条件は満たされることを特徴とする請求項５０記載のコンピュータシステム。
【請求項５２】
面に垂直な集められた要素の結合した運動量と面に垂直な表面相互作用要素の結合した運動量との間の差が、ボクセルの第１のセットの少なくとも１つのボクセルよって定義された領域の圧力と等しいとき、補足境界条件は満たされることを特徴とする請求項５１記載のコンピュータシステム。
【請求項５３】
集められた要素の結合した質量が表面相互作用要素の結合した質量と等しいとき、補足境界条件は満たされることを特徴とする請求項５２記載のコンピュータシステム。
【請求項５４】
集められた要素の結合したエネルギーが表面相互作用要素の結合したエネルギーと等しいとき、補足境界条件は満たされることを特徴とする請求項５３記載のコンピュータシステム。
【請求項５５】
面は表面摩擦がない表面を表わし、そして、面の接線の方向にある集められた要素の結合した運動量と面の接線の方向にある表面相互作用要素の結合した運動量とが等しいとき、境界条件は満たされることを特徴とする請求項５０記載のコンピュータシステム。
【請求項５６】
面に垂直な集められた要素の結合した運動量と面に垂直な表面相互作用要素の結合した運動量との間の差が、ボクセルの第１のセットの少なくとも１つのボクセルよって定義された領域の圧力と等しいとき、境界条件は満たされることを特徴とする請求項５０記載のコンピュータシステム。
【請求項５７】
集められた要素の結合した質量が表面相互作用要素の結合した質量と等しいとき、境界条件は満たされることを特徴とする請求項５０記載のコンピュータシステム。
【請求項５８】
集められた要素の結合したエネルギーが表面相互作用要素の結合したエネルギーと等しいとき、境界条件は満たされることを特徴とする請求項５０記載のコンピュータシステム。
【請求項５９】
状態ベクトルは、特定の運動量状態を表わす複数の整数を有し、そして、表面相互作用演算は実数の値代表者を使用して、実行されることを特徴とする請求項４３記載のコンピュータシステム。
【請求項６０】
表面相互作用要素が少なくとも１つのボクセルの第２のセットへ分散されたとき、状態ベクトルの整数値がオーバフロー又はアンダーフローしないことを保証することを、さらに有することを特徴とする請求項５９記載のコンピュータシステム。
【請求項６１】
表面相互作用要素が少なくとも１つのボクセルの第２のセットへ分散されたとき、状態ベクトルの整数値がオーバフロー又はアンダーフローしないことを保証しつつ、ボクセルの質量、運動量及びエネルギーを保存することを、さらに有することを特徴とする請求項６０記載のコンピュータシステム。
【請求項６２】
ボクセルの大きさ及び配向と独立に配向され大きさが適応させられる２つの表面の表現は、メモリに格納されることを特徴とする請求項２記載のコンピュータシステム。
【請求項６３】
異なる大きさを有している複数のボクセルのための状態ベクトルはメモリに格納され、そして、表面相互作用演算は表面と異なる大きさを有している少なくとも２つのボクセルとの間の相互作用を説明することを特徴とする請求項２記載のコンピュータシステム。
【請求項６４】
状態ベクトルは、特定の運動量状態における単位体積当たりの要素の密度を表わす複数の整数を有することを特徴とする請求項３２記載のコンピュータシステム。
【請求項６５】
ボクセルの大きさ及び配向とは独立に大きさが適応させられ配向された少なくとも１つの表面の表現をメモリに格納することをさらに有し、浮動小数点数を使用して実行される演算は少なくとも１つの表面との要素の相互作用をモデル化する演算を有することを特徴とする請求項３２記載のコンピュータシステム。
【請求項６６】
浮動小数点数から整数値までの推移は、物理的プロセスの物理的特性を保存する方法で生成されることを特徴とする請求項３２記載のコンピュータシステム。
【発明の詳細な説明】
発明の背景
本発明は物理的プロセス（例えば流体の流れ）をシミュレーションするコンピュータシステムに関する。
高いレイノルズ数の流れのシミュレーションのための従来手法はナビエ・ストークス微分方程式の離散解を生成することにあり、その中で巨視的物理量（例えば密度、温度、流れの速度）を表わす変数について複数の離散空間位置の各々で高精度の浮動小数点算術演算は実行される。最高速で最も強力かつ有効なコンピュータが使用されているが、非常に制限のある結果及び不正確な結果しか達成されていない。運用時間を管理自在に維持するために、非常に粗いグリッド分解が使用され、この粗い分解でさえも、浮動小数点演算を連続して行う時に固有の累積されたラウンドオフエラー丸めエラーにより、解に許容しがたい誤差が存在する。
微分方程式の解法を、格子ガス（すなわち、セルラ）オートマトンとして周知のものに置換する試みが長期間に亘って行われたきた。この格子ガスオートマトンにおいて、ナビエ・ストークスの方程式を解くことによって提供される巨視的レベルのシミュレーションは、格子のサイト間を移動する質点に対する演算を行う微視的レベルのモデルによって置換される。目標は、長い間、正しい巨視的な結果（すなわち、ナビエ・ストークスの方程式によって指定されるような、密度や温度などの変化）を生成する質点の相互作用と運動との微視的レベルのモデルを見つけることであった。
従来の格子ガスシミュレーションは、各格子ガスサイトで限られた数の質点を仮定し、質点はビットのショートベクトルで表わされる。各ビットは、特定の方向に移動する質点を表わす。例えば、ベクトルの１ビットは、特定の方向に沿って移動する質点の有無（１にセットされているときは有り、０にセットされているときは無し）を表わす。かかるベクトルは、６ビットからなり、例えば、値（１１００００）は、２つの質点がＸ軸に沿って互いに反対方向に移動し、Ｙ軸及びＺ軸に沿って移動する質点が存在しないことを表わしている。衝突規則は、各サイトの質点間の衝突の様子を支配する（例えば、（１１００００）ベクトルは、（００１１００）ベクトルになることがあり、この時、Ｘ軸に沿って移動する２つの質点の間の衝突がＹ軸に沿って離れるように移動する２つの質点を生成したことを示す）。ビットの並べ替えを実行する検索表に状態ベクトルを供給する（例えば、（１１００００）を（００１１００）に変換する）ことによって、この規則は、実行される。次に、質点は、隣接するサイトに移動される（例えば、Ｙ軸に沿って移動する２つの質点は、Ｙ軸に沿って右左の隣接するサイトに移動される）。
モルビグ（Molvig）等は、改良された格子ガス法（lattice gas technique）を教示する。この格子ガス法において、他の者の間で、多数のビットが各格子サイトで状態ベクトルに加算されて（例えば、亜音速流に対しては５４ビット）、質点エネルギと移動方向とに変化を与え、完全状態ベクトル（full state vector）の部分集合を含む衝突規則が使用される。モルビグ等のPCT/US91/04930号と、モルビグ等の「３Ｄ格子ガス流体の不連続物質の除去」不連続運動理論と格子ガス力学と流体力学の基礎とのワークショップの予稿集、ワールド科学出版株式会社、シンガポール（1989年）、モルビグ等の「実在流体力学の複数種類の格子ガスオートマトン」物理のスプリンジャ予稿集、第４６巻、複合物理システムのセルラーオートマトン及びモデル化、スプリンジャ・バーラグ（Springer-Verlag）ベルリン、ハイデルベルグ（1990年）（全て引例として取り込まれている）。モルビグ等によって教示されたこれらの改良は、最初の実用的な格子ガスコンピュータシステムを作成した。モデル化された流体流れで初期の格子ガスモデルを不確実な物にした不連続人工物は、除去された。
チェン（Chen）等は、1993年１２月１０日に出願された米国特許出願第08/165,293号「物理的プロセスをシュミレートするコンピュータシステム」において、シミュレーション技術を教示し改良した（なお、この特許も引用として本発明に取りいれられている）。各格子サイトすなわちボクセル（voxel）（これらの用語は本書を通して用いられる）において、任意の運動量状態に単一の質点（例えば、特定のエネルギを有して特定の方向に移動する単一の質点）がせいぜい存在する格子ガスモデルの代わりに、システムは、各ボクセルで、複数の質点が複数の状態の各々で存在する（例えば、０〜２５５個の質点が特定の方向に移動する）多質点法（multi-particle technique）を使用した。状態ベクトルは、１組のビットである代わりに１組の整数であり（例えば、１組の８ビットバイトは０から２５５までの範囲の整数を提供する）、これら整数の各々は、ある状態にある質点の数を表わしている。例えば、各運動量状態で各方向に移動する単一の質点に限定する代わりに、システムは、各運動量状態で各方向に移動する複数の質点をモデル化する柔軟性を有する。
チェン等の整数状態ベクトルの使用は、物理的プロセスの巨視的なモデル化における柔軟性を増大せしめた。なぜならば、新しい整数状態ベクトルに作用する衝突規則においてより多くの変化が可能になったからである。例えば、所定数の質点と衝突して散乱せしめる一方で他の質点を衝突の無い状態で通過せしめる規則が成立された。モルビグ等の刊行物において改良が教示された後でも、整数状態ベクトルが、単一の質点格子ガス技術に未だ残る多数の問題にも解を提供することが見込まれている。例えば、多質点法は、高レイノルズ数の流体の流れの特徴であるいわゆるマクスウェル・ボルツマン統計を得る方法を提供する。初期のモルビグ等のシステムは、いわゆるフェルミ・ディラック統計を得て、このフェルミ・ディラック統計は、格子サイトがまばらに存在すれば、マクスウェル・ボルツマン統計に近似する。チェン等のシステムは、まばらに存在する格子を使用する必要性を回避し、故に、これに関係する大なる演算の不利益を回避した。
チェン等のシステムは、新しい「スリップ」法を使用して流体質点と固体物質との間の相互作用をシミュレーションする方法も提供する。この「スリップ」法は、固体物質の周囲の境界層の外周面に対してのみシミュレーションを拡張するが、境界面を抜けて固体物質の表面までには拡張しない。境界層の外周面では、衝突規則は、質点に接線方向の運動量を残すことを許容する表面と質点との間の相互作用を支配する。従来の「バウンスバック」法によって生じたように質点が到達した反対の接戦方向に表面から戻ってくる質点の代わりに、質点は、表面から反射されて、到達した同一の接線方向に継続することが許容される。
接線運動量を保存するために、チェン等のシステムは、固体表面の垂直に関して質点を鏡面反射させた。衝突する質点は、反対の表面だが垂直に関してほぼ等しい角度で去った。チェン等の多質点モデル（この中では、１つを越える質点は格子内点で同じ状態を持つことを許された）は、かかるスリップ衝突をモデル化する単純で効率的な方法を提供した。
チェン等は「スリップ」及び「バウンスバック」の衝突技術の両方の組合せを採用して、純粋な「バウンスバック」の非常に高い表面摩擦から「スリップ」によって提供される非常に低い表面摩擦までの表面摩擦範囲を備えた表面をシミュレーションした。質点の部分を変えることは「バウンスバック」規則で扱われ、そして残りは「スリップ」規則で扱われた。
チェン等の多質点モデルは、外向移動性の質点の平均の運動量が真の鏡面反射を緊密に近似する方向にあったことを、多数の外向移動性の状態の加重平均の使用が保証可能にすることによって、格子に関しての固体境界の任意の角度配向を包含した。例えば、３〜６の異なる質点状態（すなわち異なる方向及びエネルギー）を使用することができることがあり、各々は十分な外向移動性の質点で存在し、正味の外向移動性の運動量は表面と衝突する内向移動性の質点のグループの鏡面反射とほぼ等しかった。
チェン等は、エネルギー、質量及び固体境界に垂直な運動量を保存する技術について説明した。固体境界に垂直な運動量は、全外向移動性の垂直運動量と全内向移動性の垂直運動量を比較し、垂直の余剰又は不足量（すなわち、シミュレーションへ人為項を導入しない方法で構築されなければならない垂直運動量の量）を記録した「プッシュ／プル」技術（“pushing/pulling”technique）の使用によって保存された。その後、チェン等は、垂直余剰をゼロへの追い込むプッシュ／プル規則のセットを使用した。質点は、垂直運動量だけが影響されるように、あるアウト状態から他のアウト状態に移動された。
エネルギーの変化は、エネルギー余剰（又は不足量）の跡を追うためにエネルギーカウンタの合計及び余剰をゼロへの追い込むプッシュ／プル規則を使用した「冷却」（又は加熱）技術よって説明された。冷却規則は４状態、２源状態及び２目的地状態を指定した。２源状態は、２目的地状態と同じ運動量を有したが、２目的地状態のそれより高い結合したエネルギー合計を有していた。源状態の両方から目的地状態の両方へ質点を移動させることは、質量と運動量を保存する間にエネルギーを減少させた。
チェン等は、１つ以上の衝突規則の結果として蓄積したすべての余分質量を削除する「ダイエット」規則（“dieting”rules）を使用した。ダイエット規則は２源状態及び１目的地状態を指定した。２源状態は、１目的地状態と同じ結合したエネルギー及び運動量を有した。エネルギー及び運動量が保存されつつ、源状態の各々から質点を取り除き、１目的地状態のに質点を入れると、質量が縮小された。
発明の概要
本発明は、物理的プロセスをシミュレーションするコンピュータシステム中の流動性質点及び固体境界の間の相互作用をシミュレーションするための改善された技術を特徴とする。この改善技術では、境界表面が、ボクセル境界によって無制限であり、ボクセルの格子幾何学に比べて任意に適応され配向される面の集合として表わされる。改善技術は、格子の精度より著しく大きな精度で、連続的に変わる表面をシミュレーションすることを可能にする。
格子ガスは、連続体を重ねる格子構造において分布された１セットの個別の点として伝統的に描写される。格子ガスの質点は格子サイト間に伝播している点質量である。全システムは空間及び時間の両方で離散的であり、また、物理的意味は非整数空間及び時間的価値に割り当てられない。格子ガスのこのモデルは、構想を描き手段を提供することの単純化に効力を有しているが、連続的実物理学系として容易に解釈されない。
格子ガスの他の物理的描写は、質点によって占められたボクセルの体積の全体にわたって格子ガスの各質点に関連した質量が一様に分布されると仮定することによって形成できる。質点の伝播は、質点の速度によって示された距離及び方向における該分布された質量の移動として見られる。質点が隣接した流動性ボクセルの間に移動している場合、格子ガスのこの分布質量の見方は、格子ガスの従来の見方と等価である。しかしながら、格子ガスの分布質量の見方には格子ガスの質点が格子の構造に関して任意に配向される表面と相互に作用することを許容するという相当な長所がある。
一局面において、一般に、本発明は多ボクセルための状態ベクトルと、ボクセルの大きさ及び配向と独立に配向され大きさを適応させられる少なくとも１つの表面の表現とをメモリに格納することを特徴とする。状態ベクトルは、ボクセル内での多数の可能な運動量状態のうちの特定の運動量状態での要素に対応する多数のエントリを含んでいる。異なる運動量状態の要素間の相互作用をモデル化する相互作用演算は状態ベクトル上で実行され、また、面の近くの１以上ボクセルでの表面と要素との間の相互作用をモデル化する表面相互作用演算は、表面の表現上で実行される。最終的に、新ボクセルへの要素の移動を反射する移動演算は状態ベクトル上で実行される。表面がボクセルの配向及び大きさに関して任意に配向され大きさを適応され得ることによって、本発明は、ボクセルの大きさに関して増加した分解能で、シミュレーションすべき表面との相互作用をシミュレーション可能にする。これは、次には、流体の流れのような物理的プロセスの高度に正確なシミュレーションを可能にする。
本発明の好ましい実施例は、次の特徴の１つ以上を含んでいる。例えば、状態ベクトルのエントリは、ボクセルの特定の運動量状態において単位体積当たりの要素の密度を表わす。上記されるように、状態ベクトルのこの分布質量の見方には相当な長所がある。
さらに、チェン等によって説明されたように、状態ベクトルのエントリは整数値を有し得、また、相互作用演算は整数値を使用して、実行され得る。しかしながら、表面の面の任意の配向及び大きさの適応化を許容するために、表面相互作用演算は浮動小数点値のような実数を表示する値を使用して、実行され得る。このハイブリッド手法は、実数によって提示された構造の柔軟性と同時に得られる整数演算によって現された処理効率を許容する。シミュレーションされた要素が表面の面からボクセルに移動されるとともに、実数計算、正確な質量保存の法則、運動量及びエネルギーによる誘導された不正確性によってシステム精度が害されないことを保証することが、強化される。表面（そして表面の基礎となる領域によって占められる）によって交差するボクセルは、部分的ボクセルとして見られる。
表面は、ボクセルの大きさ及び配向と独立に配向され大きさが適応されかつ、組合せでは、少なくとも１つの表面を表わす面の集合として表わされ得る。この場合、表面相互作用演算は、面の近くの少なくとも１つのボクセルの面及び要素の間の相互作用をモデル化する。要素は、流体の質点を表わすし、また、面は、流体がオーバーフローで流れる少なくとも１つの表面を表わすことができる。
各面については、表面相互作用演算は、面と相互に作用する１以上ボクセルに第１セットから要素を集めること、集められた要素と面との間の相互作用をモデル化して表面相互作用要素のセットを生成すること、そして、面と相互に作用する１以上ボクセルの第２セットへ表面相互作用要素を分散することを、含んでいる。典型的に、表面相互作用演算は、要素がボクセルからボクセルに移動される演算の構成要素として生じる。収集ステップ及び分散ステップは、面の任意の配向を説明する。これは、モデル化するステップがその配向に考慮せずに実行されることを可能にする。典型的に、ボクセルの第１のセットはボクセルの第２のセットと同一である。
ボクセルの部分が１つ以上の面又はそれの部分によって占められる場合、任意の面（又は、材料は面の基礎となっている）によって占められてないボクセルの部分を示す因子は、面のための状態ベクトルで保存される。この因子は、ボクセルが占められる程度に対するそれ以上の考慮なしに占められたボクセル上で演算が実行されることを可能にする。例えば、ボクセルから要素を集める場合、ボクセルのための因子は考慮され得る。
特定の運動量状態のために収集ステップで得られた要素は、運動量状態の速度の反対の方向において面から投影された領域を占める要素であると確認され得る。従って、ボクセルの第１のセットは、要素が集められた運動量状態の速度を表わすベクトルを備えた面に関する垂直方向を表わすベクトルのベクトル内積によって定義された領域の少なくとも１つの部分を重複する１以上ボクセルを含んでいる。特に、ボクセルの第１のセットは、面から投影されかつ面の表面面積を掛けたベクトル内積と等しい体積を有した領域に部分的に重複するボクセルをすべて含んでいる。
収集ステップで得られた要素は、さらに他の１つ以上の面から分散した要素を含んでいる。表面が内部角のような非凸面特徴を含んでいる場合、面から投影された領域は別の面によって部分的に占められ得る。この状況を説明するために、要素は、さらに適切に配向した面から集められる。
典型的に、表面相互作用要素のセットが１つ以上の境界条件を満たすように、集められた要素と面との間の相互作用はモデル化される。境界条件は接線運動量条件を含んでいる。面によって表わされる表面が表面摩擦を有していない場合、面の接線である集められた要素の結合した運動量が面の接線である表面相互作用要素の結合した運動量と等しい時に、接線運動量条件は満たされる。表面が摩擦を含んでいる場合、集められた要素の結合した接線運動量と表面相互作用要素の結合した接線運動量との間の差が、表面の表面摩擦の程度と関係がある時に、接線運動量条件は満たされる（例えば、表面が完全に滑らないすなわち非スリップであるとき、表面相互作用要素の結合した接線運動量はゼロである）。
境界条件は、面に垂直な集められた要素の結合した運動量と面に垂直な表面相互作用要素との間の差がボクセルの第１のセットの１以上ボクセルによって定義された領域の圧力と等しいときに満たされる垂直運動量条件を、さらに含んでいる。
境界条件は、さらに境界で質量とエネルギーの保存の法則を要求する。これらの条件は、集められた要素の結合質量が表面相互作用要素の結合質量と等しく、また、集められた要素の結合したエネルギーが表面相互作用要素の結合したエネルギーと等しいときに、満たされる。
状態ベクトルが特定の運動量状態を表示する整数を含みかつ、表面相互作用演算が実数を表示する値を使用して実行される場合、表面相互作用要素がボクセルに分散するときに、状態ベクトルの整数値がオーバーフロー（overflow）又はアンダーフロー（underflow）しないことを保証するために、注意しなければならない。この目的のために、オーバーフロー又はアンダーフローを回避するのに必要な場合は常に、ボクセルの大部分、運動量及びエネルギーを保存する手続きが使用される。
別の局面において、一般に、本発明は、多数のボクセルのための状態ベクトルをメモリに保存格納することによって物理的プロセスをシミュレーションし、状態ベクトルはボクセルにおける多数の可能な運動量状態の特定の運動量状態に対応するエントリを含んでいることを特徴とする。その後、演算は状態ベクトル上で実行され、異なる運動量状態の要素とボクセルに関する要素の移動との間の相互作用をモデル化し、浮動小数点数を使用して演算動作のうちの少なくともいくつかが実行され、また整数を使用して演算のうちのいくつかが実行される。浮動小数点と整数の値の間の推移は、質量とエネルギーのような物理的プロセスの物理的特性を保存するような方法で作られる。状態ベクトルのエントリは特定の運動量状態で単位体積当たりの要素の密度を表わす整数である。さらに、ボクセルの大きさ及び配向と独立に配向され適応させられる少なくとも１つの表面の表現はメモリに格納され得、浮動小数点数を使用して実行された演算は表面との要素の相互作用をモデル化する演算である。
米国特許出願第08/409,685号出願日1995年３月２３日、米国特許出願第08/255,409号出願日1994年６月８日、米国特許出願第08/030,573号出願日1993年３月１２日の現米国特許第5,377,129号、ＰＣＴ出願PCT/US91/04930号出願日1991年７月１２日、米国特許出願第07/812,881号出願日1991年１２月２０日、そして米国特許出願第07/555,754号出願日1990年７月１２日の開示はすべて引用として組込まれる。
本発明の他の特徴及び利点は、好ましい実施例の次の詳細な説明から、及びクレームから明白である。
【図面の簡単な説明】
図１は、物理的プロセスシミュレーションシステムによって行われる手続きの流れ図である。
図２は、マイクロブロックの斜視図である。
図３Ａ及び３Ｂは、図１のシステムによって使用される格子構造を示す線図である。
図４及び５は、可変分解技術を示す線図である。
図６は、表面の面によって影響を受けた領域を示す線図である。
図７は、ボクセルから表面へ質点の移動を示す線図である。
図８は、表面から表面へ質点の移動を示す線図である。
図９は、表面力学を実行する手続きの流れ図である。
図１０は、異なる大きさのボクセルの間の界面を示す線図である。
図１１は、可変分解条件下の面を備えた相互作用をシミュレーションするための手続きの流れ図である。
図１２は、物理的プロセスシミュレーションシステムの機能的単位のブロック図である。
図１３は、図１２のシステムのマイクロ力学単位のブロック図である。
図１４は、図１３のマイクロ力学単位の単一のボクセルデータ経路のブロック図である。
好ましい実施例の説明
図１を参照して、物理的プロセスシミュレーションシステムは、流体の流れのような物理的プロセスをシミュレーションする手続き１００にしたがって作動する。シミュレーションに先立って、シミュレーション空間はボクセルの集合としてモデル化される（ステップ１０２）。典型的に、シミュレーション空間はコンピュータ補助設計（ＣＡＤ）プログラムを使用して、生成される。例えば、風洞中で位置した自動車を描くためにＣＡＤプログラムを使用することができる。その後、ＣＡＤプログラムによって生成されたデータは、適切な分解能がある格子構造を加えて、かつシミュレーション空間内の対象物及び表面を考慮して処理される。
各格子サイトすなわちボクセルは、亜音速の単一種シミュレーションのために５４の状態を含んでいる。状態の数は遷音速の流れ又は多数種シミュレーションのために増加される。
格子の分解はシミュレーションされているシステムのレイノルズ数に基づいて、選択されている。レイノルズ数は、流れの粘性（ｖ）、流れ中の対象物の特有の長さ（Ｌ）、及び流れの特有の速度（ｕ）と関係がある。
Ｒｅ＝ｕＬ／ｖ
対象物の特有の長さは、対象物の大きい基準の特徴（large scale features）を表わす。例えば、自動車のまわりの流れがシミュレーションされた場合、自動車の高さは特有の長さであると考えられ得る。対象（例えば自動車のサイドミラー）の小さな領域のまわりの流れが、興味対象である場合、シミュレーションの分解は増加させられ得、又は、増加した分解のエリアは興味対象領域の近くで使用され得る。ボクセルの次元は格子増加の分解度につれて減少する。
この本書では、状態空間が、Ｎi（ｘ，ｔ）として表わされ、それの中で、Ｎiは、時間ｔで３次元のベクトルｘによって表示された格子サイトでの状態ｉ（すなわち状態ｉの質点の密度）で単位体積当たり要素すなわち質点の数を表わす。既知の時間増分について、質点の数は単にＮi（ｘ）という。格子サイトの全状態の状態表現の組合せは、Ｎ（ｘ）として表示される。
状態の数は、各エネルギー準位内の可能な速度ベクトルの数によって決定される。速度ベクトルは４次元の空間ｘ、ｙ、ｚ及びｗにおける整数線形速度から成る。４次元（ｗ）は３次元空間に戻して投影され、３次元格子中の実際の速度を示さない。亜音速流については、ｉが０〜５３の範囲で変動する。
各状態は特定のエネルギー準位で異なる速度ベクトルを表わす（すなわちエネルギー準位０又は１又は２）。各状態の速度は、４次元の各々においてその「速度」で以下のように示される。
ｃi＝（ｃx，ｃy，ｃz，ｃw）
エネルギー準位ゼロ状態は、任意の次元で移動していない止められた質点を表わし、すなわち、ｃstopped＝（０，０，０，０）である。エネルギー準位１状態は、４次元のうちの２つで＋／−１速度、及び他の２次元で０速度を有している質点を表わす。エネルギー準位２状態は、すべての４次元で＋／−１速度、又は４次元のうちの１つで＋／−２速度及び他の３次元で０速度のいずれかを有している質点を表わす。
３つのエネルギー準位の可能な順列の組み合わせのすべての生成は、可能な４９状態（１エネルギー０状態、２４エネルギー１状態、２４エネルギー２状態）の合計を与える。しかしながら、亜音速流状態空間は、４９の代わりに５４の状態カウントの合計を与えて、一つに対立するものとしての６つの停止状態の合計を維持する。
各ボクセル（すなわち各格子サイト）は状態ベクトルによって表わされる。状態ベクトルは、完全にボクセルの状態を定義しかつ５４の多ビットエントリを含み、その各々は整数値に対応する。５４のエントリは６休息状態、第１のエネルギー準位での２４方向ベクトル及び第２のエネルギー準位での２４方向ベクトルに相当する。６休息状態は休息「スロット」の十分な数があることを保証するために使用される。もちろん、４９のエントリ実施例中の休息状態に対応するエントリのビットの数を増加させることによってこの同じ結果を達成することができる。多ビットエントリの使用によって、システムは、ボクセル状態を定義するために単一ビットエントリを使用したシステム上の本質的に改善された性能を提示する。特に、フェルミ・ディラック統計を単に生成できる単一ビットシステムと異なり（それらは複数の適用に適さない）、システムは、達成された平衡状態ベクトルのためのマクスウェル・ボルツマン統計を生成できる。
効率を処理するために、ボクセルは、マイクロブロックと呼ばれる２ｘ２ｘ２体積でグループ化される。マイクロブロックはデータ構造に関連したオーバヘッドを最小限にすると同様にボクセルの並列処理を最適化するために組織される。マイクロブロック中のボクセルのための速記表記法はＮi（ｎ）として定義され、その中でｎはマイクロブロックとｎε｛０，１，２，‥‥７｝以内の格子サイトの相対的位置を表わす。マイクロブロックは図２で示される。
図３Ａ及び３Ｂにおいて、表面Ｓ（図３Ａ）は面の集合Ｆαとしてシミュレーション空間（図３Ｂ）で表わされる。
Ｓ＝｛Ｆα｝
式中、αは特定の面を数えあげる指標である。面は、ボクセル境界に制限されないが、面が比較的少数のボクセルに影響するように、典型的に、面に隣接しているボクセルの大きさのオーダー又はそれよりわずかに小さな大きさになされる。特性は表面力学を実行する目的で面に割り当てられる。特に、各面Ｆαは、単位垂直すなわち法線（ｎα）、表面面積（Ａα）、中心位置（ｘα）及び面の表面の動的特性について記述する面分布関数（Ｎi（α））を有している。
図４において、分解能の異なるレベルは処理効率を改善するためにシミュレーション空間の異なる領域で使用され得る。典型的に、対象物１５５のまわりの領域１５０は最多の興味対象であり、したがって最も高い解像度でシミュレーションされる。粘性の影響が対象からの距離とともに減少するので、分解能のレベル（すなわち、拡張したボクセル体積）を減少させることは対象物１５５からの距離を増加させることで離間される領域１６０，１６５をシミュレーションするために使用される。同様に、図５で示されるように、分解能の低いレベルは対象物１７５のそれほど著しくない特徴のまわりの領域１７０をシミュレーションするために使用され得る一方で、分解能の最も高いレベルは、対象物１７５の最上位の特徴（例えば主要な表面及び引きずる表面）のまわりの領域１８０をシミュレーションするために使用される。外にある領域１８５は分解能及び最大のボクセルの最低のレベルを使用して、シミュレーションされる。異なって配向されたボクセルの間の相互作用を処理する技術はモルビグ等による米国特許第5,377,129号のコラム１８第５８行〜コラム２８第２１行に開示され、それは参照によってここに組込まれる。異なった大きさになされたボクセルと表面の面との間の相互作用を処理するための技術は、下に議論される。
図１を再び参照すると、一度シミュレーション空間がモデル化され（ステップ１０２）、１つ以上の面によって作用されたボクセルは識別される（ステップ１０４）。ボクセルは複数の方法で面によって影響される。最初に、面によって交差するボクセルは、これらのボクセルの各々が交差していないボクセルに関する縮小された体積を有している点で、影響される。これは、面及び面によって表わされる表面の基礎をなす材料がボクセルの部分を占めるので、生じる。断片的因子Ｐf（Ｘ）は、面（すなわち流れがシミュレーションされている流体又は他の材料によって占められる部分）に影響されないボクセルの部分を示す。交差していないボクセルについては、Ｐf（Ｘ）が１に等しい。
質点を面に移動するか又は面から質点を受け取ることにより１つ以上の面と相互に作用するボクセルは、面によって影響を受けたボクセルであるとも同定される。面によって交差するボクセルすべては、面から質点を受け取る少なくとも１状態及び質点を面に移動する少なくとも１状態を含む。ほとんどの場合、追加のボクセルはさらにかかる状態を含む。
ゼロでない速度ベクトルｃiを有している各状態ｉのために図６を参照すると、面Ｆαは質点を平行六面体Ｇiαによって定義された領域から受け取るか、又は質点を当該領域へ移動せしめる。平行六面体Ｇiαは、速度ベクトルｃi及び面の単位法線ｎαのベクトル内積（｜ｃi・ｎα｜）の大きさによって定義された高さを有し、さらに面の表面面積Ａαによって定義される底辺を有するが、その結果、平行六面体Ｇiαの体積Ｖiαは次式と等しくなる。
Ｖiα＝｜ｃi・ｎα｜Ａα
状態の速度ベクトルが面に向けられたとき（ｃi・ｎα＜０）、面Ｆαは質点を体積Ｖiαから受け取り、状態の速度ベクトルが面から遠ざけて向けられる場合（ｃi・ｎα＞０）、質点を領域へ移す。この表現は、以下に議論されるように、別の面が平行六面体Ｇiαの部分を占める場合（内部の角のような非凸面特徴の近くで生じることができる条件）、修正されなければならない。
面Ｆαの平行六面体Ｇiαは、多数のボクセルの部分又はすべてに重複する。ボクセル又はその部分の数は、ボクセルの大きさに関する面の大きさ、状態のエネルギー、及び格子構造に関する面の配向に依存する。影響を受けたボクセルの数は面の大きさで増加する。従って、面の大きさは、上記のように、面の近くで位置したボクセルの大きさのオーダー又はそれより小さくなるように典型的に選択されている。
平行六面体Ｇiαによって重複されたボクセルの部分Ｎ（ｘ）は、Ｖiα（ｘ）として定義される。この項目を用いて、ボクセルＮ（ｘ）及び面Ｆαの間に移動する状態ｉ質点の数は、ボクセルと重複領域の体積を掛けたボクセル中の状態ｉ質点の密度と等しい。
Γiα（ｘ）＝Ｎi（ｘ）Ｖiα（ｘ）
平行六面体Ｇiαが１つ以上の面によって交差する場合、下記条件は真である。
0003932142.tif 000002
式中、第１項の合計がＧiαよって重複されたすべてのボクセルを説明しかつ第２項がＧiαと交差するすべての面を説明する。平行六面体Ｇiαが別の面によって交差しなかったとき、この表現は次式に減少される。
0003932142.tif 000003
一度１つ以上の面によって影響されるボクセルが同定されれば（ステップ１０４）、タイマはシミュレーションを始めるために初期化される（ステップ１０６）。シミュレーションの各時間増分中に、ボクセルからボクセルまでの質点の移動は、表面の面を備えた質点の相互作用を説明する移流段階（ステップ１０８〜１１６）によってシミュレーションされる。次に、衝突段階（ステップ１１８）は、各ボクセルの内の質点の相互作用をシミュレーションする。その後、タイマはインクリメントされる（ステップ１２０）。シミュレーションが完了したことをインクリメントされたタイマが示さない場合（ステップ１２２）、移流と衝突の段階（ステップ１０８〜１２０）が繰り返される。シミュレーションが完了したことをインクリメントされたタイマが示す場合（ステップ１２２）、シミュレーションの結果は格納されかつ又は表示される（ステップ１２４）。
表面との相互作用を正確にシミュレーションするために、各面は４つの境界条件を満たさなければならない。最初に、面によって受け取られた質点の結合した大部分は、面によって移動された質点の結合した大部分と等しくなければならない（すなわち、面への正味の質量流束は０と等しくなければならない）。次に、面によって受け取られた質点の結合したエネルギーは、面によって移動された質点の結合したエネルギーと等しくなければならない（すなわち、面への正味のエネルギー流束は０と等しくなければならない）。これらの２つの条件は、各エネルギー準位における正味の質量流束（すなわちエネルギー準位１及び２）が０に等しいことを要求することによって、満たすことができる。
他の２つの境界条件は、面と相互に作用する質点の正味運動量と関係がある。表面摩擦の無い表面については、ここにスリップ表面と呼び、正味の接線運動量流束が０と等しくなければならないし、また、正味の垂直運動量流束は面で局所的圧力と等しくなければならない。したがって、面の法線ｎαに垂直である受け取った運動量及び移動された結合した運動量の構成要素（すなわち接線の構成要素）は、等しくなければならない一方、面の法線ｎαと平行である結合した受け取った運動量及び移動された運動量の構成要素間の差分（すなわち法線構成要素）は面において局所的圧力と等しくなければならない。非スリップ表面については、表面摩擦は、摩擦量と関係のある因子により面によって受け取られた質点の結合した接線運動量に関する面によって移動された質点の結合した接線運動量を、縮小する。
質点及び表面間の相互作用のシミュレーションの第１ステップとして、質点はボクセルから集められ、面に供給される（ステップ１０８）。上記から気づくように、ボクセルＮ（ｘ）と面Ｆαとの間に移動する状態ｉ質点の数は、次式である。
Γiα（ｘ）＝Ｎi（ｘ）Ｖiα（ｘ）
これから、面Ｆαに向けられた各状態ｉについては（ｃi・ｎα＜０）、ボクセルによって面Ｆαに供給される質点の数は、次式である。
0003932142.tif 000004
Ｖiα（ｘ）が０でない値を有しているボクセルだけが合計されなければならない。上記したように、面の大きさは、Ｖiα（ｘ）がボクセルの小さな数だけに対する０でない値を持つように、選択される。Ｖiα（ｘ）及びＰf（ｘ）が非整数値を持つことがあるので、Γα（ｘ）は格納され実数として処理される。
次に、質点は面（ステップ１１０）の間で移動される。面Ｆαの内向移動性の状態（ｃi・ｎα＜０）のための平行六面体Ｇiαが別の面Ｆβによって交差される場合、面Ｆαによって受け取られた状態ｉ質点の部分は、面Ｆβから来る。特に、面Ｆαは、前の時間増分中に面Ｆβによって生じた状態ｉ質点の部分を受け取る。この関係は図８で示され、ここで、面Ｆβによって交差する平行六面体Ｇiαの部分８００は、面Ｆαによって交差する平行六面体Ｇiβの部分８０５と等しい。上記のように、交差した部分はＶiα（α）として表示される。この項目を使用して、面Ｆβ及び面Ｆα間にて移動する状態ｉ質点の数は次式のように記載できる。
Γiα（β）＝Γi（β）Ｖiα（ｘ）／Ｖiα
式中、Γi（β）が前の時間増分中に面Ｆβによって生じた状態ｉ質点の基準である。これから、面Ｆαに向けられた各状態ｉについては（ｃi・ｎα＜０）、他方の面によって面Ｆαに供給される質点の数は、次式であり、
0003932142.tif 000005
また、面の中への状態ｉ質点の流束の合計は、次式である。
0003932142.tif 000006
面分布関数とも呼ばれる面のための状態ベクトルＮ（α）は、ボクセル状態ベクトルの５４のエントリに対応する５４のエントリを有している。面分布関数Ｎ（α）の入力状態は、ｃi・ｎα＜０のために、体積Ｖiαで割られた状態へ質点の流束と等しくなされる。
Ｎi（α）＝ΓiIN（α）／Ｖiα
面分布関数は、面からの出力流束を生成するためのシミュレーションツールであり、実際の質点を必ずしも表現しない。正確な出力流束を生成するために、値は分布関数の他方の状態に割り当てられる。外部の状態は、内部の状態を配置するために上述された技術を使用して、ｃi・ｎα≧０のために、配置される。
Ｎi（α）＝ΓiOTHER（α）／Ｖiα
式中、ΓiOTHER（α）はΓiIN（α）を生成するために上記した技術を使用して、決定される。（もちろん、内向移動性の状態（ｃi・ｎα＜０）に技術を適用する代わりに、技術は、他の状態（ｃi・ｎα≧０）のために今適用される）。他の手法では、ΓiOTHER（α）は、前の時間ステップからΓiOUT（α）の値を使用することによって、次式であるように生成している。
ΓiOTHER（α，ｔ）＝ΓiOUT（α，ｔ−１）
平行状態（ｃi・ｎα＝０）に対して、Ｖiα及びＶiα（ｘ）の両方はゼロである。Ｎi（α）の表現では、Ｖiα（ｘ）が分子に現われ（ΓiOTHER（α）の表現から）、また、Ｖiαは分母に現われる（Ｎi（α）の表現から）。従って、平行状態のためのＮi（α）は、Ｖiα及びＶiα（ｘ）が０に近づくので、Ｎi（α）の限界として決定される。
ゼロ速度を有している状態（すなわち、休息（rest）状態、及び状態（０，０，０，２）及び（０，０，０，−２））の値は、温度及び圧力の初期条件に基づいたシミュレーションの初めにおいて、初期化される。その後、これらの値は時間とともに調節される。
次に、表面力学は、上に議論した４つの境界条件を満たすために、各々面のために実行される（ステップ１１２）。面のための表面力学を実行するための手続きは図９で示される。最初に、面Ｆxに垂直な結合した運動量は、すべてのｉのために、次式として面における質点の結合した運動量Ｐ（α）を決定することによって、決定される（ステップ９０５）。
0003932142.tif 000007
これから、垂直運動量Ｐn（α）は次式のように決定される。
Ｐn（α）＝ｎα・Ｐ（α）
その後、この垂直運動量はチェン等によって開示されたプッシュ／プル技術（ステップ９１０）を使用して除去され、Ｎn-（α）を生成する。その後、Ｎn-（α）の質点は、ボルツマン分布Ｎn-B（α）を生成するために衝突させられる（ステップ９１５）。（ボルツマン分布を生成する衝突する質点のプロセスは後述する。）
その後、面Ｆαのための外向移動性の流束分布は、内向移動性の流束分布及びボルツマン分布に基づいて、決定される（ステップ９２０）。最初に、内向移動性の流束分布Γi（α）とボルツマン分布との間の差は、次式のように決定される。
0003932142.tif 000008
この差分を使用して、ｎα・ｃi＞０のための外向移動性の流束分布は次式となる。
0003932142.tif 000009
式中、ｉ*が状態ｉの反対の方向を有する状態である。例えば、状態ｉが（１，１，０，０）の場合、ｉ*が（−１，−１，０，０）である。表面摩擦及び他の因子を説明するために、外向移動性の流束分布は、ｎα・ｃi＞０に対し、さらに次式に洗練できる。
0003932142.tif 000010
式中、Ｋfが表面摩擦の関数であり、ｔ1αはｎαに垂直な第１の接線ベクトルであり、ｔ2αはｎα及びｔ1αの両方に垂直な第２の接線ベクトルであり、そしてΔＮj,1及びΔＮj,2は状態ｉのエネルギー（ｊ）及び示された接線ベクトルに対応する分布関数である。分布関数は次式によって決定される。
0003932142.tif 000011
式中、ｊは、エネルギー準位１状態のために１と等しく、エネルギー準位２状態のために２と等しい。
ΓiOUT（α）のための方程式の各ラインの機能は、以下のとおりである。第１のライン上の項は、衝突がボルツマン分布を生成するのに有効だが、接線運動量流束例外を含んでいるという程度まで垂直運動量流束境界条件を強化する。第３及び第４のライン上の項は、この変則のために修正し、それは発生分離性効果により生じ、又は不十分な衝突により非ボルツマン構造を生ぜしめる。最終的に、第２のライン上の項は、表面に接線運動量流束の所望の変化を強いるために指定された量の表面摩擦を加える。ベクトル操作を含んでいる項がすべてシミュレーションを始めるに先立って計算され得る幾何学的因子であることに注意するべきである。
浮動小数点数を使用して表面力学が実行される場合、他の手法はΓiOUT（α）を生成するために使用され得る。この手法によれば、垂直運動量は次式のように決定される。
Ｐn（α）＝ｎα・Ｐ（α）
これから、接線の速度は次式のように決定される。
ｕt（α）＝（Ｐ（α）−Ｐn（α）ｎα）／ρ
式中、ρが次式の面分布の密度である。
0003932142.tif 000012
その後、面分布の温度Ｔは次式のように決定される。
0003932142.tif 000013
式中、ｊは０、１又は２に等しく、状態ｉのエネルギーに対応すする。
ボルツマン分布を決定するために衝突を使用する代わりに、それは次式のように決定される。
0003932142.tif 000014
式中、〈Ｎ〉j(eq)（ｊ＝０，１，２）がエネルギー準位ｊにおける平衡等方性状態であり、
0003932142.tif 000015
そして、ｄ0は休息状態の数（すなわち６）である。
上記のように、内向移動性の流束分布とボルツマン分布との間の差は、次式のように決定される。
0003932142.tif 000016
その後、外向移動性の流束分布は次式になる。
0003932142.tif 000017
これは、前の技術によって決定されたが外向移動性の流束分布の第１の２行に相当するが、不規則の接線の流束のための補正を要求しない。
どちらか一方の手法を使用して、生じる流束分布は運動量流束条件をすべて満たす、すなわちそれは次式である。
0003932142.tif 000018
式中、ｐαが面Ｆαでの平衡状態圧力であって、面に質点を供給するボクセルの平均密度及び温度値に基づく圧力であり。また、ｕαは面での平均の速度である。
質量とエネルギーの境界条件が満たされることを保証するために、入力エネルギーと出力エネルギーとの間の差は次式のように各エネルギー準位ｊのために測定される。
0003932142.tif 000019
式中、指標ｊが、状態ｉのエネルギーを表示する。その後、このエネルギー差は、ｃij・ｎα＞０に対し、次式の差の項を生成するために使用される。
0003932142.tif 000020
この差の項は流束がｃij・ｎα＞０のための次式になるように、外向移動性の流束を修正するために使用される。
0003932142.tif 000021
この演算は接線運動量流束を不変にしつつ、質量及びエネルギー流束を修正する。流れが面近傍でほぼ一様で平衡状態に近い場合、この調節は小さい。調節の後、生じる垂直運動量流束は、近隣の非等質又は非平衡状態特性による近隣の平均特性プラス補正に基づいた平衡状態圧力である或る値へ、わずかに変更される。
図１を再び参照すると、質点は、３次元の直線の格子に沿ったボクセルの間で移動される（ステップ１１４）。ボクセル対ボクセル移動は、面と相互に作用しないボクセル上で実行されたただ一つの移動演算である（すなわち表面の近くに位置しないボクセル）。典型的シミュレーションでは、表面と相互に作用するためには表面へ近く十分に位置しないボクセルが、ボクセルの大多数を構成する。
個別の状態の各々は、４次元のｘ、ｙ、ｚ及びｗの各々の中で整数速度を備えた格子に沿って移動する質点を表わす。整数速度は、０、＋／−１及び＋／−２を含んでいる。速度の符合は、質点が対応する軸に沿って移動している方向を示す。これらの線形速度は、０から４まで変動するエネルギー準位を備えた質点のシミュレーションを支える。エネルギー準位の０〜２だけが遷音速の流れシミュレーションのために必要である一方、すべて５が亜音速流れシミュレーションのために必要である。
表面と相互に作用しないボクセルについては、移動演算が計算上に全く単純である。状態の全集団はすべての時間増分中に、その現在ボクセルからその目的地ボクセルに移動される。同時に、目的地ボクセルの質点はそのボクセルから自分の目的地ボクセルに移動される。例えば、＋１ｘ及び＋１ｙ方向（１，１，０，０）へ移動しているエネルギー準位１質点は、その現在ボクセルからｘ方向の＋１上でｙ方向で＋１上の一つに移動される。質点は、それが、移動（１，１，０，０）の前に持ったのと同じ状態の目的地ボクセルで終了する。ボクセル内の相互作用は、他の質点及び表面で局所的相互作用に基づいたその状態と質点カウントを交換する傾向にある。そうでなければ、質点は同じ速度及び方向で格子に沿って移動し続ける。
停止状態（エネルギー準位０）中の質点が移動されないことはここに注意されるべきである。さらに、質点は３次元で単に移動される。状態のｗ次元の０でない値は、状態の質点が移動することになっている格子サイトの決定に影響しない。例えば、−１ｚ及び＋１ｗ速度（０，０，−１，１）のエネルギー準位１質点、及び−１ｚ及び−１ｗ（０，０，−１，−１）速度のエネルギー準位１質点は、両方とも、ｚ次元で遠方に−１であるサイトへ移動するだろう。まったく移動したことのない２エネルギー準位２状態（０，０，０，２）及び（０，０，０，−２）もある。
移動演算は、１つ以上の表面と相互に作用するボクセルに対してわずかに複雑になる。上記したように、Ｖiα（ｘ）及びＰf（ｘ）は非整数値を有している。これは、面に移動される断片的質点の１つ以上に帰着できる。かかる面への断片的質点の移動はボクセル中で残る断片的質点に結果としてなる。これらの断片的質点は面によって占められたボクセルに移動される。例えば、図７において、ボクセル７０５の状態Ｉ質点の部分７００が面７１０に移動される場合（ステップ１０８）、残りの部分７１５は、面７１０が位置しそれから状態ｉの質点が面７１０に向けられるボクセル７２０に移動される。したがって、もし状態集団が２５と等しく、Ｖiα（ｘ）が０．２５（すなわち、ボクセルの４分の１が平行六面体Ｇiαと交差する）と等しかったならば、６．２５の質点は面Ｆαに移動され、また、１８．７５の質点は面Ｆαによって占められたボクセルに移動されるだろう。多数の面が単一のボクセルと交差できるので、１つ以上の面によって占められたボクセルＮ（ｆ）へ移動された状態ｉ質点の数は、次式である。
0003932142.tif 000022
式中、Ｎ（ｘ）が源ボクセルである。Ｎi（ｆ）が実数であるので、移流段階が完了するまでＮi（ｆ）は、浮動小数点数又は基準化された整数として、バッファに一時的に格納される。
基準化された整数としてＮi（ｆ）を格納するために、Ｎi（ｆ）は次式のように決定される。
0003932142.tif 000023
式中、scaleが２16の値がある定数であり、また、Ｎsi（ｘ）及びＶsiα（ｘ）はそれぞれscaleを掛けたＮi（ｘ）及びＶiα（ｘ）である。乱数のrandは、基準化に先立った０と１の間の値を呈し、次に、０と２16−１との間の値へのscaleによって拡大される。その後、演算子ｆｌｏｏｒは整数値を生成する。特に、ｆｌｏｏｒはその引き数以下の最大の整数を返す。例えば、ｆｌｏｏｒ（２．３）は２に、及びｆｌｏｏｒ（−２．３）は−３と等しい。
次に、各面からの外向移動性の質点は、ボクセルに分散する（ステップ１１６）。本質的に、このステップは、質点がボクセルから面に移動された収集ステップの逆である。面ＦαからボクセルＮ（ｘ）まで移動する状態ｉ質点の数は、次式である。
0003932142.tif 000024
式中、Ｐf（ｘ）が部分的ボクセルの体積縮小を説明する。これから、各状態ｉについて、面からボクセルＮ（ｘ）に向けられた質点数の合計は、次式である。
0003932142.tif 000025
整数としてボクセルへの状態ベクトルのエントリを維持するために（非整数エントリを整数形式に変換すること）、エントリは整数値に丸められる。
0003932142.tif 000026
式中、ｔs-は分散ステップの直前の時間であり、ｔs+はは分散ステップの直後の時間であり、さらに、Ｎi（ｘ，ｔs-）は浮動小数点数である。乱数randは、基準化に先立った０と１の間の値を呈し、次に、０と２16−１の間の値へのscaleによって拡大される。値がscaleによって率に応じて拡大されるので、scaleによる除算は単に乗算と加算の演算の結果を変えることである。
面からボクセルまで質点を拡散し、ボクセルを囲むことから移流を中へ引き起こした質点とそれらを結合し、結果を整数にした後に、あるボクセル中のある方向は、アンダーフロー（負になる）又はオーバーフロー（２５５を超える）のいずれかになり得る。これは、質量、運動量及びエネルギーの量が０から２５５までの値の許容範囲と適合するために打切られた後、それらにおける利得又は損失のいずれかに帰着するだろう。かかる発生を保護するために、境界外である質量、運動量及びエネルギーは、不快な状態の打切りに先立って包含される。状態が属するエネルギーのために、獲得された値（アンダーフローによる）又は失われた値（オーバーフローによる）と等しい質量の量は、オーバーフロー又はアンダーフローにそれら自身従わない同じエネルギーを有しかつ任意に（又は連続して）選択された状態に加えられる。この質量とエネルギーの加法に起因する付加的運動量は、蓄積され、打切りからの運動量に加えられる。同じエネルギー状態に質量を単に加えることによって、質量及びエネルギーの両方は質量カウンタが０に達する場合、修正される。最終的に、運動量は、運動量アキュムレータが０に返されるまでプッシュ／プルを使用して、修正される。
最終的に、流体力学は実行される（ステップ１１８）。このステップはマイクロ力学又はイントラボクセルの演算と呼ばれる。同様に、移流手続きはイントラボクセル演算と呼ばれる。下記のマイクロ力学演算は、ボルツマン分布を生成する面の質点を衝突させるために使用される。
マイクロ力学演算は、二値、三値又は「ｎ」値の相互作用規則（さらに衝突規則とも呼ぶ）の一連を、各時間増分中のボクセルの状態ベクトルへ順次適用することにより、ボクセルの内に生じる物理的相互作用のセットをシミュレーションする。例えば、ここに説明されたシステムでは、２７６の衝突規則があり、その各々は個別の衝突段階中で実行される。衝突規則が連続して適用されるので、それらの適用の結果は、単にそれらの値では書くことができない初期の状態値上に複雑な非線形の依存性を有している。衝突規則が二値、三値又は「ｎ」値として実行される一方で、理解の単純化と容易化のために、次の議論は第１に二値衝突の場合を説明する。
基本的２つのタイプ、非エネルギー交換「自己」衝突、及びエネルギー交換衝突がある。自己衝突は、質点が互いと衝突することを可能にし、それにより、それらの速度を変える。１つの質点によって占められた状態が質点の速度を決定するので、質点の速度の変化は、その異なる状態へ質点を移動させることによって遂行される。二値衝突規則は、２つの入力状態及び２つの出力状態に関しての自己衝突について記述し、出力状態に質点を移動させることにより入力状態の各々からの１つ以上の質点の衝突をシミュレーションする。衝突規則が双方向なので、入力及び出力状態は、衝突が状態の集団に依存する位置をとる時に決定される。
エネルギー交換衝突は、内向移動性の２つの質点とは異なるエネルギー準位に外向移動性の２つの質点がある点で自己衝突と異なる。亜音速流については、３つのエネルギー準位、０（止められる）、１及び２だけがある。エネルギーを保存するために、１つのペアが２つのエネルギー準位１質点を含んでおり、他方のペアがエネルギー準位２質点及び止められた質点を含んでいる場合、可能な唯一のエネルギー交換衝突は生じる。エネルギー交換衝突は、同じ割合で両方向に起こらない。むしろ、それらはエネルギー準位１状態からの前方への割合及びエネルギー２と停止状態からの後方への割合で起こる。下記詳細に議論されるように、これらの衝突割合はシステムの温度に依存する。
各衝突規則は、自己又はエネルギー交換衝突に向けられたとしても、単一のボクセルのための状態ベクトルの状態の部分集合又は面上で演算し、それらの状態の質点間の衝突の正味の影響をシミュレーションする。例えば、二値衝突規則は、４状態（ｉ，ｊ，ｋ，１）上で作動し、第１の２つの状態（ｉ，ｊ）における質点間の衝突の正味の影響をシミュレーションし、第２の２つの状態（ｋ，１）の質点間の衝突をシミュレーションする。第１の２状態における１ペアの質点間の衝突が、第２の２状態に対応する速度へ変わる質点の速度に帰着しその逆も正しいので、二値衝突規則は次式のように表現できる。
0003932142.tif 000027
式中、εが衝突規則を実行するのに必要な物理的に微小の時間を示す。同様に、三つの衝突規則は次式として表現できる。
0003932142.tif 000028
衝突規則の適用に現実に起因する状態変化が正味の状態変化を反映することは、評価されるべきである。例えば、衝突規則の適用により、各々の状態ｉ及びｊからの４つの質点が各々の状態ｋ及びｌに移動する結果に帰着する場合、例えば、この移動は、各々の状態ｉ及びｊからの５６の質点が各々の状態ｋ及びｌに移動し、各々の状態ｋ及びｌからの５２の質点が各々の状態ｉ及びｊに移動する帰着結果の衝突を現実に表わすことがある。
正確に物理的システムをシミュレーションするために、各衝突規則は質量、運動量及びエネルギーを保存しなければならない。規則が１状態から別のものに単に質点を移動させて、質点の生成又は破壊をなさないので、それらは必ず質量を保存する。規則が運動量を保存することを保証するために、規則によって影響を受けた状態は次式のように選択される。
ｃi＋ｃj＝ｃk＋ｃl
同様に、規則がエネルギーを保存することを保証するために、規則によって影響を受けた状態は次式のように選択される。
0003932142.tif 000029
したがって、状態ｉ、ｊ、ｋ及びｌは、状態ｉ及びｊからの１ペアの質点が状態ｋ及びｌからの１ペアの質点と同じ運動量及びエネルギーの合計を持つように、各規則に対し選ばれる。内向移動性ペア及び外向移動性ペアの状態が質量、運動量及びエネルギーを常に保存しなければならないので、５４の状態内のすべての可能な４つは「合法的」衝突規則に相当するとは限らない。
特定の衝突規則については、Ｎscattが、規則によって影響を受けた状態に衝突演算子を適用することによって決定される。衝突演算子の算術／計算上の形式は、シミュレーションシステム中の演算子を実行する現実性を決定する。衝突演算子の統計特性は、正確な行動がシミュレーション中に達成できる範囲を決定する。
好ましい衝突演算子は、規則によって影響を受けた各状態の質点の数がそのボルツマン平衡状態値に接近するとともに、Ｎscattが０に接近するものである。二値衝突については、好ましい演算子は次式の形式を有している「多重線の規則」である。
Ｎscatt＝Ａj［Ｒf＊Ｎi＊Ｎj−Ｒb＊Ｎk＊Ｎl］
式中、Ａjが衝突係数であり、Ｒf及びＲbはエネルギー交換衝突のための前方及び後方への衝突割合である。Ｒf及びＲbが局所的温度のみに依存する一方、係数Ａjは局所的温度及び密度のみに依存する。温度及び密度が衝突により変わらないので、Ａj、Ｒf及びＲbは特定の時間増分のための定数であり、すべての衝突に先立って決定できる。
Ａjの値は下に示されるように各タイプの衝突に対し変わる（エネルギー準位１の質点間の自己衝突、エネルギー準位２の質点間の自己衝突、及びエネルギー交換衝突）。もし、ｊ＝１、２又はεがそれぞれ、エネルギー準位１又は２にて自己衝突、及びエネルギー交換衝突を表わす場合、Ａj、Ａεは次式である。
0003932142.tif 000030
式中、〈Ｎ〉j(eq)（ｊ＝０，１，２）は上記のようにエネルギー準位ｊの等方性平衡状態の集団である。
エネルギー交換衝突については、状態ｉ及びｊがエネルギー準位１状態であり、状態ｋ及びｌは、Ｒf／Ｒbがエネルギー準位１質点からエネルギー準位２及び休止質点まで衝突の割合を表わすような、エネルギー準位２及び休止状態である。Ｒf／Ｒbは次式のように定義される。
0003932142.tif 000031
式中、ｄ0は停止した質点状態の数であり、上述された実施例での６と等しい。しかしながら、流体の温度は、シミュレーションの長さにわたって必ずしも一定でなく、特に、熱伝導を含んでいるシミュレーションのために、Ａj及びＲf／Ｒbは、局所的温度の変化を反射するために、シミュレーション中にダイナミックに更新されなければならない。亜音速流のために保持された温度範囲は、１／３と２／３の間にある。自己衝突については、Ｒf／Ｒbが１と等しい。
自己衝突の例として、次式の初期の状態は提案される。
ｃi＝（1,0,1,0），Ｎｉ：２５，
ｃj＝（1,0,-1,0），Ｎｊ＝４０，
ｃk＝（1,0,0,1），Ｎｋ＝５３，
ｃl＝（1,0,0,-1），Ｎｌ＝２０
示されるように、ｉ、ｊ、ｋ及びｌは，状態ｉ及びｊ並びに状態ｋ及びｌの結合した運動が、ｘ次元中の２並びにｙ、ｚ及びｗ次元中の０であるように、かつ各状態がエネルギー準位１状態であるように、選択されている。密度ρの合計が１６５６で温度が１／２であり、Ａ1が＜ｎ＞1(eq)のための表現を使用したと仮定すると、＜ｎ＞1(eq)はρ／４８に等しく、Ａ1は１２／ρ又は１／１３８と等しい。例示するために、もし衝突規則が浮動小数点数を使用して適用されれば、生じる状態集団は次の値を持つだろう。
Ｎi＝25-(-0.43478)=25.43478
Ｎj＝40-(-0.43478)=40.43478
Ｎk＝53+(-0.43478)=52.56522
Ｎl＝20+(-0.43478)=19.56522
これらのＮi、Ｎj、Ｎk及びＮlの新しい値は、平衡状態基準をゼロへ追い払う。
（Ｎi＊Ｎj−Ｎk＊Ｎl）＝
(25.43478*40.43478)-(52.56522*19.56522)＝
1028.45-1028.45＝０
状態の質点カウントのオーバーフロー又はアンダーフローのポテンシャルは、上記された衝突演算に存在する。オーバーフローは、質量、運動量及びエネルギーの損失に帰着し、もし状態集団及びＮscattの合計が２５５を超過すれば、生じるだろう。対照的に、アンダーフローは、質量、運動量及びエネルギーの生成に帰着し、もし状態集団からＮscattを引いた結果が０未満であれば、生じるだろう。質量、運動量及びエネルギー保存の法則がシミュレーション環境において最高なので、衝突に含まれる状態のうちのいかなるものの中でオーバーフロー又はアンダーフローのいずれかを引き起こす場合、質点の交換が妨げられる。
ハードウェア制限により、Ｎscattは整数値として維持される。非エネルギー交換衝突については、Ｎscattが次式のように決定される。
0003932142.tif 000032
式中、Ａjsが、２16の値を有している定数のscaleによって乗算によって基準化されたＡｊである。乱数のrandは、基準化に先立った０と１の間の値を呈し、次に、０と２16−１との間の値へのscaleによって率に応じて拡大される。エネルギー交換衝突については、Ｎscattが次式のように決定される。
0003932142.tif 000033
式中、Ｒf’及びＲb’はそれぞれＡεsを掛けたＲf及びＲbである。Ａεsはscaleを掛けたＡεである。randはｆｌｏｏｒ演算に起因する打切りがシステムへ統計のバイアスを導入するのを妨げるために採用される。この演算は、整数値を呈することをＮscattに強いるが、randの使用は、この演算が特定の方向において統計的にＮscattにバイアスをかけないことを保証する。
この手法で、上記の例のためのＮi、Ｎj、Ｎk及びＮlの値は、５６．５２２％の確率で（２５，４０，５３，２０）で設定され、４３．４７８％の確率で（２６，４１，５２，１９）で設定されるだろう。複数の試験にわたって平均されて、Ｎi、Ｎj、Ｎk及びＮlのための平均値は（25.43478，40.43478，52.56522，19.56522）である。したがって、規則の単一の適用は必ずしも平衡状態への集団を強いらないが、規則の複数の適用上の集団の統計の平均値は、それらの集団に対する平衡状態値に相当する。
多重線の衝突演算子はボルツマンの平衡状態にシミュレーションされたシステムを運転する。これは、衝突規則の繰り返した適用が平衡状態値にシステムを運転し、そこで巨視的条件び所定設定のために、個々の状態集団Ｎiが次式のボルツマン分布によって決定されるような既知の値を呈することを、意味する。
0003932142.tif 000034
式中、指数関数における因子が質量（ｍ）、運動量（ｍｃi）及びエネルギー（ｍｃi2）の保存された不変量を表わし、追加の（「偽造」）不変量が生じないと仮定すると、ｒiは、ＲfとＲbから生成された重み因子を表わす。衝突規則の各適用後のこの分布の達成は、ある精度への流体力学の挙動に帰着する。
この平衡状態を導き出す単純な方法は、衝突すべてが生じて相互作用状態をそれらの個々の平衡状態に運転すると仮定することである。したがって、二値衝突規則については、平衡状態は次式となる。
Ｒf＊Ｎi＊Ｎj＝Ｒb＊Ｎk＊Ｎl
また、多重線の規則については、Ｎscattが０と等しい。前式中で両側の対数をとることは次式を意味する。
0003932142.tif 000035
式中、
0003932142.tif 000036
である。この式は、ペアすべてのペア（又は三組のペアなど）のために今満たされなければならないが、それは衝突規則の下で許容される。式を満たすために、ｌｎｒi-1Ｎiは、次式の形式で衝突プロセス（すなわち質点上の合計が保存される量）の合計の不変量の合計でなければならない。
0003932142.tif 000037
式中、Ｉiαが状態ｉ（例えば、上記のＮiのための式中における運動量の構成要素ｍiｃi）に関連したα番目の不変量であり、そしてＡαがそれらの対応する不変量（例えば、上記のＮiのための式中におけるα、β及びγ）に関連した係数である。質量、運動量及びエネルギーが単に保存された量（すなわち、偽造の不変量はない）である限り、ボルツマン分布がこの方程式に起因する。
図１０を参照すると、可変分解（図４及び５で示し説明した）は、以下に粗いボクセル１０００及び細かいボクセル１００５と呼ぶ異なる大きさのボクセルを採用する。（次の議論は、異なる２つの大きさを有しているボクセルを参照する。分解の追加のレベルを提供するために説明された技術はボクセルの異なる３つ以上の大きさに適用され得ると、認識されるべきである。）粗く細かいボクセルの領域間の界面は可変分解（ＶＲ）界面１０１０と呼ぶ。
可変分解が、表面で又はその表面の近くで使用される場合、面はＶＲ界面の両側でボクセルと相互に作用する。これらの面は、ＶＲ界面面１０１５（ＦαIC）又はＶＲ細かい面１０２０（ＦαIF）として分類される。ＶＲ界面の面１０１５は、ＶＲ界面の粗い側に置かれかつ、細かいボクセルへ伸びる粗い平行六面体１０２５を有した面である。（粗い平行六面体は、粗いボクセルの次元に従ってｃiが測定されるものの１つである一方、細かい平行六面体は細かいボクセルの次元に従ってｃiが測定されるものの１つである。）ＶＲ細かい面１０２０は、ＶＲ界面の細かい側に置かれ、かつ、粗いボクセルへ伸びる細かい平行六面体１０３０を有した面である。界面の面に関連する処理は、さらに、粗い面１０３５（ＦαC）及び細かい面１０４０（ＦαF）の相互作用をも含んでいる。
両方のタイプのＶＲ面については、表面力学が細かい基準（scale）で実行され、上述されるように演算する。しかしながら、ＶＲ面は、質点がＶＲ面間の移流を引き起こす方法に関して、他の面と異なる。
ＶＲ面を備えた相互作用は、図１１に示す可変分解手続き１１００を使用して、扱われる。この手続きのほとんどのステップは、上に議論された非ＶＲ面との相互作用のための比較可能なステップを使用して、行なわれる。手続き１１００は、相各々が細かい時間ステップに対応する２つの相を含んでいる粗い時間段階（すなわち時間間隔は粗いボクセルに対応する）の間、実行される。面表面力学は個々の細かい時間ステップの間実行される。この理由のために、ＶＲ界面面ＦαICは、それぞれ黒面ＦαICb及び赤面ＦαICrと呼ばれる２つの独立して大きさが適応され配向された細かい面と見なされる。黒面ＦαICbが粗い時間ステップ内の第１の細かい時間ステップに関係し、赤面ＦαICrは粗い時間ステップ内の第２の細かい時間ステップに関係している。
最初に、質点は、第１の表面対表面の移流段階によって面の間で移動（移流）される（ステップ１１０２）。質点は、Ｖ〜αβの重み因子で黒面ＦαICbから粗い面ＦβCへ移動され、該重み因子は、面Ｆαから伸びかつ面Ｆβの背後にある粗い平行六面体（図１０，１０２５）の障害物を取り除かれた部分より、面Ｆαから伸びかつ面Ｆβの背後にある細かい平行六面体（図１０，１０４５）の障害物を取り除かれた部分だけ少ない体積に相当する。細かいボクセルのためのｃiの大きさは、粗いボクセルのためのｃiの大きさの２分の１である。上に議論されたように、面Ｆαのための平行六面体の体積は次式のように定義される。
Ｖiα＝｜ｃi・ｎα｜Ａα
従って、面の表面面積Ａαが粗い平行六面体及び細かい平行六面体間で変わらないので、そして単位法線ｎαが常に１の大きさ有しているので、面に対応する細かい平行六面体の体積は面のための対応する粗い平行六面体の体積の２分の１である。
質点は、Ｖαβの重み因子で粗い面ＦαCから黒面ＦαICbへ移動され、該重み因子は、面Ｆαから伸びかつ面Ｆβの背後にある細かい平行六面体の障害物を取り除かれた部分の体積に一致する。
質点は、Ｖαβの重み因子で赤面ＦαICrから粗い面ＦαCへ移動され、さらに、Ｖ〜αβの重み因子で粗い面ＦαCから赤面ＦβICrへ移動される。
質点はＶαβの重み因子で赤面ＦαICrから黒面ＦβICbへ移動される。この段階で、黒対赤移流は生じない。さらに、黒面及び赤面が連続する時間ステップに相当するので、黒対黒移流（又は赤対赤移流）は生じない。類似した理由で、この段階の質点は、Ｖαβの重み因子で、赤面ＦαICrから細かい面ＦβIF又はＦβFへ移動され、また、同じ重み因子で、細かい面ＦαIF又はＦαFから黒面ＦαICbに移動される。
最終的に、質点は、同じ重み因子で細かい面ＦαIF又はＦαFから他の細かい面ＦβIF又はＦβFへ移動され、また、の重み因子で粗い面ＦαCから他の粗い面ＦCへ移動され、重み因子ＶCαβは面Ｆαから伸びかつ面Ｆβの背後にある細かい平行六面体の障害物を取り除かれた部分の体積に相当する。
質点が表面間に移流された後、質点は、第１の収集段階においてボクセルから集められる（ステップ１１０４〜１１１０）。質点は、細かい平行六面体を使用して細かいボクセルから細かい面ＦαFのために集められ（ステップ１１０４）、また、粗い平行六面体使用して粗いボクセルから粗い面ＦαCのために集められる（ステップ１１０６）。その後、質点は細かい平行六面体（ステップ１１０８）を使用して、粗いボクセル及び細かいボクセルから、黒面ＦαIRbのために、及びＶＲ細かい面ＦαIFのために集められる。最終的に、質点は、粗い平行六面体及び細かい平行六面体の間の差を使用して、粗いボクセルから赤面ＦαIRrのために集められる（ステップ１１１０）。
次に、細かいボクセル又はＶＲ面と相互に作用する粗いボクセルは、細かいボクセルの集合へ分解される（ステップ１１１２）。単一の粗い時間ステップ内の細かいボクセルへ質点を送る粗いボクセルの状態は、分解される。例えば、面によって交差しない粗いボクセルの適切な状態は、図２のマイクロブロックのように適応させられた細かい８のボクセルへ分解される。１つ以上の面によって交差する粗いボクセルの適切な状態は、任意の面によって交差しない粗いボクセルの部分に対応する全体及び／又は部分的細かいボクセルの集合へ分解される。粗いボクセルのための質点密度Ｎi（ｘ）及びその分解に起因する細かいボクセルは等しいが、しかし、細かいボクセルは、粗いボクセルの断片的因子及び他方の細かいボクセルの断片的因子と異なる断片的因子Ｐfを有している。
その後、表面力学は、細かい面ＦαIF及びＦαF（ステップ１１１４）のために、及び黒面ＦαICb（ステップ１１１６）のために実行される。力学は図９に示す手続きを使用して、上に議論したように実行される。
次に、質点は、実際の細かいボクセルを含む細かいボクセル及び粗いボクセルの分解に起因する細かいボクセルの間で移動される（ステップ１１１８）。一度、質点が移動されたならば、質点は、細かい面ＦαIF及びＦαFから細かいボクセルまで分散する（ステップ１１２０）。
質点は、さらに、黒面ＦαICbから細かいボクセル（これは粗いボクセルを分解させることに起因する細かいボクセルを含んでいる）まで分散する（ステップ１１２２）。表面の存在がないその時にボクセルが質点を受け取った場合、質点は細かいボクセルに分散される。ボクセルが実際の細かいボクセル（粗いボクセルの分解展開に起因する細かいボクセルに対立するものとしての）である場合、又はボクセルＮ（ｘ）を越える１つの速度単位であるボクセルＮ（ｘ＋ｃi）が実際の細かいボクセルである場合、又はボクセルＮ（ｘ）を越える１つの速度単位であるボクセルＮ（ｘ＋ｃi）が、粗いボクセルの分解展開に起因する細かいボクセルである場合、質点はボクセルＮ（ｘ）に特に分散される。
最終的に、第１の細かい時間ステップは、細かいボクセル上で流体力学を実行することによって完了する（ステップ１１２４）。流体力学が実行されるボクセルは、粗いボクセルを分解させることに起因する、細かいボクセルを含んでいない（ステップ１１１２）。
手続き１１００は、第２の細かい時間ステップの間、類似したステップを実行する。最初に、質点は、第２の表面対表面の移流段階において表面間で移動される（ステップ１１２６）。質点は、黒面から赤面まで、黒面から細かい面まで、細かい面から赤面まで、及び細かい面から細かい面まで、移流される。
質点が表面間の移流された後、質点は収集段階においてボクセルから集められる（ステップ１１２８〜１１３０）。質点は細かい平行六面体を使用して、細かいボクセルから赤面ＦαIRrのために集められる（ステップ１１２８）。質点は、さらに細かい平行六面体を使用して、細かいボクセルから細かい面ＦαF及びＦαIFのために集められる（ステップ１１３０）。
その後、表面力学は、上に議論されたように、細かい面ＦαIF及びＦαFのために（ステップ１１３２）、粗い面ＦαCのために（ステップ１１３４）、及び赤面ＦαICr（ステップ１１３６）のために実行される。
次に、質点は、細かい分解（ステップ１１３８）を使用してボクセルの間で移動され、質点が細かいボクセル及び粗いボクセルを示す細かいボクセルの相互間で移動される。その後、質点は、粗い分解（ステップ１１４０）を使用して、質点が粗いボクセル間で移動されるようにボクセルの間で移動される。
次に、結合ステップにおいて、質点が面からボクセルまで分散されつつ、粗いボクセル（すなわち、粗いボクセルを分解させることに起因している細かいボクセル）を表わす細かいボクセルは合体され粗いボクセルになる（ステップ１１４２）。この結合ステップで、質点は、粗い平行六面体を使用して粗い面から粗いボクセルヘ、細かい平行六面体を使用して細かい面から細かいボクセルへ、細かい平行六面体を使用して赤面から細かいボクセル又は粗いボクセルへ、さらに、粗い平行六面体及び細かい平行六面体の間の差分を使用して黒面から粗いボクセルへ、分散される。最終的に、流体力学は、細かいボクセル及び粗いボクセルのために実行される（ステップ１１４４）。
図１２を参照すると、上記システムは、機能ユニット１０を使用して実行することができる。このユニット１０は、メモリバンク１４と規則記憶装置１６とに接続された用途特定集積回路（「ＡＳＩＣ」）１２を含む。システムは、単一の機能ユニット１０を使用して実行することができるが、ＡＳＩＣ１２は、数百、数千の機能ユニット１０が改善された性能のために並行に接続されて演算できるように、設計されている。
ＡＳＩＣ１２は、縮小命令セット型コンピュータ（「ＲＩＳＣ」）プロセッサ２０と指示キャッシュ２２とＲＩＳＣインターフェース論理部２４とを含むプロセッサ制御ユニット（「ＰＣＵ」）１８を含む。プロセッサ制御ユニット１８は、中央コントローラとして動作し、ベクトル状のコマンドを様々な機能ユニットに発する。機能ユニットは、共通プロセッサとして動作し、プロセッサ制御ユニット１８からの指示を受け取り、任務を終了するための指示の予め定義されたシーケンスのセットを実行する。プロセッサ制御ユニット１８に対する指示は、メモリバンク１４へとダウンロードされ、プロセッサ制御ユニット１８によってここから実行される。これらの指示制御プロセッサは、ユニット１８を制御して、ユニット１８から、ＡＳＩＣ１２における他の機能ユニットにコマンドを送らせる。
ＰＣＵ１８に対する指示を記憶することに加えて、メモリバンク１４は、関連するデータ構造及びオーバヘッド情報に沿ってＡＳＩＣ１２に割り当てられた各ボクセル毎に質点の状態を記憶する。メモリバンク１４によって供給された記憶の量は、ＡＳＩＣ１２が全シミュレーション容量の一部として割り当てることのできる分解能（resolusion）の量を書き取っている。メモリバンク１４は、標準生産の同期ＤＲＡＭのセットから構成されている。このＤＲＡＭは、パイプラインになっているアクセスモードと高データ帯域幅能力とにより標準同期ＤＲＡＭに亘って選択されている。
マイクロ力学ユニット（「ＭＤＵ」）は、マイクロ力学制御論理部２６とマイクロ力学データパス２８とを含み、質点力学の処理に対して信頼性のある機能ユニットである。これは、表面のみならず、質点間の相互作用を含む。マイクロ力学データパス２８は、ボクセルデータについての演算を実行するために必要なハードウェアを含む。マイクロ力学制御論理部２６は、データパスを設定して、正しい演算を実行すると共に処理すべき適切なデータを選択する。マイクロ力学制御論理部２６は、データパスを設定して、規則記憶装置１６から検索した規則のセットに基づいてデータを選択する。規則記憶装置１６は、ＳＲＡＭから構成されて、マイクロ力学規則が変化するときに、メモリをロードする能力と高速アクセス時間とを提供する。
マルチポートＲＡＭ３０は、マイクロ力学データパス２８が実際に処理している関連データ及び質点の状態に対するレジスタファイルとして動作する。ＲＡＭ３０は、９ポートスタティックＲＡＭであり、２５６個の６４ビットエントリを有し、２つの読取りポートと２つの書込みポートとをマイクロ力学データパス２８に供給する。さらに、ＲＡＭ３０は、読取りポートと書込みポートとをマイクロブロックユニット３２に提供する。このポートの第３のセットが、統計と同様にＲＡＭ３０とメモリアクセスユニット３４との間に共存するデータ移動に対して使用される。メモリアクセスユニット３４は、ＡＳＩＣ１２内の質点データ転送の中心源及び目的であり、メモリバンク１４を制御する。
図１３及び図１４も参照すると、マイクロ力学データパス２８は、１のボクセルの処理に必要な８ビットデータパス２９の８つの同一コピーを提供することによって、８つのボクセルを並行に処理する。マイクロ力学制御論理部２６は、ＳＩＭＤ（単一指示多重データ（single instruction multiple data））コントローラとして構成され、８つのサイトの全てが設定されて、独立のボクセルデータに同一の演算を実行する。
バスインターフェースユニット（「ＢＩＵ」）３６は、例えばシステムの制御に使用される目的「ホスト」プロセッサなどの外部プロセッサにＡＳＩＣ１２を接続する。（ホストプロセッサ又は他の外部プロセッサは面した表面との質点の相互作用をモデル化するとき用いられる浮動小数点演算動作を実行するために使用され得る。）ＢＩＵ３６の主たる機能は、システムのホストプロセッサにパスを提供してＡＳＩＣ１２に初期化情報を提供し、ＡＳＩＣ１２からホストプロセッサに統計情報を送る。さらに、ＢＩＵ３６は、メモリアクセスユニット３４にパスを提供するので、メモリバンク１４は、ホストプロセッサにアクセス可能になる。
移流ユニット（「ＡＵ」）３８は、データパスを形成し、質点を立方格子に沿って移流（移動）せしめるように制御し、別のＡＳＩＣ１２によって所有される目的のボクセルに移動する質点のサポートを含む。質点を別のＡＳＩＣ１２によって所有されるボクセルに送るために、ＡＵ３８は、通信ポートを含む。
マイクロブロックユニット３２は、ＭＤＵにおいて処理されるデータについての統計を計算する役目をなす。ボクセルデータがＭＤＵにおいて処理された後、マイクロブロックユニット３２は、ボクセルデータを使用して統計を生成する。次に、データは、メモリアクセスユニット３４を介してメモリバンク１４に戻される。
ＲＩＳＣプロセッサ２０は、３２ビットの整数演算論理動作の標準セットを実行することができる。実際、ＲＩＳＣプロセッサは、コード化されて、標準プロセッサのように、メモリ内のプログラムを実行する。
メモリマップは、プロセッサの４ＧＢアドレス空間に以下の３つのセグメントを作成するＡＳＩＣ１２に対して設けられる。
１）  ＭＡＵによって制御される外部メモリバンクへの直接アクセスの２ＧＢ（−８ＭＢ）
２）  機能ユニットによって所有され復号化されるオン・ＡＳＩＣメモリマップド（memory mapped）レジスタ及び指示の８ＭＢ
３）  ＢＩＵを介して接続されるオフ・チップホストメモリアクセスの２ＧＢ
ＰＣＵの論理部は、ＲＩＳＣプロセッサによって発せられたアドレスを復号し、それが送られる場所を決定する。ローカルメモリの要求は、ＭＡＵに送られる。機能ユニット指示を含むメモリマップドレジスタ読取り及び書込みは、適切な機能ユニットに送られる。ホストメモリリファレンスが、ＢＩＵに送られ、ＢＩＵは要求をホストシステムに送る。
ＭＡＵからメモリ転送を要求することのできる４つの機能ユニット、すなわち、プロセッサ制御ユニットと、バスインターフェースユニットと、マイクロブロックユニットと、移流ユニットとが存在する。ＭＡＵは、これらの４つのユニットからの要求を仲介して、単一かつ多重のワード転送（word transfers）を許可する。ＭＡＵは、ＤＭＡエンジンを維持してバースト転送をサポートする。ＭＡＵから許可を受けたとき、ユニットは、ＭＡＵに接続し、その転送が終了するまでデータを運用して受信する。
ＲＩＳＣプロセッサは、様々な機能ユニットとＭＡＵとの間の多くのデータパケットの転送を開始する。このモデルの機能ユニット、またはコプロセッサは、システム、すなわちＡＳＩＣレベル転送を認識しない。ユニットに、ＲＩＳＣエンジンによって、実行すべき課題とデータとが与えられ、ユニットは、そのデータを局所的に処理する。例えば、プロセッサは、マイクロブロックユニットに、ＭＡＵによって制御されるメモリからデータの特定のブロックを取ってきてマルチポートＲＡＭに置くように指示する。次に、ＲＩＳＣエンジンは、マイクロ力学ユニットに指示を発してそのデータを処理する。処理が終了した後、ＲＩＳＣエンジンは、マイクロブロックユニットに、マルチポートＲＡＭからデータのブロックを引出してメモリの特定の位置に戻すように指示する。
メモリ要求を始動するＰＣＵに加えて、ＭＡＵメモリ転送の２つのオフ・チップソース、すなわち、ＢＩＵを介してホストシステムによって始動されるメモリ要求と、ＡＵの通信ポートを介して他のプロセッサから入力されるデータと、が存在する。
コプロセッサユニットは、ＲＩＳＣエンジンからの単一のコマンドと局所記憶装置に保持されているデータのブロックとに基づいて、数十から数百、数千のサイクルを取るルーチンを処理することができる。この処理の長さによって、ＲＩＳＣエンジンに、計算の実行に加えてコマンドを発すると共に、他のユニットの状態をチェックする十分かつ自由な時間が許可されて、データ構造を更新したり、または次のプロセスに対するセグメントを決めたりする。
ＲＩＳＣプロセッサは、メモリマップド書込みを介して、機能ユニットに指示を発する。書込みのアドレスは、その機能ユニットに対する指示の演算コードに沿って機能ユニットを特定する。書込みによって供給される３２ビットのデータは、演算コードのパラメータである。各演算コードは、データパスを分析する方法を特定する。各機能ユニットは、一回に１のみの指示しか扱うことができない。ユニットが以前に発せられた指示の処理で使用中の場合、新しい指示はＰＣＵにてペンディングされる。ＲＩＳＣプロセッサも、機能ユニットの各々のレジスタ及び状態の読取りが自由であり、機械の現在の状態を判別する。
メモリマップド指示を発するために必要な復号制御ループからＲＩＳＣプロセッサをオフロードするために、指示キュー（待ち行列）がＰＣＵに供給されて多数の指示の列を形成する。ユニットが新しい指示を取るために自由になると直ちに、列の先頭の指示が適切な機能ユニットに送られる。ユニットが使用中であれば、次に列は指示を発せず次の全ての指示を止める。この待ち行列形成機構によって、機能ユニット間の依存性は、列形成指示を発するときに符号化される。任意の時刻において、プロセッサは、自由になり、指示列をバイパスして指示を直接機能ユニットに対して機能ユニットから情報を読み込む。
他の実施例は次の請求の範囲内にある。例えば、「物理的プロセスシミュレーションの粘性縮小」、米国特許出願第08/255,409号、出願日1994年６月８日においてツラブ（Traub）らによって開示された過緩和技術を使用して、シミュレーションの粘性を修正することができる。
粘性は剪断力（すなわち、流体の流れの方向と平行に作用する力）に対する流体の抵抗の基準である。実際の流体では、粘性は、質点の速度を平均値へ引き寄せる流体中の近隣の質点間の相互作用に起因する。格子システムでは、粘性は、ボクセルに位置した質点の正味速度を、近隣ボクセルに位置した質点の正味速度へ引き寄せる特定のボクセルに位置した質点間の相互作用に起因する。格子システム中の各ボクセルが実際の質点によって占められる物理的空間より本質的に大きいシミュレーションされた空間の領域を表わすので、ボクセル間の相互作用に起因する粘性は、実際の流体中の分子の質点相互作用に起因するそれより本質的に大きい（すなわち、各ボクセル相互作用に起因する「平均」は、個々の分子の質点相互作用に起因するそれより空間の本質的により大きな領域に影響する）。
格子システム中の粘性は、格子の密度を増加させることによって（すなわち各ボクセルによって表わされるシミュレーションされた空間の量を減少させることによって）縮小でき、過剰緩和の使用によっても縮小できる。粘性νは、次式の緩和パラメタωの項で表現できる。
0003932142.tif 000038
式中、Ｔが流体の温度である。したがって、例えば、１の緩和パラメタ（ν＝Ｔ／２）に関して、１．８の緩和パラメタ（ν＝Ｔ／１８）は、９の因数だけ格子中の粘性を縮小する。
過剰緩和の使用は、有効に格子の密度を増加させる。したがって、過剰緩和の使用は、特定の分解（又は特定のプロセッサが物理的システムをシミュレーションできる分解）による物理的システムをシミュレーションするのに必要な処理に劇的効果がある。例えば、３次元格子の有効密度の１０倍の増加は、ほとんど１万（すなわち、与えられた速度の流体をシミュレーションするのに必要な時間において、１０の三乗から過剰緩和を実行するのに必要な付加的処理を引いて、１０倍の減少を掛けたもの）の因数だけ分解の特定のレベルまで、格子を持った物理的システムをシミュレーションするのに必要な処理を縮小する。
シミュレーションされた物理的プロセスの粘性を変更するために、コンピュータシステムは状態ベクトル上で粘性修正演算を実行する。これらの演算は、マイクロ力学演算の後に典型的に実行され、マイクロ力学演算中に適用され規則と同じ又は類似した規則のセットを適用する。同じ規則が適用される場合、規則はマイクロ力学演算中に第１の量によって、また、粘性修正演算中に第２の量によって、状態べクトルを修正し、ここで第１の量は緩和パラメタによって第２の量と関係がある。相互作用演算中で使用される規則が質量、運動量及びエネルギーを保存するので、この手法はこれらの特性が粘性修正演算中に保存されることを保証する。
第２の量が緩和パラメタに由来した実数を第１の量に掛けることによって決定される場合、増加の結果は第２の量が整数値であることを保証するために打切られる。打切り演算が統計バイアスをシステムへ導入する事を防止するために、０及び１の間の任意値は、打切りに先立って増加の結果に加えられる。
格子システムの粘性は、１を越え２未満の値の緩和パラメタの使用によって縮小される。緩和パラメタが２に接近するとともに、シミュレーションされたシステムの粘性は０に接近して、システムは不安定になる。本質的に摩擦の形式である粘性は、システムの変動を制動する傾向がある。したがって、粘性がない場合、不安定性は生じる。なぜならこれらの変動がシステムを通して未検査で広がるからである。１．９以下である緩和パラメタの使用によって一般に不安定性を回避できることが知見された。
【図１】
0003932142.tif 000039
【図２】
0003932142.tif 000040
【図３】
0003932142.tif 000041
【図４】
0003932142.tif 000042
【図５】
0003932142.tif 000043
【図６】
0003932142.tif 000044
【図７】
0003932142.tif 000045
【図８】
0003932142.tif 000046
【図９】
0003932142.tif 000047
【図１０】
0003932142.tif 000048
【図１１】
0003932142.tif 000049
【図１２】
0003932142.tif 000050
【図１３】
0003932142.tif 000051
【図１４】
0003932142.tif 000052