説明

マルチプロセッサコンピュータシステムにおいて衝突イベントをシミュレートする改良方法

【課題】ユーザが1つ以上の構造体を設計あるいは改善することを支援するために用いられる有限要素解析法における衝突イベントをシミュレートするコンピュータ実行方法を提供する。
【解決手段】構造体が、複数のドメインへと分割されるすなわちパーティショニングされる有限要素解析法モデルにおいて表現される。複数の演算処理装置およびユーザ(技術者および/または科学者)によって定義され指定された複数のコンタクトインターフェースを有するコンピュータシステムにおいて用いられると、方法の効率化が達成される。それぞれのドメインは、演算処理装置のうちの1つと関連する、あるいは演算処理装置のうちの1つに割り当てられる。「グループ化可能な」相関がドメインとコンタクトインターフェースとの間で構築あるいは決定され、これにより、データ通信を、最も効率的な方法、例えば、データ通信に際しアイドル状態の演算処理装置を最小限にする方法で行うことができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、構造体(例えば車、飛行機)のコンピュータ支援工学解析に関し、特に、マルチプロセッサコンピュータシステムにおいてより高い効率で衝突イベントをシミュレートする改良方法に関する。
【背景技術】
【0002】
有限要素解析法(FEA)は、技術者や科学者が三次元非線形構造設計および解析など複雑なシステムに関連するエンジニアリング問題をモデル化し解決する最もポピュラーなコンピュータ支援工学ツールの1つのである。FEAのその名前は、検討される対象の幾何学的配置を指定する方法に由来する。現代のデジタルコンピュータの出現により、FEAは、FEAソフトウェアとして実行されている。基本的に、FEAソフトウェアには、幾何学的な説明のモデルと、そのモデル内の各点における関連する材料特性とが、提供される。このモデルにおいて、解析されるシステムの幾何学的配置は、要素と呼ばれる種々のサイズのソリッド(中実体)、シェル(殻体)およびビーム(梁体)によって表わされる。要素の頂点をノードという。モデルは、材料特性に関連する材料名が割り当てられた有限数のエレメントから構成される。モデルは、このように、解析される対象がそのすぐまわりの環境と共に占めている物理的空間を表わす。そして、FEAソフトウェアは、それぞれの材料タイプの特性(例えばストレス−歪み構造方程式、ヤング率、ポアソン比、熱導電性)が作表されている表を参照する。さらに、対象の境界での条件(つまり負荷、物理的制約など)が指定される。こうして、対象とその環境のモデルとが生成される。
【発明の概要】
【発明が解決しようとする課題】
【0003】
FEAは、車両の空力性能と構造的保全性との両方を最適化するために、自動車メーカーで用いられている。一般的なFEAのタスクの1つが、車のクラッシュ、金属成形および鳥の衝突などの衝突イベントをシミュレートすることである。試作試験の多くは、好ましくは合理的な時刻フレーム(例えば夜通し)内でおいて行なわれ、ユーザ(つまり技術者および/または科学者)の生産性を上げることができるコンピューターシミュレーションで代用することができる。生産性を保証するために、ほとんどのFEAのモデルは、FEAがまず衝突イベントのシミュレートに使用されるとき、コンピュータの能力(つまり処理速度、記憶容量など)によって制限される。理論上、この問題は、コンピュータがときとともに改良されると、解決されるはずである。しかしながら、演算能力が過去数十年間に向上するにつれ、自動車のFEAのモデルはそれにしたがって増加し、例えば自動車の一般的なFEAのモデルは1,000,000を超えるエレメントを有することもある。そのような大きなサイズのFEAのモデルを用いると、有限要素解析法を用いて衝突イベントをシミュレートするにはいまでも非常に長い時間がかかる。この問題を解決するために、現代の有限要素解析法ソフトウェアをマルチプロセッサコンピュータ上で実行することができる。その結果、有限要素解析法の多くの区域(エリア(area))が、並列処理で改善されている。しかしながら、ユーザが衝突イベントのための多くのコンタクトインターフェースを定義し指定する場合に、新しい問題が生じる。コンタクトインターフェースを扱う従来技術アプローチはマルチプロセッサコンピュータシステムの並列効率を低下し、その結果、生産性の低下(長いシミュレーション時間)あるいは精度の低下(小規模なFEAモデル)をもたらす。
【0004】
したがって、複数の演算処理装置(マルチなプロセッシングユニット)を有するコンピュータシステムにおいて実行される有限要素解析法における多くのコンタクトインターフェースを用いて衝突イベントをシミュレートする改良方法が望まれよう。
【課題を解決するための手段】
【0005】
このセクションは、本発明のいくつかの面を要約するためのものであり、また、いくつかの好ましい態様を簡潔に取り上げるものである。このセクションにおいては簡略化あるいは省略が、要約およびタイトルと同様に、セクションの目的を分かりにくくしないようになされる場合がある。そのような簡略化あるいは省略は、本発明の範囲の制限を意図するものではない。
【0006】
本発明は、ユーザが1つ以上の構造体を設計あるいは改善することを支援するために用いられる有限要素解析法における衝突イベントをシミュレートするシステム、方法およびソフトウェア製品を開示する。
【0007】
一の態様において、本発明はユーザが1つ以上の構造体を設計あるいは改善することを支援するために用いられる有限要素解析法における衝突イベントをシミュレートするコンピュータ実行方法である。この方法は、少なくとも以下のステップを備える。1つは、複数の演算処理装置が接続されたコンピュータシステムにおいて衝突イベントの対象となる1つ以上の構造体の有限要素解析法モデルを受け取るステップである。このステップにおいては、有限要素解析法モデルが複数のコンタクトインターフェースを有している。1つは、コンピュータシステムにおいて、有限要素解析法モデルを少なくとも第1ドメインおよび第2ドメインを有する複数のドメインに分割するステップである。このステップにおいては、第1ドメインは演算処理装置うちの第1演算処理装置に関連付けられており、第2ドメインは演算処理装置うちの第2演算処理装置に関連付けられている。1つは、コンピュータシステムにおいて、コンタクトインターフェースのそれぞれと複数のドメインの1つ以上との間のグループ化可能な相関を決定するステップである。また、1つは、コンピュータシステムにおいて、複数のソリューションサイクルを有する衝突イベントの時間進行シミュレーションを行なうステップである。さらに、この方法は、ソリューションサイクルのそれぞれにおいて、少なくとも以下のステップを備えている。1つは、グループ化可能な相関に応じて第1データ通信メッセージを生成し第1演算処理装置から第2演算処理装置へ送信するステップである。このステップにより、コンタクトインターフェースに関連する最大限可能なデータ通信が交換される。1つは、第1データ通信メッセージにおいて受信されたデータによって、第1および第2演算処理装置のそれぞれにおいて、複数の演算を有限要素解析法の各コンタクトインターフェースに対して行なうステップである。1つは、第2データ通信メッセージを生成し第1データ通信メッセージの逆方向に送信するステップである。このステップにおいては、第2メッセージが複数の演算から得られたデータを送信するよう構成されている。また、1つは、ソリューションサイクルのすべてが演算された後、コンピュータシステムに接続されているモニタにシミュレーションの結果を表示するステップである。
【0008】
本発明の他の目的、特徴および利点は、添付の図面を参照した以下の実施形態の詳細な説明を考察することで明らかになるであろう。
【0009】
本発明のこれらおよび他の特徴、面および利点は、以下の説明、添付したクレームおよび以下の添付図面との関連から一層よく理解されるであろう。
【図面の簡単な説明】
【0010】
【図1】図1は、本発明の一の実施形態にかかる、コンピュータシステムにおいて行うことができる例示的な有限要素解析法結果(つまり車のクラッシュのシミュレーション結果)を示す図である。
【図2】図2は、本発明の一の実施形態にかかる、多くのドメインへとパーティショニングされた多くのコンタクトインターフェースを有する例示的な構造体を示す図である。
【図3】図3は、本発明の一の実施形態にかかる、コンタクトインターフェースとドメインとの間の例示的なグループ化可能な相関を示す表である。
【図4】図4は、従来技術アプローチにかかる有限要素解析法においてマルチなコンタクトインターフェースに対するデータ通信および演算のシーケンスを示す表である。
【図5】図5は、本発明の実施形態にかかる、マルチなコンタクトインターフェースに対するデータ通信および演算の例示的なシーケンスを示す表である。
【図6】図6は、本発明の実施形態にかかる、ユーザが1つ以上の構造体を設計あるいは改善することを支援するために用いられる有限要素解析法における衝突イベントをシミュレートする例示的なプロセスを示すフローチャートである。
【図7】図7は、本発明の実施形態が構築された例示的なコンピュータシステムの主要なコンポーネントを示す機能図である。
【図8】図8は、本発明の一の実施形態にかかる、使用可能な他の例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【0011】
本発明の説明に役立てるために、ここで開示される全体にわたってのいくつかの用語を定義する必要があると思われる。以下の定義は、実施形態にかかる本発明を理解し記述することに役立たせるものであることを述べておくべきであろう。定義は、実施形態に関していくつかの制限を含むように見えるかもしれないが、ここで使われる用語の実際の意味は、この実施形態を十分に越えた当業者には公知の適用範囲を有する。
【0012】
FEAは、有限要素解析法(Finite Element Analysis)の意である。
【0013】
暗黙FEAあるいは解法はKu=Fをいう。ここで、「K」は有効剛性マトリクス(effective stiffness matrix)であり、「u」は未知の変位配列(unknown displacement array)であり、「F」は有効負荷配列(effective loads array)である。「F」は右側荷重配列(right hand side loads array)であり、「K」は左側剛性マトリクス(left hand side stiffness matrix)である。解法は、剛性度、質量および減衰の関数である有効剛性マトリクスの因数分解を用いて、全体的なレベルで行なわれる。1つの例示的な解法方法は、ニューマーク時間積分法(Newmark time integration scheme)である。
【0014】
明示的FEAはMa=Fをいう。ここで、「M」は対角的質量配列(diagonal mass array)であり、「a」は未知のノードの加速配列(unknown nodal acceleration array)であり、「F」は有効荷重配列である。解法は、マトリックスの因数分解を用いずにエレメントレベルで実行することができる。1つの例示的な解法方法は、中心差分法(central difference method)と呼ばれるものである。
【0015】
時間進行シミュレーション(time−marching simulation)あるいは時間領域(タイムドメイン)解析(time−domain analysis)は、時間ドメインにおける工学解析シミュレーション、例えば時間ドメインにおいて有限要素解析法を用いた車耐衝撃性のシミュレーションをいう。
【0016】
本発明の実施形態を、図1乃至図8を参照してここに説明する。しかしながら、これらの図を参照してここで与える詳細な説明は例示の目的であって発明がこれらの限定的な実施形態を越えて広がっていることは、当業者には容易に理解されよう。
【0017】
まず、車のクラッシュシのミュレーション(つまり衝突イベント)の例示的な有限要素解析法結果を示す図である図1を参照する。言いかえれば、衝突イベントをシミュレートする有限要素解析法から数値的結果のグラフィック的な表示である。自動車110および壁120の、2つの構造体がシミュレーションに含まれている。構造体の両方ともが、有限要素解析法モデルで表現される。シミュレーションは、コンピュータシステム(例えばコンピュータ700あるいはコンピュータシステム800)において衝突イベントの時間進行シミュレーションとして数値的に行うことができる。自動車は、1,000,000を超える有限要素(例えばシェル(shell)、ソリッド(solid)およびビーム(beam)要素(エレメント))を有することもある。2つの構造体間のコンタクト(contact)の演算に対して、多くのコンタクトインターフェース(contact interface)がユーザによって定義され指定される。コンタクトインターフェースは、2つ以上の構造体間のコンタクトを適切にシミュレートするために、ときには構造体自体のために、構成される。
【0018】
マルチプロセッサ(複数の処理装置の)コンピュータシステムにおいて有限要素解析法を実行するために、有限要素解析法モデルは、ドメイン分解(domain decomposition)と呼ばれる手法に基づいて多くのドメインにパーティショニングされる、すなわち分割される。目的は、コンピュータシステムの演算処理装置の特定の1つに1つのドメインを割り当てる、すなわち関連させて、ドメインのそれぞれへの演算負荷あるいは作用をおおむね等しくすることにある。構造体200の例示的なドメインを図2に例示する。図の簡単化のため、構造体200を楕円として示す。8つのドメイン202a〜hが、「ドメイン0」202a、「ドメイン1」202b、…、「ドメイン8」202hとして構造体200からパーティショニングされて示されている。そして、8つのコンタクトインターフェース222a〜hが、「コンタクトインターフェースA」222a、「コンタクトインターフェースB」222b、…、「コンタクトインターフェースH」222hとして示されている。ドメインは、ドメイン分解方式を行なうことができる有限要素アプリケーションモジュールによって一般的に生成される。並列の有限要素演算を行なうために、それぞれのドメインは、プロセッサのうちのあるいはマルチプロセッサコンピュータシステムのプロセッシングユニット(演算処理装置)のうちの1つに割り当てられ、処理される。それぞれの演算処理装置は、割り当てられたすなわち関連するドメインの演算を担当する。ドメインの境界に沿った関連するデータは、各演算処理装置間で交換される。例えば、コンタクトインターフェースに対するデータは、関連する演算処理装置間で共有されることになろう。本発明を利用するためには、それぞれの有限要素モデルは、ユーザによって定義され指定される複数の(マルチな)コンタクトインターフェースを有する。実際の世界においては、構造体は、典型的には三次元の物体(例えば車)であり、図2における簡単化した二次元の楕円ではないことを付言しておく。
【0019】
ドメインおよびコンタクトインターフェースの物理的な位置に基づいて、「グループ化可能な(group−able)」相関を決定することができる。例えば、図3は、ドメイン302とコンタクトインターフェース304との間の例示的なグループ化可能な相関を示す表300である。例えば、「インターフェースA」は、「X」で示す「ドメイン0」、「ドメイン1」および「ドメイン2」の、3つのドメインにわたって広がっており、「インターフェースB」は、「ドメイン2」、「ドメイン3」、「ドメイン4」および「ドメイン5」に及んでいるなどである。ドメイン302のそれぞれは演算処理装置のうちの1つと関連するすなわち割り当てられるので、ドメイン302のそれぞれの有限要素解析法演算は各演算処理装置によって演算される。コンタクトインターフェース全体がドメイン内にあるとき、その場合は、演算を、他の演算処理装置とのデータ通信のない各演算処理装置を用いて行なうことができる。しかしながら、図3から明らかに示されるように、コンタクトインターフェース304が1より多いドメインに広がっているとき、有限要素解析法における構造的なコンタクトの演算を他の演算処理装置(あるいはドメイン)からのあるデータを用いて行なう必要がある。例えば、「コンタクトインターフェースA」の構造的なコンタクトは、「ドメイン0」、「ドメイン1」および「ドメイン2」を処理するよう割り当てられた演算処理装置において演算されている。その結果、これらの演算処理装置間のデータ通信は、演算前後に必要とされる。同様に、「コンタクトインターフェースM」は、適切なコンタクト演算を保証するために、「ドメイン1」、「ドメイン5」、「ドメイン6」および「ドメイン7」間でのデータ通信を有する必要がある。
【0020】
図4は従来技術アプローチにかかる演算シーケンスを示す表である。シーケンスは、通信402、演算404そして他の通信406が続く「コンタクトインターフェース1」で始まる。次いで、通信412、演算414そして他の通信416が続く「コンタクトインターフェース2」となる。シーケンスは、通信422、演算424そして通信426が続く最後のインターフェース「コンタクトインターフェースn」まで続く。従来技術アプローチは、非効率的で逐次的(シーケンシャル(sequential))である。その結果、コンタクトインターフェースのうちのどれか1つが処理されているときでも、演算処理装置のうちのいくつかは休止(アイドル(idle))状態にある。ユーザが多数のコンタクトインターフェース(例えば50超)を定義し指定する場合、従来技術アプローチは非常に多くのコンタクトインターフェースのために非常に非効率的となる。
【0021】
図5は、本発明のある実施形態にかかる、複数のコンタクトインターフェースに対するデータ通信および演算の例示的なシーケンスを示す表である。コンタクトインターフェースのすべて(例えば図3の「インターフェースA」…「インターフェースM」)に対する第1データ通信502は、他の演算処理装置に送信する前に、合わせて1つのメッセージとしてグループ化される。これにより、最大限可能なデータ通信が非常に効率的な方法で並列に交換されることを保証することができる。第1データ通信502を設定するためには、「グループ化可能な」相関(例えば図3における表300)を特定し、構築しあるいは決定する必要がある。並列に処理することができるコンタクトインターフェースのみが、「グループ化可能」であると見なされる。特定のコンタクトインターフェースの演算が他のコンタクトインターフェースに依存しているとき、その特定のコンタクトインターフェースは「グループ化可能な」相関に含めることができない。
【0022】
第1データ通信502が終了した後、構造的なコンタクトの演算504を各演算処理装置において行なうことができる。演算504の後、第2データ通信506が、生成され、第1データ通信502の逆方向に送信されて、これにより、それぞれのソリューションステップ(例えば有限要素解析法、時間進行シミュレーションのソリューションサイクルなどの反復)を完了する。
【0023】
効率を実証するために、本発明の一の実施形態では、1,151,856個のノードおよび1,116,160個のシェルエレメントを備える例示的な有限要素解析法モデルと、75個のコンタクトインターフェースと、を用いる。8個、16個、32個、64個および128個の処理装置を有するコンピュータシステムを、比較研究に用いる。先のアプローチからの改良を示すために、演算結果を以下に要約する。
【0024】
【表1】

【0025】
【表2】

【0026】
【表3】


表1は、従来技術アプローチと本発明との間の比較を、秒による経過時間で示しており、また、表2は、秒によるコンタクト時間で示している。経過時間は全シミュレーションの演算時間である。また、コンタクト時間はコンタクト演算のみにおいて費やされた演算時間である。表3は、8個の処理装置の実行を基準として(つまり高速化1.0として)用いた、本発明の一の実施形態にかかるアプローチを用いた高速化の要約を示す。高速化の要約は、経過時間およびコンタクト時間の両方を含んでいる。
【0027】
次に、本発明の一の実施形態にかかる、ユーザが1つ以上の構造体を設計あるいは改善することを支援するために用いられる有限要素解析法における衝突イベントをシミュレートする例示的なプロセス600を示すフローチャートである図6を参照する。プロセス600は、ソフトウェアにおいて実行でき、先の図面を用いて理解することが好ましい。
【0028】
プロセス600は、ステップ602において、コンピュータシステムにおいて衝突イベントシミュレーション(例えば車のクラッシュ、金属成形)の定義を受け取ることによって、スタートする。コンピュータシステムは好ましくは2つより多い複数の演算処理装置で構成される。定義は、多くのコンタクトインターフェースを有する1つ以上の構造体を有する有限要素解析法モデルを含んでいる。コンタクトインターフェースは、有限要素解析法あるいはシミュレーションのユーザ(例えば技術者および/または科学者)によって定義され指定される。
【0029】
次に、ステップ604において、有限要素解析法モデルはドメイン分解方式に基づいて多くのドメインに分割される、すなわちパーティショニングされる。それぞれのドメインは、演算処理装置のうちの1つと関連づけられる、あるいは演算処理装置のうちの1つに割り当てられる。次いで、ステップ606において、ドメインとコンタクトインターフェースとの間の「グループ化可能な」相関が、構築あるいは決定される。「グループ有能な」相関が決定されれば、衝突イベントの時間進行シミュレーションのそれぞれのソリューションサイクルを以下のステップにより行なうことができる。ステップ608において、第1データ通信メッセージを生成し、「グループ化可能な」相関に応じて第1演算処理装置から第2演算処理装置へ送信し、これにより、最大限可能なデータ通信を非常に効率的な方法で交換することができる。非常に効率的な方法の1つの例は、データ通信を行なうとき、アイドル状態の演算処理装置を最小限にすることである。次いで、ステップ610において、有限要素解析法の構造的なコンタクト(それぞれのコンタクトインターフェースにおける)の演算を、ステップ608において受信したデータとローカルに記憶されたデータとを用いて、各演算処理装置において行なうことができる。最後に、ステップ612において、第2データ通信メッセージを生成し、第1データ通信メッセージの逆の順で送信し、これにより、ステップ610の演算から得られた情報が第1演算処理装置に送信される。
【0030】
それぞれのソリューションサイクルの後に、プロセス600は、シミュレーションが終了したか否かを決定するテスト614へと移行する。「no」であれば、プロセス600は、ステップ608に戻って、他のソリューションサイクルにおいてシミュレーションを継続して行う。そうでなければ、プロセス600は、必要に応じてシミュレーション結果をコンピュータシステムに接続されているモニタに表示するステップ616に移行する。結果を、ユーザが構造体を改善あるいは設計するために判断できるよう、グラフィック形式および/またはテキスト形式とすることができる。最後に、プロセス600が終了する。
【0031】
一の側面において、本発明は、ここで説明した機能性を実行可能な1つ以上のコンピュータシステムに対してなされたものである。コンピュータシステム700の一例を図7に示す。コンピュータシステム700は、プロセッサ704などの1つ以上のプロセッサを有する。プロセッサ704はコンピュータシステム内部通信バス702に接続されている。種々のソフトウェアの実施形態を、この例示的なコンピュータシステムで説明する。この説明を読むと、他のコンピュータシステムおよび/またはコンピューターアーキテクチャーを用いて、本発明を実行するかが、関連する技術分野に習熟しているものには明らかになるであろう。
【0032】
コンピュータシステム700は、また、メインメモリ708、好ましくはランダムアクセスメモリ(RAM))を有しており、また二次メモリ710を有していてもよい。二次メモリ710は、例えば、1つ以上のハードディスクドライブ712、および/またはフレキシブルディスクドライブ、磁気テープドライブ、光ディスクドライブなどに代表される1つ以上のリムーバブルストレージドライブ714を有することができる。リムーバブルストレージドライブ714は、よく知られている方法でリムーバブルストレージユニット718から情報をを読み取り、および/またはリムーバブルストレージユニット718に情報を書き込む。リムーバブルストレージユニット718は、リムーバブルストレージドライブ714によって読み取り・書き込みされるフレキシブルディスク、磁気テープ、光ディスクなどを表わす。以下にわかるように、リムーバブルストレージユニット718は、コンピューターソフトウェアおよび/またはデータを内部に記憶しているコンピュータ可読である記憶媒体を有している。
【0033】
別の実施形態において、二次メモリ710は、コンピュータプログラムあるいは他の命令をコンピュータシステム700にロードすることを可能にする他の同様な手段を有することもできる。そのような手段は、例えば、リムーバブルストレージユニット722とインターフェース720を有することができる。そのようなものの例は、プログラムカートリッジおよびカートリッジインターフェース(ビデオゲーム機に見られるようなものなど)と、リムーバブルメモリチップ(消去可能なプログラマブルROM(EPROM)、ユニバーサルシリアルバス(USB)フラッシュメモリ、あるいはPROMなど)およびそれらに対応るソケットと、ソフトウェアおよびデータをリムーバブルストレージユニット722からコンピュータシステム700に転送することを可能にする他のリムーバブルストレージユニット722およびインターフェース720と、が含まれうる。一般に、コンピュータシステム700は、プロセススケジューリング、メモリ管理、ネットワーキンク管理およびI/Oサービスなどのタスクを行なうオペレーティングシステム(OS)ソフトウェアによって、制御され連係される。
【0034】
通信インターフェース724も、また、バス702に接続することができる。通信用インターフェース724は、ソフトウェアおよびデータがコンピュータシステム700と外部装置との間で転送することを可能にする。通信用インターフェース724の例には、モデム、ネットワークインターフェイス(イーサネット(登録商標)・カードなど)、コミュニケーションポート、PCMCIA(Personal Computer Memory Card International Association)スロットおよびカードなど、が含まれうる。コンピュータ700は、特定の通信手続(つまりプロトコル)を実行してデータを送受信する。一般的なプロトコルのうち1つは、インターネットにおいて一般に用いられているTCP/IP(Transmission Control Protocol/Internet Protocol)である。一般に、通信インターフェース724は、データファイルをデータネットワーク上で伝達される小さいパケットへ分割し、あるいは受信したパケットを元のデータファイルへと組み立てる(再構築する)、いわゆるパケットのアセンブル・リアセンブル管理を行う。さらに、通信インターフェース724は、正しい宛先に届くようそれぞれのパケットのアドレス部分に対処し、あるいはコンピュータ700が宛先となっているパケットを他に向かわせることなく確実に受信する。この書類において、「コンピュータプログラム媒体」および「コンピュータが記憶可能な媒体」という用語は、リムーバブルストレージドライブ714および/またはハードディスクドライブ712に組み込まれたハードディスクなどの媒体を通常意味して用いられている。これらのコンピュータプログラム製品は、ソフトウェアをコンピュータシステム700に提供する手段である。本発明は、このようなコンピュータプログラム製品に対してなされたものである。
【0035】
コンピュータシステム700は、また、コンピュータシステム700をモニタ、キーボード、マウス、プリンタ、スキャナ、プロッターなどとアクセスさせる入出力(I/O)インターフェース730を有していてもよい。
【0036】
コンピュータプログラム(コンピュータ制御ロジックともいう)は、メインメモリ708および/または二次メモリ710にアプリケーションモジュール706として記憶される。コンピュータプログラムを、通信インターフェース724を介して受け取ることもできる。このようなコンピュータプログラムが実行された時、コンピュータプログラムによって、コンピュータシステム700がここに説明した本発明の特徴を実現することが可能になる。詳細には、コンピュータプログラムが実行された時、コンピュータプログラムによって、プロセッサ704が本発明の特徴を実現することが可能になる。したがって、このようなコンピュータプログラムは、コンピュータシステム700のコントローラを表わしている。
【0037】
ソフトウェアを用いて発明が実行されるある実施形態において、当該ソフトウェアは、コンピュータプログラム製品に記憶され、あるいは、リムーバブルストレージドライブ714、ハードドライブ712あるいは通信インターフェース724を用いてコンピュータシステム700へとロードされる。アプリケーションモジュール706は、プロセッサ704によって実行された時、アプリケーションモジュール706によって、プロセッサ704がここに説明した本発明の機能を実現する。
【0038】
所望のタスクを実現するために、I/Oインターフェース730を介したユーザ入力によって、あるいは、よることなしに、1つ以上のプロセッサ704によって実行することができる1つ以上のアプリケーションモジュール706を、メインメモリ708に、ロードすることもできる。動作においては、少なくとも1つのプロセッサ704がアプリケーションモジュール706のうちの1つが実行されると、結果が演算されて二次メモリ710(つまりハードディスクドライブ712)に記憶される。有限要素解析法(例えば車耐衝撃性)の状況は、テキストあるいはグラフィック表現で、I/Oインターフェース730を介して、コンピュータシステム700に接続されているモニタへと、ユーザに報告される。
【0039】
次に、4つのコンピュータ802A〜Dを備える例示的なコンピュータシステム800を示す図である図8を参照する。コンピュータ802A〜Dのそれぞれは、少なくとも1つのプロセッサ804A〜Dを有する。一の実施形態では、プロセッサ804A〜Dは、シングルコアマイクロプロセッサ、デュアルコアマイクロプロセッサあるいはクアッドコアマイクロプロセッサにすることができる。コンピュータ802A〜Dは、データネットワーク810によって互いに接続される。データネットワーク810は、密結合ネットワークあるいは粗結合ネットワークであることも可能である。一の実施形態においては、ネットワーク810はインターネットである。他の実施形態においては、ネットワーク810はプライベートネットワークである。さらに他の実施形態においては、ネットワーク810はコンピュータ802A〜Dための排他的な専用ネットワークである。
【0040】
本発明の一の面では、コンピュータシステム700あるいは800は、複数の演算処理装置を有するように構成される。演算処理装置のそれぞれを、別々の中央処理装置804A〜D、あるいはマルチコアマイクロプロセッサにおけるコアのうちの1つとすることができる。演算処理装置のそれぞれは、図2に示すドメイン分解方式においてパーティショニングされたドメインのうちの1つを処理するよう構成される。
【0041】
本発明を具体的な実施形態を参照して説明したが、これらの実施形態は単に例示的なものであって、本発明を限定するものではない。具体的に開示した例示的な実施形態に対する種々の変形あるいは変更が当業者には思いつくであろう。例えば、図2では8つのドメインおよび8つのコンタクトインターフェースを示し説明したが、本発明においては、ドメインおよびインターフェースを他の数として用いることができる。また、4つのコンピュータが接続されているところを図8に示したが、コンピュータを他の数として、例えば、それぞれが1つのプロセッサを有する8つのコンピュータ、256個のプロセッサを備えた1つのコンピュータ、それぞれが1つのデュアルコアプロセッサを装備した4つのコンピュータなどとして、用いることができる。つまり、本発明の範囲は、ここに開示した具体的な例示的実施形態に限定されるのではなく、当業者が容易に思いつくあらゆる変形は、本願の精神および認識範囲内および添付の特許請求の範囲の範囲内に含まれる。
【符号の説明】
【0042】
110 自動車
120 壁
200 構造体
202a〜h ドメイン
222a〜h コンタクトインターフェース
302 ドメイン
304 インターフェース
700 コンピュータシステム
702 バス
704 プロセッサ
706 アプリケーションモジュール
708 インメモリ
710 二次メモリ
712 ハードディスクドライブ
714 リムーバブルストレージドライブ
718 リムーバブルストレージユニット
720 インターフェース
722 リムーバブルストレージユニット
724 通信インターフェース
730 I/Oインターフェース
802A〜D コンピュータ
804A〜D プロセッサ

【特許請求の範囲】
【請求項1】
ユーザが1つ以上の構造体を設計あるいは改善することを支援するために用いられる有限要素解析法における衝突イベントをシミュレートするコンピュータ実行方法であって、
コンピュータシステムにおいて、複数の演算処理装置が接続された衝突イベントの対象となる1つ以上の構造体の有限要素解析法モデルを受け取るステップであって、有限要素解析法モデルが複数のコンタクトインターフェースを有しているステップと、
有限要素解析法モデルをコンピュータシステムにおいて少なくとも第1ドメインおよび第2ドメインを有する複数のドメインに分割するステップであって、第1ドメインが演算処理装置うちの第1演算処理装置に関連付けられ、第2ドメインが演算処理装置うちの第2演算処理装置に関連付けられるステップと、
コンピュータシステムにおいて、コンタクトインターフェースのそれぞれと複数のドメインの1つ以上との間のグループ化可能な相関を決定するステップと、
コンピュータシステムにおいて、複数のソリューションサイクルを有する衝突イベントの時間進行シミュレーションを行なうステップと、
を備える方法であり、
ソリューションサイクルのそれぞれにおいて、
グループ化可能な相関に応じて第1データ通信メッセージを生成し第1演算処理装置から第2演算処理装置へ送信するステップであって、これにより、コンタクトインターフェースに関連する最大限可能なデータ通信が交換されるステップと、
第1データ通信メッセージにおいて受信されたデータによって、第1および第2演算処理装置のそれぞれにおいて、複数の演算を有限要素解析法の各コンタクトインターフェースに対して行なうステップと、
第2データ通信メッセージを生成し第1データ通信メッセージとは逆方向に送信するステップであって、第2メッセージが複数の演算から得られたデータを送信するよう構成されているステップと、
ソリューションサイクルのすべてが演算された後、コンピュータシステムに接続されているモニタにシミュレーションの結果を表示するステップと、
を備える方法。
【請求項2】
請求項1に記載の方法であって、1つ以上の構造体のそれぞれには自動車が含まれている方法。
【請求項3】
請求項1に記載の方法であって、衝突イベントは車衝突を含む方法。
【請求項4】
請求項1に記載の方法であって、コンピュータシステムは少なくとも2つの演算処理装置を有する方法。
【請求項5】
請求項4に記載の方法であって、コンタクトインターフェースは少なくとも2つのインターフェースを備えている方法。
【請求項6】
請求項1に記載の方法であって、コンピュータシステムは、それぞれが1以上の中央処理装置を有する少なくとも1つのコンピュータを備えている方法。
【請求項7】
請求項1に記載の方法であって、コンピュータシステムは、それぞれが少なくとも1つの中央処理装置を有する1以上のコンピュータを備えている方法。
【請求項8】
請求項7に記載の方法であって、中央処理装置は少なくとも1つの処理コアを有している方法。
【請求項9】
コンピュータシステムを制御して、方法により、ユーザによる1つ以上の構造体の設計あるいは改善を支援するために用いられる有限要素解析法における衝突イベントシミュレーションを行う命令を有するコンピュータ可読媒体であって、方法が、
複数の演算処理装置が接続されたコンピュータシステムにおいて衝突イベントの対象となる1つ以上の構造体の有限要素解析法モデルを受け取るステップであって、有限要素解析法モデルが複数のコンタクトインターフェースを有しているステップと、
有限要素解析法モデルをコンピュータシステムにおいて少なくとも第1ドメインおよび第2ドメインを有する複数のドメインに分割するステップであって、第1ドメインが演算処理装置うちの第1演算処理装置に関連付けられ、第2ドメインが演算処理装置うちの第2演算処理装置に関連付けられるステップと、
コンピュータシステムにおいて、コンタクトインターフェースのそれぞれと複数のドメインの1つ以上との間のグループ化可能な相関を決定するステップと、
コンピュータシステムにおいて、複数のソリューションサイクルを有する衝突イベントの時間進行シミュレーションを行なうステップと、
を備える方法であり、
ソリューションサイクルのそれぞれにおいて、
グループ化可能な相関に応じて第1データ通信メッセージを生成し第1演算処理装置から第2演算処理装置へ送信するステップであって、これにより、コンタクトインターフェースに関連する最大限可能なデータ通信が交換されるステップと、
第1データ通信メッセージにおいて受信されたデータによって、第1および第2演算処理装置のそれぞれにおいて、複数の演算を有限要素解析法の各コンタクトインターフェースに対して行なうステップと、
第1データ通信メッセージの逆方向に第2データ通信メッセージを生成し送信するステップであって、第2メッセージが複数の演算から得られたデータを送信するよう構成されているステップと、
ソリューションサイクルのすべてが演算された後、コンピュータシステムに接続されているモニタにシミュレーションの結果を表示するステップと、
を備えているコンピュータ可読媒体。
【請求項10】
ユーザが1つ以上の構造体を設計あるいは改善することを支援するために用いられる有限要素解析法における衝突イベントをシミュレートするシステムであって、システムが、
有限要素解析法アプリケーションモジュールに対するコンピュータ可読コードを記憶するメインメモリと、
メインメモリに接続される複数の処理装置であって、前記処理装置がメインメモリにおけるコンピュータ可読コードを実行し有限要素解析法アプリケーションモジュールに方法によるオペレーションを実行させる処理装置と、
を備えており、その方法が、
衝突イベントの対象となる1つ以上の構造体の有限要素解析法モデルを受け取るステップであって、有限要素解析法モデルが複数のコンタクトインターフェースを有しているステップと、
有限要素解析法モデルを少なくとも第1ドメインおよび第2ドメインを有する複数のドメインに分割するステップであって、第1ドメインが演算処理装置うちの第1演算処理装置に関連付けられ、第2ドメインが演算処理装置うちの第2演算処理装置に関連付けられるステップと、
コンタクトインターフェースのそれぞれと複数のドメインの1つ以上との間のグループ化可能な相関を決定するステップと、
複数のソリューションサイクルを有する衝突イベントの時間進行シミュレーションを行なうステップと、
を備えており、
ソリューションサイクルのそれぞれにおいて、
グループ化可能な相関に応じて第1データ通信メッセージを生成し第1演算処理装置から第2演算処理装置へ送信するステップであって、これにより、コンタクトインターフェースに関連する最大限可能なデータ通信が交換されるステップと、
第1データ通信メッセージにおいて受信されたデータによって、第1および第2演算処理装置のそれぞれにおいて、複数の演算を有限要素解析法の各コンタクトインターフェースに対して行なうステップと、
第2データ通信メッセージを生成し第1データ通信メッセージとは逆方向に送信するステップであって、第2メッセージが複数の演算から得られたデータを送信するよう構成されているステップと、
ソリューションサイクルのすべてが演算された後、システムに接続されているモニタにシミュレーションの結果を表示するステップと、
を備えるシステム。
【請求項11】
請求項10に記載のシステムであって、コンピュータシステムは少なくとも2つの演算処理装置を有するシステム。
【請求項12】
請求項11に記載のシステムであって、コンタクトインターフェースは少なくとも2つのインターフェースを備えているシステム。
【請求項13】
請求項10に記載のシステムであって、コンピュータシステムは、それぞれが1以上の中央処理装置を有する少なくとも1つのコンピュータを備えているシステム。
【請求項14】
請求項10に記載のシステムであって、コンピュータシステムは、それぞれが少なくとも1つの中央処理装置を有する1以上のコンピュータを備えているシステム。
【請求項15】
請求項14に記載のシステムであって、中央処理装置は少なくとも1つの処理コアを有しているシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2010−152895(P2010−152895A)
【公開日】平成22年7月8日(2010.7.8)
【国際特許分類】
【出願番号】特願2009−286171(P2009−286171)
【出願日】平成21年12月17日(2009.12.17)
【出願人】(509059893)リバーモア ソフトウェア テクノロジー コーポレーション (29)
【Fターム(参考)】