(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-25
(45)【発行日】2024-07-03
(54)【発明の名称】安定した陽的拡散の性能及び精度の向上
(51)【国際特許分類】
G06F 30/23 20200101AFI20240626BHJP
G06F 30/28 20200101ALI20240626BHJP
G16Z 99/00 20190101ALI20240626BHJP
G06F 113/08 20200101ALN20240626BHJP
【FI】
G06F30/23
G06F30/28
G16Z99/00
G06F113:08
【外国語出願】
(21)【出願番号】P 2019147159
(22)【出願日】2019-08-09
【審査請求日】2022-08-08
(32)【優先日】2018-08-09
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514180812
【氏名又は名称】ダッソー システムズ アメリカス コーポレイション
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100141553
【氏名又は名称】鈴木 信彦
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【氏名又は名称】上杉 浩
(72)【発明者】
【氏名】ナゲンドラ クリシュナマーシー
(72)【発明者】
【氏名】ルカ ダレッシオ
(72)【発明者】
【氏名】ジャン ラオヤン
(72)【発明者】
【氏名】チェン フードン
【審査官】松浦 功
(56)【参考文献】
【文献】特開平05-066207(JP,A)
【文献】特開2001-101159(JP,A)
【文献】特開2016-020731(JP,A)
【文献】特表2015-507778(JP,A)
【文献】特表2016-528628(JP,A)
【文献】特開2014-222184(JP,A)
【文献】特開平05-233589(JP,A)
【文献】米国特許第05910902(US,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00 -30/398
G16Z 99/00
G06Q 50/04 -50/06
(57)【特許請求の範囲】
【請求項1】
入力熱流束を空間グリッドの第1の要素に付与するように決定するステップであって、前記第1の要素の対応する面の各々に付与された対応する熱流束を識別することを含むステップと、
前記対応する熱流束を前記第1の要素の前記面の少なくとも1つに付与することがCourant-Friedrichs-Lewy制約下の数値的不安定性をもたらすことになるかを判定するステップと、
前記対応する熱流束の前記第1の要素の前記面の少なくとも1つに付与することがCourant-Friedrichs-Lewy制約下の数値的不安定性をもたらすことになると判定されたことに応答して、前記対応する入力熱流束を付与熱流束とバランス熱流束に分割するステップであって、前記付与熱流束はCourant-Friedrichs-Lewy制約下の数値的不安定性を生じることなく前記第1の要素の温度発展に向けて使用できる熱流束の量であるステップと、
前記バランス熱流束を決定するステップであって、前記バランス熱流束は前記対応する入力熱流束と前記付与熱流束の差であるステップと、
前記バランス熱流束を前記空間グリッドの第2の要素に与えるステップと、
を備える、物理過程をシミュレートするため
にコンピュータ
が実
行する方法。
【請求項2】
前記第2の要素はスカラ勾配の方向に基づいて決定される、請求項1に記載の方法。
【請求項3】
前記バランス熱流束の少なくとも一部を前記空間グリッドの第3の要素に与えるステップを更に備える、請求項1に記載の方法。
【請求項4】
前記物理過程は、エンジンなどの動力発生機器における熱流、ターボ機械における熱流、電磁機械における熱流、電子機器からの廃熱管理、センサ及びアクチュエータの熱的な管理及び防護、熱駆動型のストレス及び疲労、熱駆動型の機械的衝撃、固体における熱駆動型の化学変化、熱駆動型の消磁、導体における電気発熱と熱流の結合、半導体における熱発生と伝導、熱電デバイスにおける熱及び電流の流れ、熱駆動型の寸法変化、ヒートシンク、熱交換機における固体伝導、単一相材料及び相変化材料における熱エネルギ貯蔵、PCB、タイヤ、及び鉄筋コンクリートなどの複合構造物における詳細な熱流、自動車のエンジンブロック、センサ、触媒、ハンドル、座席、及びバッテリに使用される電気ヒータ、自動車のフロントガラス及びミラーに対する除氷及び除霜に使用される電気ヒータ、並びに製造及び運転時における車両構造を通した熱伝導、の内の1つである、請求項1に記載の方法。
【請求項5】
非一時的コンピュータ可読媒体であって、実行されたときにコンピュータプロセッサに対して、
入力熱流束を空間グリッドの第1の要素に付与するように決定するステップであって、前記第1の要素の対応する面の各々に付与された対応する熱流束を識別することを含むステップと、
前記対応する熱流束を前記第1の要素の前記面の少なくとも1つに付与することがCourant-Friedrichs-Lewy制約下の数値的不安定性をもたらすことになるかを判定するステップと、
前記対応する熱流束の前記第1の要素の前記面の少なくとも1つに付与することがCourant-Friedrichs-Lewy制約下の数値的不安定性をもたらすことになると判定されたことに応答して、前記対応する入力熱流束を付与熱流束とバランス熱流束に分割するステップであって、前記付与熱流束はCourant-Friedrichs-Lewy制約下の数値的不安定性を生じることなく前記第1の要素の温度発展に向けて使用できる熱流束の量であるステップと、
前記バランス熱流束を決定するステップであって、前記バランス熱流束は前記対応する入力熱流束と前記付与熱流束の差であるステップと、
前記バランス熱流束を前記空間グリッドの第2の要素に与えるステップと、を備える
物理過程をシミュレートするための操作を実行させる命令を保存する非一時的コンピュータ可読媒体。
【請求項6】
前記第2の要素はスカラ勾配の方向に基づいて決定される、請求項5に記載の非一時的コンピュータ可読媒体。
【請求項7】
前記バランス熱流束の少なくとも一部を前記空間グリッドの第3の要素に与えるステップを更に備える、請求項5に記載の非一時的コンピュータ可読媒体。
【請求項8】
前記物理過程は、エンジンなどの動力発生機器における熱流、ターボ機械における熱流、電磁機械における熱流、電子機器からの廃熱管理、センサ及びアクチュエータの熱的な管理及び防護、熱駆動型のストレス及び疲労、熱駆動型の機械的衝撃、固体における熱駆動型の化学変化、熱駆動型の消磁、導体における電気発熱と熱流の結合、半導体における熱発生と伝導、熱電デバイスにおける熱及び電流の流れ、熱駆動型の寸法変化、ヒートシンク、熱交換機における固体伝導、単一相材料及び相変化材料における熱エネルギ貯蔵、PCB、タイヤ、及び鉄筋コンクリートなどの複合構造物における詳細な熱流、自動車のエンジンブロック、センサ、触媒、ハンドル、座席、及びバッテリに使用される電気ヒータ、自動車のフロントガラス及びミラーに対する除氷及び除霜に使用される電気ヒータ、並びに製造及び運転時における車両構造を通した熱伝導、の内の1つである、請求項5に記載の非一時的コンピュータ可読媒体。
【請求項9】
物理過程をシミュレートするためのシステムであって、
1又は2以上の処理デバイスと、
1又は2以上のハードウェア記憶デバイスであって、前記1又は2以上の処理デバイスによって実行されたときに前記1又は2以上の処理デバイスに
入力熱流束を空間グリッドの第1の要素に付与するように決定するステップであって、前記第1の要素の対応する面の各々に付与された対応する熱流束を識別することを含むステップと、
前記対応する熱流束を前記第1の要素の前記面の少なくとも1つに付与することがCourant-Friedrichs-Lewy制約下の数値的不安定性をもたらすことになるかを判定するステップと、
前記対応する熱流束の前記第1の要素の前記面の少なくとも1つに付与することがCourant-Friedrichs-Lewy制約下の数値的不安定性をもたらすことになると判定されたことに応答して、前記対応する入力熱流束を付与熱流束とバランス熱流束に分割するステップであって、前記付与熱流束はCourant-Friedrichs-Lewy制約下の数値的不安定性を生じることなく前記第1の要素の温度発展に向けて使用できる熱流束の量であるステップと、
前記バランス熱流束を決定するステップであって、前記バランス熱流束は前記対応する入力熱流束と前記付与熱流束の差であるステップと、
前記バランス熱流束を前記空間グリッドの第2の要素に与えるステップと、を備える操作を実行させるように動作可能な命令を保存する1又は2以上のハードウェア記憶デバイスと、
を備えるシステム。
【請求項10】
前記第2の要素はスカラ勾配の方向に基づいて決定される、請求項9に記載のシステム。
【請求項11】
前記バランス
熱流束の少なくとも一部を第3の要素に与えるステップを更に備える、請求項9に記載のシステム。
【請求項12】
前記物理過程は、エンジンなどの動力発生機器における熱流、ターボ機械における熱流、電磁機械における熱流、電子機器からの廃熱管理、センサ及びアクチュエータの熱的な管理及び防護、熱駆動型のストレス及び疲労、熱駆動型の機械的衝撃、固体における熱駆動型の化学変化、熱駆動型の消磁、導体における電気発熱と熱流の結合、半導体における熱発生と伝導、熱電デバイスにおける熱及び電流の流れ、熱駆動型の寸法変化、ヒートシンク、熱交換機における固体伝導、単一相材料及び相変化材料における熱エネルギ貯蔵、PCB、タイヤ、及び鉄筋コンクリートなどの複合構造物における詳細な熱流、自動車のエンジンブロック、センサ、触媒、ハンドル、座席、及びバッテリに使用される電気ヒータ、自動車のフロントガラス及びミラーに対する除氷及び除霜に使用される電気ヒータ、並びに製造及び運転時における車両構造を通した熱伝導、の内の1つである、請求項9に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、流体流れなどの物理過程のコンピュータシミュレーションに関する。
【背景技術】
【0002】
高レイノルズ数の流れは、多数の離散的空間位置の各々で巨視的な物理量(例えば、密度、温度、流速など)を表す変数に関して高精度な浮動小数点演算操作を実行することによる、ナビエ-ストークス微分方程式の離散化解法(discretized solutions)を生み出すことでシミュレートされてきた。別の手法は、この微分方程式を格子ガス(又はセル)オートマトンとして一般的に知られるものに置き換え、その場合、ナビエ-ストークス方程式を解くことで与えられる巨視的なレベルのシミュレーションは、格子上のサイト間を動いている粒子に対して操作を行う微視的なレベルのモデルで置き換えられる。
【発明の概要】
【課題を解決するための手段】
【0003】
一般に、本明細書に記載する主題の1つの革新的な態様は、入力流束(input flux)を第1の要素に付与するように決定する動作を含む方法において具現化することができる。本方法は、付与流束(applied flux)を決定する動作を含み、当該付与流束は、数値的不安定性を生じることなく第1の要素に付与することのできる量の流束である。本方法は、バランス流束を決定する動作を含み、バランス流束は入力流束と付与流束の差である。本方法はまた、バランス流束を第2の要素に与える動作を含む。
【0004】
この態様の別の実施形態は、対応するコンピュータシステムと、装置と、1又は2以上のコンピュータ記憶デバイス上に記録されたコンピュータプログラムとを含み、各々が本方法の動作を実行するように構成される。1又は2以上のコンピュータのシステムは、稼働時にシステムに動作を実行させるソフトウェア、ファームウェア、ハードウェア、又はそれらの組合せをシステムにインストールすることによって、特定の操作又は動作を実行するように構成することができる。1又は2以上のコンピュータプログラムは、データ処理装置により実行されたときに装置に動作を実行させる命令を含むことによって特定の操作又は動作を実行するように構成することができる。
【0005】
前述の並びに他の実施形態は各々、必要に応じて以下の特徴の内の1又は2以上を単独で又は組み合わせて含むことができる。第2の要素は、スカラ勾配の方向に基づいて決定することができる。方法は、バランス流束の少なくとも一部を第3の要素に与える動作を含むことができる。第1の要素に付与される入力流束を決定するステップは、第1の要素の面の各々に付与された熱流束を特定するステップを含むことができる。付与流束を決定するステップは、対応する熱流束を面の内の少なくとも1つに付与することが数値的不安定性をもたらすことになると判定するステップを含むことができる。物理過程は、エンジンなどの動力発生機器における熱流、ターボ機械における熱流、電磁機械における熱流、電子機器からの廃熱管理、センサ及びアクチュエータの熱的な管理及び防護、熱駆動型のストレス及び疲労、熱駆動型の機械的衝撃、固体における熱駆動型の化学変化、熱駆動型の消磁、導体における電気発熱と熱流の結合、半導体における熱発生と伝導、熱電デバイスにおける熱及び電流の流れ、熱駆動型の寸法変化、ヒートシンク、熱交換機における固体伝導、単一相材料及び相変化材料における熱エネルギ貯蔵、PCB、タイヤ、及び鉄筋コンクリートなどの複合構造物における詳細な熱流、自動車のエンジンブロック、センサ、触媒、ハンドル、座席、及びバッテリに使用される電気ヒータ、自動車のフロントガラス及びミラーに対する除氷及び除霜に使用される電気ヒータ、並びに製造及び運転時における車両構造を通した熱伝導、の内の1つとすることができる。
【0006】
本明細書に記載する主題の1又は2以上の実施形態に関する詳細を添付図面及び以下の説明で明らかにする。本主題の他の特徴、態様、及び利点は、これらの説明、図面、及び特許請求の範囲から明らかとなろう。様々な図面における同様の参照番号及び名称は、同様の要素を示す。
【図面の簡単な説明】
【0007】
【
図1】2つのLBMモデルの速度成分を説明する図である。
【
図2】2つのLBMモデルの速度成分を説明する図である。
【
図3】物理過程シミュレーションシステムが従う処理手順のフローチャートである。
【
図5A】
図3のシステムが使用する格子構造の図解である。
【
図5B】
図3のシステムが使用する格子構造の図解である。
【
図8】要素の熱流束を付与流束とバランス流束とに分割するステップの例示図である。
【
図9】複数の要素に亘ってバランス流束を連続的に伝達するステップの例示図である。
【
図10】熱流束を付与中の要素1000を説明する図である。
【発明を実施するための形態】
【0008】
本発明は、流体流れなどの物理過程のコンピュータシミュレーションに関する。
【0009】
LBMベースの物理過程シミュレーションシステムでは、流体流れは、離散速度ciの集合で評価される分布関数値f
iによって表現することができる。分布関数の動力学は下記の式に支配され、ここでf
i(0)は、次のように定義される平衡分布関数として既知である:
【数1】
この式は、分布関数f
iの時間発展を記述する周知の格子ボルツマン方程式である。左辺は、いわゆる「並進過程」による分布の変化を表す。並進過程は、流体のポケットがグリッド位置で出発して、次のグリッド位置まで速度ベクトルの内の1つに沿って移動する場合である。その時点で、「衝突因子」、つまり開始流体ポケットへの近傍流体ポケットの影響が計算される。流体は、別のグリッド位置に移動することだけが可能なので、全ての速度の全ての成分が共通速度の倍数となるように適切な速度の選択が必要である。
【0010】
最初の式の右辺は、流体ポケット間の衝突による分布関数の変化を表す、前述の「衝突演算子」である。本明細書で用いる衝突演算子の特定形式は、Bhatnagar、Gross及びKrook(BGK)による。衝突演算子は、分布関数を第2の式で与えられる所定値に向かわせ、それが「平衡」形式である。
【0011】
このシミュレーションから、質量ρ及び流速uなどの従来型流体変数が単純和として得られる。ここでは、ci及びwiの集団的な値がLBMモデルを規定する。LBMモデルは、大規模に実現可能なコンピュータプラットフォーム上に効率的に実装することができ、時間的に不安定な流れ及び複雑な境界条件に対する高い堅牢性を備えて実行することができる。
【0012】
流体系に対する巨視的な運動方程式をボルツマン方程式から得る標準的な技法は、完全なボルツマン方程式の連続近似が行われるChapman-Enskog法である。
【0013】
流体系では、密度の小さな外乱は音速で伝わる。気体系では、音速は一般に、温度によって決定される。流れにおける圧縮性の影響の重要性は、特徴的な速度と音速の比で評価され、その比はマッハ数として知られる。
【0014】
図1を参照すると、第1のモデル(2D-1)100は、21個の速度を含む2次元モデルである。これら21個の速度の内、1個(105)は動いていない粒子を表し、4個の速度の3組は、格子のx軸かy軸の何れかに沿って正方向か負方向の何れかへ、正規化速度(r)(110~113)か、正規化速度の2倍(2r)(120~123)か、正規化速度の3倍(3r)(130~133)の何れかで動いている粒子を表し、4個の速度の2組は、x軸とy軸の両方に対して、正規化速度(r)(140~143)か、正規化速度の2倍(2r)(150~153)の何れかで動いている粒子を表す。
【0015】
また、
図2に示すように、第2のモデル(3D-1)200は、39個の速度を含む3次元モデルであり、各速度が
図2の矢印の内の1つで表される。これら39個の速度の内、1個は動いていない粒子を表し、6個の速度の3組は、格子のx軸、y軸又はz軸に沿って正方向か負方向の何れかへ、正規化速度(r)か、正規化速度の2倍(2r)か、正規化速度の3倍(3r)の何れかで動いている粒子を表し、8個は、x、y、z格子軸の3つ全てに対して正規化速度(r)で動いている粒子を表し、12個は、x、y、z格子軸の内の2つに対して正規化速度の2倍(2r)で動いている粒子を表す。
【0016】
101個の速度を含む3D-2モデル及び37個の速度を含む2D-2モデルなど、より複雑なモデルも使用することができる。速度は、表1及び2それぞれに記載されるように、各軸に沿うその成分によって明瞭に記述することができる。
【0017】
3次元モデル3D-2の場合、101個の速度の内、1個は動いていない粒子を表し(グループ1)、6個の速度の3組は、格子のx軸、y軸又はz軸に沿って正方向か負方向の何れかへ、正規化速度(r)か、正規化速度の2倍(2r)か、正規化速度の3倍(3r)の何れかで動いている粒子を表し(グループ2、4、及び7)、8個の速度の3組は、格子のx、y、z格子軸の3つ全てに対して、正規化速度(r)、正規化速度の2倍(2r)、又は正規化速度の3倍(3r)で動いている粒子を表し(グループ3、8、及び10)、12個は、x、y、z格子軸の内の2つに対して正規化速度の2倍(2r)で動いている粒子を表し(グループ6)、24個は、x、y、z格子軸の内の2つに対して正規化速度(r)と正規化速度の2倍(2r)とで動いており、且つ残りの軸に対して動いていない粒子を表し(グループ5)、24個は、x、y、z格子軸の内の2つに対して正規化速度(r)で、且つ残りの軸に対して及び正規化速度の3倍(3r)で動いている粒子を表す(グループ9)。
【0018】
2次元モデル2D-2の場合、37個の速度の内、1個は動いていない粒子を表し(グループ1)、4個の速度の3組は、格子のx軸かy軸の何れかに沿って正方向か負方向の何れかへ、正規化速度(r)か、正規化速度の2倍(2r)か、正規化速度の3倍(3r)の何れかで動いている粒子を表し(グループ2、4、及び7)、4個の速度の2組は、x及びy格子軸の両方に対して、正規化速度(r)又は正規化速度の2倍(2r)で動いている粒子を表し、8個の速度は、x及びy格子軸の一方に対して正規化速度(r)で、且つもう一方の軸に対して正規化速度の2倍(2r)で動いている粒子を表し、8個の速度は、x及びy格子軸の一方に対して正規化速度(r)で、且つもう一方の軸に対して正規化速度の3倍(3r)で動いている粒子を表す。
【0019】
上記のLBMモデルは、2次元と3次元双方における流体の数値シミュレーションのために、対する効率的で堅牢な離散速度運動モデルの特定クラスを提供する。この種のモデルは、離散速度とそれらの速度と関係する重みとの特定セットを含む。これらの速度は速度空間におけるデカルト座標の格子点と一致し、これが、離散速度モデル、特に格子ボルツマンモデルとして知られる種類の正確で効率的な実装を容易にする。このようなモデルを用いて、高い忠実度で流れをシミュレートすることができる。
【0020】
図3を参照すると、物理過程シミュレーションシステムが処理手順300に従って動作して物理過程をシミュレートし、例えば流体流れが描写される。流れシミュレーションより前に、シミュレーション空間がボクセルの集合としてモデル化される(ステップ302)。シミュレーション空間は、コンピュータ支援設計(CAD)プログラムを用いて生成される。例えば、CADプログラムを用いて風洞内に位置決めされたマイクロデバイスを製図することができる。その後は、CADプログラムで生成されたデータを処理して、適切な分解能を有する格子構造を付加し、シミュレーション空間内で物体及び表面を明らかにする。
【0021】
格子の分解能は、シミュレートされる系のレイノルズ数に基づいて選択することができる。レイノルズ数は、流れの粘性率(ν)、流れ内の物体の特徴的長さ(L)、及び流れの特徴的速度(u)に関係する:
【数2】
【0022】
物体の特徴的な長さは、物体の大きな尺度での特徴を表す。 例えば、マイクロデバイス周囲の流れをシミュレートする場合、マイクロデバイスの高さを特徴的な長さと見なすことができる。物体の小領域周囲の流れ(例えば、自動車のサイドミラー)が対象となる場合には、シミュレーションの分解能を上げることができる、或いは対象領域の周囲に分解能を上げた区域を採用することができる。ボクセルの寸法は、格子の分解能が上がるにつれて減少する。
【0023】
状態空間はfi(x,t)として表現され、ここでfiは、時間tにおいて3次元ベクトルxで示される格子位置で時刻状態iにある単位体積当たりの要素又は粒子の数(すなわち、状態iにある粒子の密度)を表す。既知の時間増分に対して、粒子数は単にfiと呼ばれる。格子位置の全状態を合わせてf(x)と表す。
【0024】
状態数は、各エネルギレベル内で可能な速度ベクトルの数によって決定される。速度ベクトルは、3つの次元、x、y、及びzを有する空間で整数型の直線速度で構成される。複数粒子種のシミュレーションの場合には、状態数が増加する。
【0025】
各状態iは、特定のエネルギレベル(すなわち、エネルギレベル0、1又は2)における異なる速度ベクトルを表す。各状態の速度c
iは、以下のように、3つの次元の各々にその「速度」を備えて示される:
【数3】
【0026】
エネルギレベル0の状態は、何れの次元でも動いていない止まった粒子を表し、すなわち、cstopped=0,0,0)。エネルギレベル1の状態は、3つの次元の内の1つで±1の速度とその他の2つの次元で0速度とを有する粒子を表す。エネルギレベル2の状態は、3つの次元全てで±1の速度か、3つの次元の内の1つで±2の速度且つその他の2つの次元で0速度、の何れかを有する粒子を表す。
【0027】
3つのエネルギレベルの可能な順列の全てを生成すると、全部で39個の可能な状態(1個のエネルギ0状態、6個のエネルギ1状態、8個のエネルギ3状態、6個のエネルギ4状態、12個のエネルギ8状態及び6個のエネルギ9状態)が与えられる。
【0028】
各ボクセル(すなわち、各格子位置)は、状態ベクトルf(x)で表される。 状態ベクトルはボクセルの状態を規定し、39個のエントリを含む。39個のエントリは、1個のエネルギ0状態、6個のエネルギ1状態、8個のエネルギ3状態、6個のエネルギ4状態、12個のエネルギ8状態及び6個のエネルギ9状態に対応する。この速度集合を用いることにより、システムは、達成される平衡状態ベクトルに対してマクスウェル‐ボルツマン統計を作り出すことができる。
【0029】
処理効率のために、ボクセルはマイクロブロックと呼ばれる2x2x2の体積にグループ化される。マイクロブロックを編成して、ボクセルの並行処理を可能にし、データ構造に関係する間接費を最低限に抑える。マイクロブロック内のボクセルに対する簡易記法はN
i(n)と定義され、ここでnは、マイクロブロック内の格子位置の相対的な位置を表し、n∈{0,1,2,...,7}である。マイクロブロックを
図4に示す。
【0030】
図5A及び5Bを参照すると、表面S(
図3A)がシミュレーション空間(
図5B)にファセットF
αの集合として表されている。
【数4】
ここでαは、特定のファセットを列挙する指標である。ファセットはボクセル境界に限定されるのではなく、ファセットが比較的少数のボクセルに影響を及ぼすように、一般的にはファセットに隣接するボクセルのサイズ程度に又はそれより僅かに小さいサイズにされる。表面動力学を実行するために、ファセットに特性が割り当てられる。詳細には、各ファセットF
αは、単位法線(n
α)、表面積(A
α)、中心位置(x
α)、及びファセットの表面動特性を記述するファセット分布関数(f
i(α))を有する。
【0031】
図6を参照すると、シミュレーション空間の異なる領域で異なるレベルの分解能を用いて、処理効率を向上させることができる。一般的に、物体655周りの領域650が最も関心のある対象であり、それゆえ、最も高い分解能でシミュレートされる。粘性の影響は物体からの距離と共に減少するので、物体655から増加していく距離に配置される領域660、665をシミュレートするために、減少していく分解能レベル(すなわち、拡大したボクセル体積)が採用される。同様に、
図7に示すように、物体775のそれほど有意でない特徴の周りの領域770をシミュレートするためにより低い分解能レベルを使用することができるのに対し、物体775の最も有意な特徴(例えば、先端及び後端の表面)の周りの領域780をシミュレートするために最も高い分解能レベルが使用される。中心を離れた領域785は、最低の分解能レベルと最大のボクセルとを用いてシミュレートされる。
ファセットに影響されるボクセルを特定する
【0032】
再び
図3を参照すると、一旦シミュレーション空間がモデル化されると(ステップ302)、1又は2以上のファセットに影響されるボクセルが特定される(ステップ304)。ボクセルは、多くの形でファセットに影響されるとすることができる。まず第1に、1又は2以上のファセットと交差するボクセルは、交差しないボクセルと比べて体積が減少するという点で影響を受ける。これは、ファセットとファセットが表す表面の下にある物質とがボクセルの一部分を占めるために生じる。分画因子P
f(x)は、ファセットに影響されないボクセルの部分(すなわち、流れがシミュレートされる流体又は他の物質が占めることのできる部分)を表す。交差しないボクセルの場合、P
f(x)は1に等しい。
【0033】
ファセットへ粒子を移す又はファセットから粒子を受け入れることによって1又は2以上のファセットと相互作用するボクセルもまた、ファセットに影響されるボクセルとして特定される。ファセットと交差するボクセルは全て、ファセットから粒子を受け入れる少なくとも1つの状態と、ファセットへ粒子を移す少なくとも1つの状態とを含むことになる。ほとんどの場合、付加的なボクセルもまた、このような状態を含むことになる。
シミュレーションを実行する
【0034】
一旦1又は2以上のファセットに影響されるボクセルが特定されると(ステップ304)、シミュレーションを開始するためにタイマが初期化される(ステップ306)。シミュレーションの各時間増分の間、ボクセルからボクセルへの粒子の動きは、粒子の表面ファセットとの相互作用を説明する移流ステージ(ステップ308~316)によってシミュレートされる。次に、衝突ステージ(ステップ318)が各ボクセル内で粒子の相互作用をシミュレートする。その後、タイマが進められる(ステップ320)。シミュレーションが完了したことを進められたタイマが示さない場合には(ステップ322)、移流及び衝突のステージ(ステップ308~320)が繰り返される。シミュレーションが完了したことを進められたタイマが示す場合には、シミュレーションの結果が保存される及び/又は表示される(ステップ324)。
スカラ拡散
【0035】
拡散に支配される物理現象の数値シミュレーションは、伝導性熱伝達、質量拡散、電気伝導などにより、非常に一般的である。これらの現象に対する支配方程式は、非定常拡散項及び体積源項から成る一組の偏微分方程式(PDE)として定式化される。数値解は、対象となる空間領域を離散化するステップと、次いで解を時間的に進めるために時間積分技法を利用するステップとを伴う。空間的離散化は通常、高度に自動化されたグリッド生成ツールを用いて達成されるのに対して、時間的離散化(時間ステップ幅)は、許容できる数値コストで数値解の安定性及び精度を確保するために注意深く選ぶ必要がある。詳細には、時間進行スキームの安定性特性(Courant-Friedrichs-Lewy(CFL)制約条件)は、解を不安定にすることなく使用できる最大の時間ステップ幅を決定する。2つのタイプの時間進行スキームが一般に採用される-陰解法と陽解法である。一方で、陰解法は構成によりCFL制約条件を満たすため、解を不安定することなく大きな時間ステップを用いることができる(しかしながら、時間ステップが大きすぎると一般に不正確な結果をもたらす)。陰解法はマトリクス係数の大規模系の解を必要とし、従ってその実行を非自明でなく且つ計算処理的に高価なものにする。他方で、陽解法は実行するのが非常に簡単であり、計算処理的に安価で(1反復当たり)高度に並列処理可能であるが、厳しいCFL制約条件を満たす必要がある。陽的拡散スキーム(explicit diffusion scheme)に対するこの制約条件は、κΔt/Δx
2で与えられるCFL数が特定の限界値(O(1))未満であることを要求し、ここで、κは拡散係数であり、Δxは最小空間グリッドのサイズであり、Δtは時間ステップである。言い換えれば、空間グリッドサイズΔxがこの領域のどこかで因子Fだけ減少する場合、時間ステップΔtは、数値的安定性を維持するためにF2だけ減少しなければならないことになる。それゆえ、陽解法は、小サイズの要素を備えた空間グリッドに対して極端に小さな時間ステップを必要とし、シミュレーション効率にひどく悪影響を及ぼす場合がある。これは、このように小サイズの要素の数がシミュレーション領域内で非常に限られた場合でも当てはまる-領域全体での最小要素がCFL条件を、ひいては時間ステップ幅を決定する。複雑な幾何形状を伴う実際的な問題の場合、表面及び体積の離散化のために不揃いなグリッドの使用が不可避である。これらのグリッドについて、Δxは著しく変わる場合があり、CFL制約条件が要求する極端に小さな時間ステップのために、陽解法の使用が非常に非効率的となる場合がある。従って、陽的スキームの実践者は、空間グリッドの品質を改善しようとして膨大な時間と労力を費やし、問題を軽減しようとする。その場合でさえ、現実的な幾何形状のあらゆる離散化から小サイズの要素全てを取り除くことはほとんど不可能であり、結果として、小さな時間ステップ(少なくとも局所的に)が解を安定にするための唯一の方法である。
陽的スキームのために改善された拡散
【0036】
不揃いグリッド上の拡散問題に対する陽的スキームの前述の不具合を克服するために、さもなければ2つの隣接する要素の内の少なくとも1つがCFL制約条件に反する場合に、その要素間の流束計算に新しい修正を導入する。これらの修正は、次に記載するように、2つの要素の材質及び幾何学的特性と共に要素のごく近傍における対象となる量の現状態に依存し、2つの要素のサイズに関係なく数値解を安定化するのに役立って時間空間的な精度を保証する。2つの隣接する要素が大きい(従ってCFL制約条件を満たす)場合には、流束計算は、記載する手法が標準的な手法の首尾一貫した拡張であることを暗示する教科書的な実行に帰する。
【0037】
陽的オイラー法と有限体積定式化とを仮定する。以下の例では、対象となる量は温度であり、支配方程式は熱伝導方程式であるが、何れかのスカラ量を適切な支配方程式と共に使用できることを理解されたい。数値的スキームは、要素の全面における熱流束の計算を要求する。続いて、これらの流束を足し合わせて、着目する要素の温度を更新するために使用する。2つの面共有隣接要素α及びβを考察する。熱伝導のフーリエの法則によれば、熱流束は、
【数5】
(1)
ここで、k
m
αβは共通面における熱伝導率であり、
【数6】
は、共通面に垂直な温度勾配であり、「m」は、量が時間ステップ「m」で評価されることを明示するために使用される。
αに入る熱を(αを出る熱ではなく)考察するので、一般に使用されるフーリエの法則の形式における負号は外される。ここで使用する温度勾配は、特に異なるサイズの要素が存在する場合に、滑らかさを確保するように計算される。2つの隣接要素α及びβがCFL制約条件を満たす場合には、時間ステップmとm+1の間に共通面を横切るエネルギ移送は、熱流束に共通面の面積Aと時間ステップ幅dとを掛けることによって得られる、すなわち
【数7】
(2)
である。
【0038】
従来の手法では、時間ステップの終わりにおける要素αの温度は、αへの正味のエネルギ移送(全ての面からのエネルギ移送の総和)から計算される:
【数8】
(3)
【0039】
上記の式(3)は、温度変化が正味の熱流束に比例して要素のサイズ∀αに反比例する、すなわち、小さな要素の場合、正味のエネルギ移送がより大きな温度変化をもたらすと述べていることに注目する。
【0040】
2つの要素の内の少なくとも一方に対して時間ステップΔtがCFL制約条件に反するほど大きい場合に、上記の形式は数値的な不安定性をもたらすことができる。要素αが要素βよりも小さいシナリオでは、少なくとも要素αに対してCFL制約条件が破られる。この数値的な不安定性は、要素α(サイズが小さいと仮定した)の場合、qm
βi→αを計算するために使用する温度勾配が時間ステップΔtの持続時間の全体に亘って一定値のままであると仮定するのは正しくないために生じる。前述のように、同じ正味のエネルギ移送に対して小さな要素の温度変化はより大きく、それゆえ、標準的な陽的時間積分は、一定温度勾配の仮定が確実に有効となるようにその時間ステップを減少させることを要求する。明らかに所与のΔtに対して、この問題点は、問題にある非定常性が存在する限り存続し、全ての要素に対して入射及び出射する流束が互いに厳密に釣り合う定常状態でだけ消え失せる。
【0041】
新しい手法の一部として、式(1)として定義される項qm
βi→α項を以下の2つの部分に細分することを提案する:(1)αの(上記総和での)温度発展に向けて使用される付与流束qm
β→α
appと、(2)界面αβの反対側に伝達されるバランス流束qm
β→α
balである。
【0042】
図8は、要素の熱流束を付与流束とバランス流束とに分割するステップの例を示す。要素800は、矢印802で示されるように熱流束を受け取る。熱流束804は、従来法では要素800に完全に付与され、CFL制約条件を破ることになり、不安定性をもたらす。この例では、熱流束804は、付与流束806とバランス流束810とに分割される。概念的には、付与流束806は、CFL制約条件を破ることなく要素800に付与できる熱流束の量である。バランス流束808は、熱流束804と付与流束806の差である。
【0043】
付与流束806は要素800に付与される。バランス流束は下流側要素に移送される一方で、要素800から熱流束を受け取る(矢印808a~cで表されるように)。
【0044】
一部の実施態様では、バランス流束は、付与流束が要素800に付与される時間ステップに続く時間ステップで下流側要素に付与されるとすることができる。すなわち、付与流束を時間t=1で要素800に付与する場合、バランス流束を或る時間t>1で下流側要素に付与することができる。
【0045】
熱流束項q
m
β→αを以下のように表現することができる:
【数9】
(4)
ここで、項C
m
αβ及びΔGは、
【数10】
(5)
【数11】
(6)
で与えられ、並びに
【数12】
(7)
【0046】
上記の式では、幾何学的特徴は、温度勾配の計算に使用される距離dαβ、要素体積∀α及び∀β、共通面の面積Aαβによって表現される。材料特性は、ρm
α及びCp
α
m(ここでρは密度を、Cpは比熱を示す)と熱伝導率km
αβとによって説明される。総和qOLD
Γ→α及びqOLD
Γ→βでの流束項は、それぞれ要素α及びβの種々の面に存在すると見込まれる流束の妥当な推定値を与える。
【0047】
2つの流束項qm
β→α
app及びqm
β→α
balの物理的な解釈は次のとおりである。
【0048】
付与流束qm
β→α
app付与は、数値的不安定性を持ち込むことなく要素αの温度発展に向けて使用できる全流束qm
β→α
bal(式(1)で与えられる)の一部分を表す。この形式は、要素α及びβから成る孤立系の近傍において連続的に発展する温度場の影響の推定値を含めるために、この孤立系に対して第1原理から導出された。この理由から、この項は、要素の幾何学的/熱的な特性(Cm
αβ)の双方への依存性と共に、これらの要素の周囲環境との相互作用(ΔG)を示す。
【0049】
式(4)では、現時間ステップ中に他の面で進行している相互作用の推定値を与えるために、qm
β→α
appが前の時間ステップにおいてそれらの面で観測された流束に依然として依存していることに留意されたい。ひどく過渡的な問題の場合、これはqm
β→αとqm
β→α
appの間に不釣り合いをもたらす。バランス流束と呼ぶ第2項qm
β→α
balは、この不釣り合いを説明し、界面αβの反対側でαを通してその隣接要素に伝達される。このバランス流束は、CFL制約条件を満たすほどに十分大きい要素に置かれる場合にだけ温度発展のために付与され、それまでは流束方向に沿って連続的に伝達される。
【0050】
図9は、複数の要素に亘ってバランス流束を連続的に伝えるステップの例示図である。この例では、入力流束900が、或る時間ステップ(この例では、時間ステップt)で比較的小さな要素902に伝達される。この流束は、要素902へ流束全体を付与してしまうとCFL制約条件を破る結果となるようなものである。従って、この流束の一部912が要素902に付与されて、バランス流束908(すなわち、CFL制約条件を破らずに要素902に付与することはできない流束の部分)が第2の要素904へ渡される(例えば、時間ステップt+1で)。
【0051】
時間ステップt+1において、シミュレーションは、バランス流束を第2の要素に付与しようと試みることができる。付加的な入力流束912(例えば、異なる要素に由来する)をそれと同時に第2の要素に付与することもできる。入力流束913をバランス流束908と統合することができる。シミュレーションは、結果として生じる統合流束を第2の要素904に付与しようと試みることができる。この例では、統合流束全体を第2の要素904に付与することが、CFL制約条件を破る結果をもたらす。従って、入力流束915とバランス流束908の組合せの一部が、第2の要素904に付与され、新しいバランス流束910が、時間ステップt+2でより大きな第3の要素906に渡される。
【0052】
時間ステップt+2において、バランス流束910は流束914(シミュレーションの一部として、第3の要素に渡される流束)と統合される。この例では、CFL制約条件を破ることなく統合流束全体916(流束914とバランス流束910)を第3の要素に付与することができるので、新しいバランス流束は生成されない。
【0053】
上記スキームは、あらゆる2つの要素α及びβ間の界面において全流束(=qm
β→α)の正しい量を取り込む一方で、小さな要素αの温度発展に利用できる流束の量を正確に制御することを厳密に保証する。全体として、このスキームは、数値的安定性と共に、良好な空間的及び時間的な精度を維持することができる。最後に、定常状態では付与流束が全流束と等しくなりqm
β→α
app=qm
β→α、結果としてバランス流束はゼロとなるqm
β→α
bal=0。
【0054】
上記説明で述べたように、不揃いな空間グリッド上の拡散問題に対する陽的数値スキームを安定化するプロセスは、いくつかのアルゴリズムステップを含むことができる。
図10は、熱流束を付与中の要素1000を示す。
【0055】
このプロセスは、修正された熱流束の定義を適用すべき面-少なくとも一方がここでの判定基準、CFL条件に反する2つの要素間のあらゆる面を特定することができる。一部の実施態様では、他の全ての面では標準的な熱流束の定義を用いることができる。例えば
図10を参照すると、この例では、熱流束が要素1000の3つの面(面1008、面1010、及び面1012)に付与される。この例では、本プロセスは、面1008に付与される熱流束1002は標準的な定義を使用できるのに対して、面1010に付与される熱流束1004と面1012に付与される熱流束1006は、熱流束に対する修正された定義を必要とする。
【0056】
修正熱流束を必要とする面では、本プロセスは、解の滑らかさを確保するために、注目する要素の近傍で空間的に平均化された温度勾配を用いて全熱流束量を計算することができる。対照的に、標準的な熱流束は、従来の差分形式に基づいて計算された温度勾配を利用することができる。
【0057】
前述のように、修正熱流束は、2つの部分-付与流束及びバランス流束に分割することができる。付与流束は、注目する要素の温度発展式で使用することができる。バランス流束は、要素のサイズに応じて温度発展式で使用されたりされなかったりする場合がある。要素がCFL制約条件に反するほどに小さい場合、バランス流束を流束方向に隣接する要素に伝達することができる。その一方で、要素が大きい場合、バランス流束を温度発展に向けて使用することができる。
【0058】
前述のように、バランス流束は、それが最終的に十分大きな要素(そこで温度発展に向けて流束が付与される)に移されるまで、流束の方向に沿って連続的に伝達されるとすることができる。
【0059】
現在、変化する要素サイズを備えた不揃いグリッド上の拡散問題における数値的不安定性の問題を克服するために、少数の手法が採用されている。最も一般的に使用される手法は、このようなシナリオを低減するために、グリッド生成ツールに付加的な制約条件を強要する。その場合でも、この問題を完全に回避できる訳ではないので、安定性を保証するに足りるだけ十分に小さい汎用時間ステップを使用するか、小さなグリッド要素に遭遇した場合に局所的サブサイクリングを使用することが、一般的な方法である。第1の手法(小さい汎用時間ステップ)は、空間グリッド上のどこかで小サイズ要素がたった1つ出現する場合でも計算コストをかなり増大させ、一方で第2の手法(局所的サブサイクリング)は、そのアルゴリズム及びその実行の複雑さを増大させる。代わりの手法は、陽的スキームを完全に、又は少なくとも小さな要素に近い局所領域ではやめて、陰的スキームを使用することである。この手法は、陰的スキーム実行の複雑さと共に、並列化には都合の良くない方程式系をもたらす解の非局所性を抱える。
【0060】
これに対し、この新しい手法はいくつかの明確な利点を提供する。
(1)本手法は、グリッドにおける最小要素のサイズではなく、時間精度の考慮に基づいて単一の時間ステップ幅の使用を可能にする。あらゆる考えられるシナリオに対して、これは、計算コスト及び実行の容易さの点から莫大な恩恵である。
(2)提案する手法は、2つの隣接する要素の幾何学的特性への依存性を持ち、それによってこの手法が要素のサイズに関係なく機能することを保証する。従って、グリッド生成プロセスに関する通常の制約条件(グリッドの品質、サイズなど)を大幅に緩和することができる。
(3)新しい項を計算する計算コストはかなり妥当である。新しい項の数学的形式は簡単で、反復を一切伴わない。これは、計算コストを劇的に増加させる既存の手法(時間ステップ幅の縮小、或いは混成の陰的-陽的スキームの使用)とは一線を画す。
(4)定式化の体積性に起因して、このスキームは、多くの用途で重要な要件である厳密な保存性を維持する。
(5)新しい変更は依然として本質的に陽的であり、注目する要素から小距離内にある要素からの情報を要求し、これは、元の実施態様による計算ステンシルに関して最小限度の変更が必要とされることを暗示する。それゆえ、元の陽解法の並列化特徴は保たれ、大規模な計算において利点を活かすことができる。
【0061】
新しい手法は、多種多様な産業用途で使用することができる。例えば、本手法を用いて、エンジンなどの動力発生機器における熱流、ターボ機械における熱流、電磁機械(交流発電機、始動装置、牽引モータ、動力伝達系及び車室における様々なアクチュエータ)における熱流、電子機器からの廃熱管理、センサ及びアクチュエータの熱的な管理及び防護、熱駆動型のストレス及び疲労、熱駆動型の機械的衝撃、固体における熱駆動型の化学変化(例えば、プラスチックの経時変化、接着剤の硬化、塗料の硬化、熱硬化)、熱駆動型の消磁(例えば、キュリー温度効果)、導体における電気発熱と熱流の結合(例えば、電源ケーブル)、半導体における熱発生と伝導(例えば、ダイオード、IGBT、FETに跨る)、熱電デバイスにおける熱及び電流の流れ(熱電対、ゼーベック効果)、熱駆動型の寸法変化、ヒートシンク、熱交換機における固体伝導、単一相材料及び相変化材料における熱エネルギ貯蔵、PCB、タイヤ、及び鉄筋コンクリートなどの複合構造物における詳細な熱流、自動車のエンジンブロック、センサ、触媒、ハンドル、座席、及びバッテリに使用される電気ヒータ、自動車のフロントガラス及びミラーに対する除氷及び除霜に使用される電気ヒータ、並びに製造及び運転時における車両構造を通した熱伝導、をシミュレートすることができる。上記のリストは網羅的なものではなく、代わりに本明細書に記載する手法を使用できる用途の種類を代表する。
【0062】
本明細書に記載する主題及び機能上の操作の実施形態は、デジタル電子回路、実体的に具現化されたコンピュータソフトウェア又はファームウェア、コンピュータハードウェア(本明細書に開示する構造とそれらの構造的等価物とを含む)、又はそれらの1又は2以上の組合せで実装することができる。本明細書に記載する主題の実施形態はまた、1又は2以上のコンピュータプログラム(すなわち、データ処理装置による実行のために、或いはその動作を制御するために有形の非一時的プログラムキャリア上にコード化されたコンピュータプログラム命令の1又は2以上のモジュール)として実装することができる。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダム又はシリアルのアクセスメモリ、或いはそれらの1又は2以上の組合せとすることができる。
【0063】
用語「データ処理装置」はデータ処理用ハードウェアを指し、例としてプログラマブルプロセッサ、コンピュータ、或いは複数のプロセッサ又はコンピュータを含めて、データを処理するためのあらゆる種類の装置、デバイス及び機械を包含する。この装置はまた、専用論理回路(例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路))とする、或いはそれを含むことができる。ハードウェアに加え、この装置は必要に応じて、コンピュータプログラムに対する実行環境を作り出すコード(例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、或いはそれらの1又は2以上の組合せを構成するコード)を含むことができる。
【0064】
プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、又はコードと呼ばれる、或いは見なされることもあるコンピュータプログラムは、コンパイル形式又はインタプリタ形式の言語、或いは宣言型又は手続き型の言語を含めて、何れかのプログラム言語形式で書くことができ、独立型プログラムとして、或いはモジュール、コンポーネント、サブルーチン、又はコンピューティング環境での使用に適した他のユニットとして、を含め、何れかの形態で配備することができる。コンピュータプログラムは、ファイルシステム内のファイルに対応することができるが、必ずしもその必要はない。プログラムは、他のプログラム又はデータを保持するファイルの一部に保存することができる(例えば、当該プログラム専用の単一ファイル又は複数の連携ファイル(1又は2以上のモジュール、サブプログラム、或いはコードの部分)において、マークアップ言語文書内に保存された1又は2以上のスクリプト)。コンピュータプログラムは、1つのコンピュータ、或いは1つのサイトに位置する又は複数のサイトに亘って分散されてデータ通信ネットワークで相互接続された複数のコンピュータ上で実行されるように配備することができる。
【0065】
本明細書に記載するプロセス及び論理フローは、入力データを操作し出力を生成することによって機能を実施するために1又は2以上のコンピュータプログラムを実行する1又は2以上のプログラマブルコンピュータで実行することができる。このプロセス及び論理フローはまた、専用論理回路(例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路))で実行することができ、装置もまた、専用論理回路として実装することができる。
【0066】
コンピュータプログラムの実行に適したコンピュータは、汎用又は専用のマイクロプロセッサ又はその両方、或いは何れか他の種類の中央処理ユニットに基づくことができる。一般に、中央処理ユニットは、読出し専用メモリ又はランダムアクセスメモリ或いはその両方から命令及びデータを受け取ることになる。コンピュータに欠くことのできない要素は、命令を実施又は実行するための中央処理ユニットと、命令及びデータを記憶するための1又は2以上のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1又は2以上の大容量記憶デバイス(例えば、磁気ディスク、光磁気ディスク、又は光ディスク)を含む、或いはそれらからデータを受信する又はそれらにデータを転送するために動作可能に接続される、又はその両方となるが、コンピュータはこのようなデバイスを有する必要はない。更に、コンピュータは、別のデバイス(例えば、ほんのいくつか挙げるとするなら、携帯電話、携帯情報端末(PDA)、携帯オーディオ又はビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信機、又は可搬型記憶デバイス(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ))に組み込むことができる。
【0067】
コンピュータプログラム命令及びデータを記憶するのに適したコンピュータ可読媒体は、例として半導体メモリデバイス(例えば、EPROM、EEPROM、及びフラッシュメモリデバイス)、磁気ディスク(例えば、内部ハードディスク又はリムーバブルディスク)、光磁気ディスク、並びにCD-ROM及びDVD-ROMディスクを含めて、媒体及びメモリデバイス上の不揮発性メモリの全形態を含む。プロセッサ及びメモリを専用論理回路で補完する、又はその中に組み込むことができる。
【0068】
ユーザとの対話を実現するために、本明細書に記載する主題の実施形態は、ユーザに情報を表示するための表示デバイス(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)と、ユーザがコンピュータに入力を与えることのできるキーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有するコンピュータ上に実装することができる。他の種類のデバイスを用いて、同様にユーザとの対話を実現することができ、例えば、ユーザに与えられるフィードバックは、感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)の何れかの形態とすることができ、ユーザからの入力は、音響、音声、又は触覚入力を含めて、何れかの形態で受け取ることができる。更に、コンピュータは、ユーザが使用するデバイスとの間で文書を送受信することによって、例えば、ウェブブラウザから受信された要求に応えてユーザデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0069】
本明細書に記載する主題の実施形態は、バックエンドコンポーネントを(例えば、データサーバとして)含む、又はミドルウェアコンポーネント(例えば、アプリケーションサーバ)を含む、又はフロントエンドコンポーネント(例えば、本明細書に記載する主題の実施態様とユーザが対話できるグラフィカルユーザインタフェース又はウェブブラウザを有するクライアントコンピュータ)、或いは1又は2以上のこのようなバックエンド、ミドルウェア、又はフロントエンドのコンポーネントの何れかの組合せを含む、計算システムに実装することができる。本システムのコンポーネントは、デジタル通信の何れかの形態又は媒体(例えば、通信ネットワーク)で相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(LAN)とワイドエリアネットワーク(WAN)(例えば、インタネット)が含まれる。
【0070】
計算システムは、クライアント及びサーバを含むことができる。クライアントとサーバは一般に、互いに遠く離れており、典型的には通信ネットワークを介して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行されて互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。一部の実施形態では、サーバはデータ(例えば、HTMLページ)をユーザデバイスに送信し(例えば、ユーザデバイスと対話するユーザにデータを見せる、並びにそのユーザからユーザ入力を受け取るために)、これがクライアントとして機能を果たす。ユーザデバイスで生成されたデータ(例えば、ユーザ対話の結果)をサーバでユーザデバイスから受信することができる。
【0071】
本明細書は多くの具体的な実施態様の詳細を含むが、何れかの発明の範囲に関する又は請求可能なものの範囲に関する限定としてではなく、むしろ、特定発明の特定実施形態に特有とすることのできる特徴の記述として解釈すべきである。別個の実施形態に関連して本明細書に記載される特定の特徴は、単一の実施形態において組み合わせて実施することもできる。逆に、単一の実施形態に関連して記載される様々な特徴は、複数の実施形態において別々に、或いは何れかの適切な組合せで実施することもできる。更に、特定の組合せで機能するものとして特徴を前述し、そういうものとして初めに請求することさえできるが、請求された組合せに由来する1又は2以上の特徴を場合によりその組合せから削除することができ、請求された組合せを部分的組合せ又は部分的組合せの変形形態に向けることができる。
【0072】
同様に、図面では特定の順序で操作を描写するが、これを、所望の結果を達成するにはこのような操作を示された特定の順序で又は逐次的な順序で実行すべきである、或いは図示の操作全てを実行すべきであるということを要求するものとして理解すべきではない。特定の状況では、マルチタスク及び平衡処理が有利な場合がある。更に、前述の実施形態における様々なシステムモジュール及びコンポーネントの分離は、全ての実施形態でこのような分離が必要とされるものと理解すべきでなく、記載するプログラムコンポーネント及びシステムは一般に、単一のソフトウェア製品に統合される、又は複数のソフトウェア製品にパッケージ化されるとすることができる。
【0073】
主題の特定実施形態を記載した。他の実施形態が、次に述べる特許請求の範囲に入る。例えば、特許請求の範囲に列挙する動作を異なる順序で実行し、それでもなお、所望の結果を達成することができる。一例として、添付図面に描写したプロセスは、所望の結果を達成するために、図示する特定の順序、又は逐次的な順序を必ずしも必要としない。場合によって、マルチタスク及び平衡処理が有利であるとすることができる。
【符号の説明】
【0074】
800 要素
804 流束
806 付与流束
810 バランス流束