(57)【要約】【課題】ユーザが１つ以上の構造体を設計あるいは改善することを支援するために用いられる有限要素解析法における衝突イベントをシミュレートするコンピュータ実行方法を提供する。【解決手段】構造体が、複数のドメインへと分割されるすなわちパーティショニングされる有限要素解析法モデルにおいて表現される。複数の演算処理装置およびユーザ（技術者および／または科学者）によって定義され指定された複数のコンタクトインターフェースを有するコンピュータシステムにおいて用いられると、方法の効率化が達成される。それぞれのドメインは、演算処理装置のうちの１つと関連する、あるいは演算処理装置のうちの１つに割り当てられる。「グループ化可能な」相関がドメインとコンタクトインターフェースとの間で構築あるいは決定され、これにより、データ通信を、最も効率的な方法、例えば、データ通信に際しアイドル状態の演算処理装置を最小限にする方法で行うことができる。【選択図】図６
2010152895.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが１つ以上の構造体を設計あるいは改善することを支援するために用いられる有限要素解析法における衝突イベントをシミュレートするコンピュータ実行方法であって、
コンピュータシステムにおいて、複数の演算処理装置が接続された衝突イベントの対象となる１つ以上の構造体の有限要素解析法モデルを受け取るステップであって、有限要素解析法モデルが複数のコンタクトインターフェースを有しているステップと、
有限要素解析法モデルをコンピュータシステムにおいて少なくとも第１ドメインおよび第２ドメインを有する複数のドメインに分割するステップであって、第１ドメインが演算処理装置うちの第１演算処理装置に関連付けられ、第２ドメインが演算処理装置うちの第２演算処理装置に関連付けられるステップと、
コンピュータシステムにおいて、コンタクトインターフェースのそれぞれと複数のドメインの１つ以上との間のグループ化可能な相関を決定するステップと、
コンピュータシステムにおいて、複数のソリューションサイクルを有する衝突イベントの時間進行シミュレーションを行なうステップと、
を備える方法であり、
ソリューションサイクルのそれぞれにおいて、
グループ化可能な相関に応じて第１データ通信メッセージを生成し第１演算処理装置から第２演算処理装置へ送信するステップであって、これにより、コンタクトインターフェースに関連する最大限可能なデータ通信が交換されるステップと、
第１データ通信メッセージにおいて受信されたデータによって、第１および第２演算処理装置のそれぞれにおいて、複数の演算を有限要素解析法の各コンタクトインターフェースに対して行なうステップと、
第２データ通信メッセージを生成し第１データ通信メッセージとは逆方向に送信するステップであって、第２メッセージが複数の演算から得られたデータを送信するよう構成されているステップと、
ソリューションサイクルのすべてが演算された後、コンピュータシステムに接続されているモニタにシミュレーションの結果を表示するステップと、
を備える方法。
【請求項２】
請求項１に記載の方法であって、１つ以上の構造体のそれぞれには自動車が含まれている方法。
【請求項３】
請求項１に記載の方法であって、衝突イベントは車衝突を含む方法。
【請求項４】
請求項１に記載の方法であって、コンピュータシステムは少なくとも２つの演算処理装置を有する方法。
【請求項５】
請求項４に記載の方法であって、コンタクトインターフェースは少なくとも２つのインターフェースを備えている方法。
【請求項６】
請求項１に記載の方法であって、コンピュータシステムは、それぞれが１以上の中央処理装置を有する少なくとも１つのコンピュータを備えている方法。
【請求項７】
請求項１に記載の方法であって、コンピュータシステムは、それぞれが少なくとも１つの中央処理装置を有する１以上のコンピュータを備えている方法。
【請求項８】
請求項７に記載の方法であって、中央処理装置は少なくとも１つの処理コアを有している方法。
【請求項９】
コンピュータシステムを制御して、方法により、ユーザによる１つ以上の構造体の設計あるいは改善を支援するために用いられる有限要素解析法における衝突イベントシミュレーションを行う命令を有するコンピュータ可読媒体であって、方法が、
複数の演算処理装置が接続されたコンピュータシステムにおいて衝突イベントの対象となる１つ以上の構造体の有限要素解析法モデルを受け取るステップであって、有限要素解析法モデルが複数のコンタクトインターフェースを有しているステップと、
有限要素解析法モデルをコンピュータシステムにおいて少なくとも第１ドメインおよび第２ドメインを有する複数のドメインに分割するステップであって、第１ドメインが演算処理装置うちの第１演算処理装置に関連付けられ、第２ドメインが演算処理装置うちの第２演算処理装置に関連付けられるステップと、
コンピュータシステムにおいて、コンタクトインターフェースのそれぞれと複数のドメインの１つ以上との間のグループ化可能な相関を決定するステップと、
コンピュータシステムにおいて、複数のソリューションサイクルを有する衝突イベントの時間進行シミュレーションを行なうステップと、
を備える方法であり、
ソリューションサイクルのそれぞれにおいて、
グループ化可能な相関に応じて第１データ通信メッセージを生成し第１演算処理装置から第２演算処理装置へ送信するステップであって、これにより、コンタクトインターフェースに関連する最大限可能なデータ通信が交換されるステップと、
第１データ通信メッセージにおいて受信されたデータによって、第１および第２演算処理装置のそれぞれにおいて、複数の演算を有限要素解析法の各コンタクトインターフェースに対して行なうステップと、
第１データ通信メッセージの逆方向に第２データ通信メッセージを生成し送信するステップであって、第２メッセージが複数の演算から得られたデータを送信するよう構成されているステップと、
ソリューションサイクルのすべてが演算された後、コンピュータシステムに接続されているモニタにシミュレーションの結果を表示するステップと、
を備えているコンピュータ可読媒体。
【請求項１０】
ユーザが１つ以上の構造体を設計あるいは改善することを支援するために用いられる有限要素解析法における衝突イベントをシミュレートするシステムであって、システムが、
有限要素解析法アプリケーションモジュールに対するコンピュータ可読コードを記憶するメインメモリと、
メインメモリに接続される複数の処理装置であって、前記処理装置がメインメモリにおけるコンピュータ可読コードを実行し有限要素解析法アプリケーションモジュールに方法によるオペレーションを実行させる処理装置と、
を備えており、その方法が、
衝突イベントの対象となる１つ以上の構造体の有限要素解析法モデルを受け取るステップであって、有限要素解析法モデルが複数のコンタクトインターフェースを有しているステップと、
有限要素解析法モデルを少なくとも第１ドメインおよび第２ドメインを有する複数のドメインに分割するステップであって、第１ドメインが演算処理装置うちの第１演算処理装置に関連付けられ、第２ドメインが演算処理装置うちの第２演算処理装置に関連付けられるステップと、
コンタクトインターフェースのそれぞれと複数のドメインの１つ以上との間のグループ化可能な相関を決定するステップと、
複数のソリューションサイクルを有する衝突イベントの時間進行シミュレーションを行なうステップと、
を備えており、
ソリューションサイクルのそれぞれにおいて、
グループ化可能な相関に応じて第１データ通信メッセージを生成し第１演算処理装置から第２演算処理装置へ送信するステップであって、これにより、コンタクトインターフェースに関連する最大限可能なデータ通信が交換されるステップと、
第１データ通信メッセージにおいて受信されたデータによって、第１および第２演算処理装置のそれぞれにおいて、複数の演算を有限要素解析法の各コンタクトインターフェースに対して行なうステップと、
第２データ通信メッセージを生成し第１データ通信メッセージとは逆方向に送信するステップであって、第２メッセージが複数の演算から得られたデータを送信するよう構成されているステップと、
ソリューションサイクルのすべてが演算された後、システムに接続されているモニタにシミュレーションの結果を表示するステップと、
を備えるシステム。
【請求項１１】
請求項１０に記載のシステムであって、コンピュータシステムは少なくとも２つの演算処理装置を有するシステム。
【請求項１２】
請求項１１に記載のシステムであって、コンタクトインターフェースは少なくとも２つのインターフェースを備えているシステム。
【請求項１３】
請求項１０に記載のシステムであって、コンピュータシステムは、それぞれが１以上の中央処理装置を有する少なくとも１つのコンピュータを備えているシステム。
【請求項１４】
請求項１０に記載のシステムであって、コンピュータシステムは、それぞれが少なくとも１つの中央処理装置を有する１以上のコンピュータを備えているシステム。
【請求項１５】
請求項１４に記載のシステムであって、中央処理装置は少なくとも１つの処理コアを有しているシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、構造体（例えば車、飛行機）のコンピュータ支援工学解析に関し、特に、マルチプロセッサコンピュータシステムにおいてより高い効率で衝突イベントをシミュレートする改良方法に関する。
【背景技術】
【０００２】
有限要素解析法（ＦＥＡ）は、技術者や科学者が三次元非線形構造設計および解析など複雑なシステムに関連するエンジニアリング問題をモデル化し解決する最もポピュラーなコンピュータ支援工学ツールの１つのである。ＦＥＡのその名前は、検討される対象の幾何学的配置を指定する方法に由来する。現代のデジタルコンピュータの出現により、ＦＥＡは、ＦＥＡソフトウェアとして実行されている。基本的に、ＦＥＡソフトウェアには、幾何学的な説明のモデルと、そのモデル内の各点における関連する材料特性とが、提供される。このモデルにおいて、解析されるシステムの幾何学的配置は、要素と呼ばれる種々のサイズのソリッド（中実体）、シェル（殻体）およびビーム（梁体）によって表わされる。要素の頂点をノードという。モデルは、材料特性に関連する材料名が割り当てられた有限数のエレメントから構成される。モデルは、このように、解析される対象がそのすぐまわりの環境と共に占めている物理的空間を表わす。そして、ＦＥＡソフトウェアは、それぞれの材料タイプの特性（例えばストレス−歪み構造方程式、ヤング率、ポアソン比、熱導電性）が作表されている表を参照する。さらに、対象の境界での条件（つまり負荷、物理的制約など）が指定される。こうして、対象とその環境のモデルとが生成される。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ＦＥＡは、車両の空力性能と構造的保全性との両方を最適化するために、自動車メーカーで用いられている。一般的なＦＥＡのタスクの１つが、車のクラッシュ、金属成形および鳥の衝突などの衝突イベントをシミュレートすることである。試作試験の多くは、好ましくは合理的な時刻フレーム（例えば夜通し）内でおいて行なわれ、ユーザ（つまり技術者および／または科学者）の生産性を上げることができるコンピューターシミュレーションで代用することができる。生産性を保証するために、ほとんどのＦＥＡのモデルは、ＦＥＡがまず衝突イベントのシミュレートに使用されるとき、コンピュータの能力（つまり処理速度、記憶容量など）によって制限される。理論上、この問題は、コンピュータがときとともに改良されると、解決されるはずである。しかしながら、演算能力が過去数十年間に向上するにつれ、自動車のＦＥＡのモデルはそれにしたがって増加し、例えば自動車の一般的なＦＥＡのモデルは１，０００，０００を超えるエレメントを有することもある。そのような大きなサイズのＦＥＡのモデルを用いると、有限要素解析法を用いて衝突イベントをシミュレートするにはいまでも非常に長い時間がかかる。この問題を解決するために、現代の有限要素解析法ソフトウェアをマルチプロセッサコンピュータ上で実行することができる。その結果、有限要素解析法の多くの区域（エリア（ａｒｅａ））が、並列処理で改善されている。しかしながら、ユーザが衝突イベントのための多くのコンタクトインターフェースを定義し指定する場合に、新しい問題が生じる。コンタクトインターフェースを扱う従来技術アプローチはマルチプロセッサコンピュータシステムの並列効率を低下し、その結果、生産性の低下（長いシミュレーション時間）あるいは精度の低下（小規模なＦＥＡモデル）をもたらす。
【０００４】
したがって、複数の演算処理装置（マルチなプロセッシングユニット）を有するコンピュータシステムにおいて実行される有限要素解析法における多くのコンタクトインターフェースを用いて衝突イベントをシミュレートする改良方法が望まれよう。
【課題を解決するための手段】
【０００５】
このセクションは、本発明のいくつかの面を要約するためのものであり、また、いくつかの好ましい態様を簡潔に取り上げるものである。このセクションにおいては簡略化あるいは省略が、要約およびタイトルと同様に、セクションの目的を分かりにくくしないようになされる場合がある。そのような簡略化あるいは省略は、本発明の範囲の制限を意図するものではない。
【０００６】
本発明は、ユーザが１つ以上の構造体を設計あるいは改善することを支援するために用いられる有限要素解析法における衝突イベントをシミュレートするシステム、方法およびソフトウェア製品を開示する。
【０００７】
一の態様において、本発明はユーザが１つ以上の構造体を設計あるいは改善することを支援するために用いられる有限要素解析法における衝突イベントをシミュレートするコンピュータ実行方法である。この方法は、少なくとも以下のステップを備える。１つは、複数の演算処理装置が接続されたコンピュータシステムにおいて衝突イベントの対象となる１つ以上の構造体の有限要素解析法モデルを受け取るステップである。このステップにおいては、有限要素解析法モデルが複数のコンタクトインターフェースを有している。１つは、コンピュータシステムにおいて、有限要素解析法モデルを少なくとも第１ドメインおよび第２ドメインを有する複数のドメインに分割するステップである。このステップにおいては、第１ドメインは演算処理装置うちの第１演算処理装置に関連付けられており、第２ドメインは演算処理装置うちの第２演算処理装置に関連付けられている。１つは、コンピュータシステムにおいて、コンタクトインターフェースのそれぞれと複数のドメインの１つ以上との間のグループ化可能な相関を決定するステップである。また、１つは、コンピュータシステムにおいて、複数のソリューションサイクルを有する衝突イベントの時間進行シミュレーションを行なうステップである。さらに、この方法は、ソリューションサイクルのそれぞれにおいて、少なくとも以下のステップを備えている。１つは、グループ化可能な相関に応じて第１データ通信メッセージを生成し第１演算処理装置から第２演算処理装置へ送信するステップである。このステップにより、コンタクトインターフェースに関連する最大限可能なデータ通信が交換される。１つは、第１データ通信メッセージにおいて受信されたデータによって、第１および第２演算処理装置のそれぞれにおいて、複数の演算を有限要素解析法の各コンタクトインターフェースに対して行なうステップである。１つは、第２データ通信メッセージを生成し第１データ通信メッセージの逆方向に送信するステップである。このステップにおいては、第２メッセージが複数の演算から得られたデータを送信するよう構成されている。また、１つは、ソリューションサイクルのすべてが演算された後、コンピュータシステムに接続されているモニタにシミュレーションの結果を表示するステップである。
【０００８】
本発明の他の目的、特徴および利点は、添付の図面を参照した以下の実施形態の詳細な説明を考察することで明らかになるであろう。
【０００９】
本発明のこれらおよび他の特徴、面および利点は、以下の説明、添付したクレームおよび以下の添付図面との関連から一層よく理解されるであろう。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の一の実施形態にかかる、コンピュータシステムにおいて行うことができる例示的な有限要素解析法結果（つまり車のクラッシュのシミュレーション結果）を示す図である。
【図２】図２は、本発明の一の実施形態にかかる、多くのドメインへとパーティショニングされた多くのコンタクトインターフェースを有する例示的な構造体を示す図である。
【図３】図３は、本発明の一の実施形態にかかる、コンタクトインターフェースとドメインとの間の例示的なグループ化可能な相関を示す表である。
【図４】図４は、従来技術アプローチにかかる有限要素解析法においてマルチなコンタクトインターフェースに対するデータ通信および演算のシーケンスを示す表である。
【図５】図５は、本発明の実施形態にかかる、マルチなコンタクトインターフェースに対するデータ通信および演算の例示的なシーケンスを示す表である。
【図６】図６は、本発明の実施形態にかかる、ユーザが１つ以上の構造体を設計あるいは改善することを支援するために用いられる有限要素解析法における衝突イベントをシミュレートする例示的なプロセスを示すフローチャートである。
【図７】図７は、本発明の実施形態が構築された例示的なコンピュータシステムの主要なコンポーネントを示す機能図である。
【図８】図８は、本発明の一の実施形態にかかる、使用可能な他の例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【００１１】
本発明の説明に役立てるために、ここで開示される全体にわたってのいくつかの用語を定義する必要があると思われる。以下の定義は、実施形態にかかる本発明を理解し記述することに役立たせるものであることを述べておくべきであろう。定義は、実施形態に関していくつかの制限を含むように見えるかもしれないが、ここで使われる用語の実際の意味は、この実施形態を十分に越えた当業者には公知の適用範囲を有する。
【００１２】
ＦＥＡは、有限要素解析法（Ｆｉｎｉｔｅ  Ｅｌｅｍｅｎｔ  Ａｎａｌｙｓｉｓ）の意である。
【００１３】
暗黙ＦＥＡあるいは解法はＫｕ＝Ｆをいう。ここで、「Ｋ」は有効剛性マトリクス（ｅｆｆｅｃｔｉｖｅ  ｓｔｉｆｆｎｅｓｓ  ｍａｔｒｉｘ）であり、「ｕ」は未知の変位配列（ｕｎｋｎｏｗｎ  ｄｉｓｐｌａｃｅｍｅｎｔ  ａｒｒａｙ）であり、「Ｆ」は有効負荷配列（ｅｆｆｅｃｔｉｖｅ  ｌｏａｄｓ ａｒｒａｙ）である。「Ｆ」は右側荷重配列（ｒｉｇｈｔ  ｈａｎｄ  ｓｉｄｅ  ｌｏａｄｓ  ａｒｒａｙ）であり、「Ｋ」は左側剛性マトリクス（ｌｅｆｔ  ｈａｎｄ  ｓｉｄｅ  ｓｔｉｆｆｎｅｓｓ  ｍａｔｒｉｘ）である。解法は、剛性度、質量および減衰の関数である有効剛性マトリクスの因数分解を用いて、全体的なレベルで行なわれる。１つの例示的な解法方法は、ニューマーク時間積分法（Ｎｅｗｍａｒｋ  ｔｉｍｅ  ｉｎｔｅｇｒａｔｉｏｎ  ｓｃｈｅｍｅ）である。
【００１４】
明示的ＦＥＡはＭａ＝Ｆをいう。ここで、「Ｍ」は対角的質量配列（ｄｉａｇｏｎａｌ  ｍａｓｓ  ａｒｒａｙ）であり、「ａ」は未知のノードの加速配列（ｕｎｋｎｏｗｎ  ｎｏｄａｌ  ａｃｃｅｌｅｒａｔｉｏｎ  ａｒｒａｙ）であり、「Ｆ」は有効荷重配列である。解法は、マトリックスの因数分解を用いずにエレメントレベルで実行することができる。１つの例示的な解法方法は、中心差分法（ｃｅｎｔｒａｌ  ｄｉｆｆｅｒｅｎｃｅ  ｍｅｔｈｏｄ）と呼ばれるものである。
【００１５】
時間進行シミュレーション（ｔｉｍｅ−ｍａｒｃｈｉｎｇ  ｓｉｍｕｌａｔｉｏｎ）あるいは時間領域（タイムドメイン）解析（ｔｉｍｅ−ｄｏｍａｉｎ  ａｎａｌｙｓｉｓ）は、時間ドメインにおける工学解析シミュレーション、例えば時間ドメインにおいて有限要素解析法を用いた車耐衝撃性のシミュレーションをいう。
【００１６】
本発明の実施形態を、図１乃至図８を参照してここに説明する。しかしながら、これらの図を参照してここで与える詳細な説明は例示の目的であって発明がこれらの限定的な実施形態を越えて広がっていることは、当業者には容易に理解されよう。
【００１７】
まず、車のクラッシュシのミュレーション（つまり衝突イベント）の例示的な有限要素解析法結果を示す図である図１を参照する。言いかえれば、衝突イベントをシミュレートする有限要素解析法から数値的結果のグラフィック的な表示である。自動車１１０および壁１２０の、２つの構造体がシミュレーションに含まれている。構造体の両方ともが、有限要素解析法モデルで表現される。シミュレーションは、コンピュータシステム（例えばコンピュータ７００あるいはコンピュータシステム８００）において衝突イベントの時間進行シミュレーションとして数値的に行うことができる。自動車は、１，０００，０００を超える有限要素（例えばシェル（ｓｈｅｌｌ）、ソリッド（ｓｏｌｉｄ）およびビーム（ｂｅａｍ）要素（エレメント））を有することもある。２つの構造体間のコンタクト（ｃｏｎｔａｃｔ）の演算に対して、多くのコンタクトインターフェース（ｃｏｎｔａｃｔ  ｉｎｔｅｒｆａｃｅ）がユーザによって定義され指定される。コンタクトインターフェースは、２つ以上の構造体間のコンタクトを適切にシミュレートするために、ときには構造体自体のために、構成される。
【００１８】
マルチプロセッサ（複数の処理装置の）コンピュータシステムにおいて有限要素解析法を実行するために、有限要素解析法モデルは、ドメイン分解（ｄｏｍａｉｎ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ）と呼ばれる手法に基づいて多くのドメインにパーティショニングされる、すなわち分割される。目的は、コンピュータシステムの演算処理装置の特定の１つに１つのドメインを割り当てる、すなわち関連させて、ドメインのそれぞれへの演算負荷あるいは作用をおおむね等しくすることにある。構造体２００の例示的なドメインを図２に例示する。図の簡単化のため、構造体２００を楕円として示す。８つのドメイン２０２ａ〜ｈが、「ドメイン０」２０２ａ、「ドメイン１」２０２ｂ、…、「ドメイン８」２０２ｈとして構造体２００からパーティショニングされて示されている。そして、８つのコンタクトインターフェース２２２ａ〜ｈが、「コンタクトインターフェースＡ」２２２ａ、「コンタクトインターフェースＢ」２２２ｂ、…、「コンタクトインターフェースＨ」２２２ｈとして示されている。ドメインは、ドメイン分解方式を行なうことができる有限要素アプリケーションモジュールによって一般的に生成される。並列の有限要素演算を行なうために、それぞれのドメインは、プロセッサのうちのあるいはマルチプロセッサコンピュータシステムのプロセッシングユニット（演算処理装置）のうちの１つに割り当てられ、処理される。それぞれの演算処理装置は、割り当てられたすなわち関連するドメインの演算を担当する。ドメインの境界に沿った関連するデータは、各演算処理装置間で交換される。例えば、コンタクトインターフェースに対するデータは、関連する演算処理装置間で共有されることになろう。本発明を利用するためには、それぞれの有限要素モデルは、ユーザによって定義され指定される複数の（マルチな）コンタクトインターフェースを有する。実際の世界においては、構造体は、典型的には三次元の物体（例えば車）であり、図２における簡単化した二次元の楕円ではないことを付言しておく。
【００１９】
ドメインおよびコンタクトインターフェースの物理的な位置に基づいて、「グループ化可能な（ｇｒｏｕｐ−ａｂｌｅ）」相関を決定することができる。例えば、図３は、ドメイン３０２とコンタクトインターフェース３０４との間の例示的なグループ化可能な相関を示す表３００である。例えば、「インターフェースＡ」は、「Ｘ」で示す「ドメイン０」、「ドメイン１」および「ドメイン２」の、３つのドメインにわたって広がっており、「インターフェースＢ」は、「ドメイン２」、「ドメイン３」、「ドメイン４」および「ドメイン５」に及んでいるなどである。ドメイン３０２のそれぞれは演算処理装置のうちの１つと関連するすなわち割り当てられるので、ドメイン３０２のそれぞれの有限要素解析法演算は各演算処理装置によって演算される。コンタクトインターフェース全体がドメイン内にあるとき、その場合は、演算を、他の演算処理装置とのデータ通信のない各演算処理装置を用いて行なうことができる。しかしながら、図３から明らかに示されるように、コンタクトインターフェース３０４が１より多いドメインに広がっているとき、有限要素解析法における構造的なコンタクトの演算を他の演算処理装置（あるいはドメイン）からのあるデータを用いて行なう必要がある。例えば、「コンタクトインターフェースＡ」の構造的なコンタクトは、「ドメイン０」、「ドメイン１」および「ドメイン２」を処理するよう割り当てられた演算処理装置において演算されている。その結果、これらの演算処理装置間のデータ通信は、演算前後に必要とされる。同様に、「コンタクトインターフェースＭ」は、適切なコンタクト演算を保証するために、「ドメイン１」、「ドメイン５」、「ドメイン６」および「ドメイン７」間でのデータ通信を有する必要がある。
【００２０】
図４は従来技術アプローチにかかる演算シーケンスを示す表である。シーケンスは、通信４０２、演算４０４そして他の通信４０６が続く「コンタクトインターフェース１」で始まる。次いで、通信４１２、演算４１４そして他の通信４１６が続く「コンタクトインターフェース２」となる。シーケンスは、通信４２２、演算４２４そして通信４２６が続く最後のインターフェース「コンタクトインターフェースｎ」まで続く。従来技術アプローチは、非効率的で逐次的（シーケンシャル（ｓｅｑｕｅｎｔｉａｌ））である。その結果、コンタクトインターフェースのうちのどれか１つが処理されているときでも、演算処理装置のうちのいくつかは休止（アイドル（ｉｄｌｅ））状態にある。ユーザが多数のコンタクトインターフェース（例えば５０超）を定義し指定する場合、従来技術アプローチは非常に多くのコンタクトインターフェースのために非常に非効率的となる。
【００２１】
図５は、本発明のある実施形態にかかる、複数のコンタクトインターフェースに対するデータ通信および演算の例示的なシーケンスを示す表である。コンタクトインターフェースのすべて（例えば図３の「インターフェースＡ」…「インターフェースＭ」）に対する第１データ通信５０２は、他の演算処理装置に送信する前に、合わせて１つのメッセージとしてグループ化される。これにより、最大限可能なデータ通信が非常に効率的な方法で並列に交換されることを保証することができる。第１データ通信５０２を設定するためには、「グループ化可能な」相関（例えば図３における表３００）を特定し、構築しあるいは決定する必要がある。並列に処理することができるコンタクトインターフェースのみが、「グループ化可能」であると見なされる。特定のコンタクトインターフェースの演算が他のコンタクトインターフェースに依存しているとき、その特定のコンタクトインターフェースは「グループ化可能な」相関に含めることができない。
【００２２】
第１データ通信５０２が終了した後、構造的なコンタクトの演算５０４を各演算処理装置において行なうことができる。演算５０４の後、第２データ通信５０６が、生成され、第１データ通信５０２の逆方向に送信されて、これにより、それぞれのソリューションステップ（例えば有限要素解析法、時間進行シミュレーションのソリューションサイクルなどの反復）を完了する。
【００２３】
効率を実証するために、本発明の一の実施形態では、１，１５１，８５６個のノードおよび１，１１６，１６０個のシェルエレメントを備える例示的な有限要素解析法モデルと、７５個のコンタクトインターフェースと、を用いる。８個、１６個、３２個、６４個および１２８個の処理装置を有するコンピュータシステムを、比較研究に用いる。先のアプローチからの改良を示すために、演算結果を以下に要約する。
【００２４】
【表１】
2010152895.tif 000003
【００２５】
【表２】
2010152895.tif 000004
【００２６】
【表３】
2010152895.tif 000005
表１は、従来技術アプローチと本発明との間の比較を、秒による経過時間で示しており、また、表２は、秒によるコンタクト時間で示している。経過時間は全シミュレーションの演算時間である。また、コンタクト時間はコンタクト演算のみにおいて費やされた演算時間である。表３は、８個の処理装置の実行を基準として（つまり高速化１．０として）用いた、本発明の一の実施形態にかかるアプローチを用いた高速化の要約を示す。高速化の要約は、経過時間およびコンタクト時間の両方を含んでいる。
【００２７】
次に、本発明の一の実施形態にかかる、ユーザが１つ以上の構造体を設計あるいは改善することを支援するために用いられる有限要素解析法における衝突イベントをシミュレートする例示的なプロセス６００を示すフローチャートである図６を参照する。プロセス６００は、ソフトウェアにおいて実行でき、先の図面を用いて理解することが好ましい。
【００２８】
プロセス６００は、ステップ６０２において、コンピュータシステムにおいて衝突イベントシミュレーション（例えば車のクラッシュ、金属成形）の定義を受け取ることによって、スタートする。コンピュータシステムは好ましくは２つより多い複数の演算処理装置で構成される。定義は、多くのコンタクトインターフェースを有する１つ以上の構造体を有する有限要素解析法モデルを含んでいる。コンタクトインターフェースは、有限要素解析法あるいはシミュレーションのユーザ（例えば技術者および／または科学者）によって定義され指定される。
【００２９】
次に、ステップ６０４において、有限要素解析法モデルはドメイン分解方式に基づいて多くのドメインに分割される、すなわちパーティショニングされる。それぞれのドメインは、演算処理装置のうちの１つと関連づけられる、あるいは演算処理装置のうちの１つに割り当てられる。次いで、ステップ６０６において、ドメインとコンタクトインターフェースとの間の「グループ化可能な」相関が、構築あるいは決定される。「グループ有能な」相関が決定されれば、衝突イベントの時間進行シミュレーションのそれぞれのソリューションサイクルを以下のステップにより行なうことができる。ステップ６０８において、第１データ通信メッセージを生成し、「グループ化可能な」相関に応じて第１演算処理装置から第２演算処理装置へ送信し、これにより、最大限可能なデータ通信を非常に効率的な方法で交換することができる。非常に効率的な方法の１つの例は、データ通信を行なうとき、アイドル状態の演算処理装置を最小限にすることである。次いで、ステップ６１０において、有限要素解析法の構造的なコンタクト（それぞれのコンタクトインターフェースにおける）の演算を、ステップ６０８において受信したデータとローカルに記憶されたデータとを用いて、各演算処理装置において行なうことができる。最後に、ステップ６１２において、第２データ通信メッセージを生成し、第１データ通信メッセージの逆の順で送信し、これにより、ステップ６１０の演算から得られた情報が第１演算処理装置に送信される。
【００３０】
それぞれのソリューションサイクルの後に、プロセス６００は、シミュレーションが終了したか否かを決定するテスト６１４へと移行する。「ｎｏ」であれば、プロセス６００は、ステップ６０８に戻って、他のソリューションサイクルにおいてシミュレーションを継続して行う。そうでなければ、プロセス６００は、必要に応じてシミュレーション結果をコンピュータシステムに接続されているモニタに表示するステップ６１６に移行する。結果を、ユーザが構造体を改善あるいは設計するために判断できるよう、グラフィック形式および／またはテキスト形式とすることができる。最後に、プロセス６００が終了する。
【００３１】
一の側面において、本発明は、ここで説明した機能性を実行可能な１つ以上のコンピュータシステムに対してなされたものである。コンピュータシステム７００の一例を図７に示す。コンピュータシステム７００は、プロセッサ７０４などの１つ以上のプロセッサを有する。プロセッサ７０４はコンピュータシステム内部通信バス７０２に接続されている。種々のソフトウェアの実施形態を、この例示的なコンピュータシステムで説明する。この説明を読むと、他のコンピュータシステムおよび／またはコンピューターアーキテクチャーを用いて、本発明を実行するかが、関連する技術分野に習熟しているものには明らかになるであろう。
【００３２】
コンピュータシステム７００は、また、メインメモリ７０８、好ましくはランダムアクセスメモリ（ＲＡＭ））を有しており、また二次メモリ７１０を有していてもよい。二次メモリ７１０は、例えば、１つ以上のハードディスクドライブ７１２、および／またはフレキシブルディスクドライブ、磁気テープドライブ、光ディスクドライブなどに代表される１つ以上のリムーバブルストレージドライブ７１４を有することができる。リムーバブルストレージドライブ７１４は、よく知られている方法でリムーバブルストレージユニット７１８から情報をを読み取り、および／またはリムーバブルストレージユニット７１８に情報を書き込む。リムーバブルストレージユニット７１８は、リムーバブルストレージドライブ７１４によって読み取り・書き込みされるフレキシブルディスク、磁気テープ、光ディスクなどを表わす。以下にわかるように、リムーバブルストレージユニット７１８は、コンピューターソフトウェアおよび／またはデータを内部に記憶しているコンピュータ可読である記憶媒体を有している。
【００３３】
別の実施形態において、二次メモリ７１０は、コンピュータプログラムあるいは他の命令をコンピュータシステム７００にロードすることを可能にする他の同様な手段を有することもできる。そのような手段は、例えば、リムーバブルストレージユニット７２２とインターフェース７２０を有することができる。そのようなものの例は、プログラムカートリッジおよびカートリッジインターフェース（ビデオゲーム機に見られるようなものなど）と、リムーバブルメモリチップ（消去可能なプログラマブルＲＯＭ（ＥＰＲＯＭ）、ユニバーサルシリアルバス（ＵＳＢ）フラッシュメモリ、あるいはＰＲＯＭなど）およびそれらに対応るソケットと、ソフトウェアおよびデータをリムーバブルストレージユニット７２２からコンピュータシステム７００に転送することを可能にする他のリムーバブルストレージユニット７２２およびインターフェース７２０と、が含まれうる。一般に、コンピュータシステム７００は、プロセススケジューリング、メモリ管理、ネットワーキンク管理およびＩ／Ｏサービスなどのタスクを行なうオペレーティングシステム（ＯＳ）ソフトウェアによって、制御され連係される。
【００３４】
通信インターフェース７２４も、また、バス７０２に接続することができる。通信用インターフェース７２４は、ソフトウェアおよびデータがコンピュータシステム７００と外部装置との間で転送することを可能にする。通信用インターフェース７２４の例には、モデム、ネットワークインターフェイス（イーサネット（登録商標）・カードなど）、コミュニケーションポート、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）スロットおよびカードなど、が含まれうる。コンピュータ７００は、特定の通信手続（つまりプロトコル）を実行してデータを送受信する。一般的なプロトコルのうち１つは、インターネットにおいて一般に用いられているＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）である。一般に、通信インターフェース７２４は、データファイルをデータネットワーク上で伝達される小さいパケットへ分割し、あるいは受信したパケットを元のデータファイルへと組み立てる（再構築する）、いわゆるパケットのアセンブル・リアセンブル管理を行う。さらに、通信インターフェース７２４は、正しい宛先に届くようそれぞれのパケットのアドレス部分に対処し、あるいはコンピュータ７００が宛先となっているパケットを他に向かわせることなく確実に受信する。この書類において、「コンピュータプログラム媒体」および「コンピュータが記憶可能な媒体」という用語は、リムーバブルストレージドライブ７１４および／またはハードディスクドライブ７１２に組み込まれたハードディスクなどの媒体を通常意味して用いられている。これらのコンピュータプログラム製品は、ソフトウェアをコンピュータシステム７００に提供する手段である。本発明は、このようなコンピュータプログラム製品に対してなされたものである。
【００３５】
コンピュータシステム７００は、また、コンピュータシステム７００をモニタ、キーボード、マウス、プリンタ、スキャナ、プロッターなどとアクセスさせる入出力（Ｉ／Ｏ）インターフェース７３０を有していてもよい。
【００３６】
コンピュータプログラム（コンピュータ制御ロジックともいう）は、メインメモリ７０８および／または二次メモリ７１０にアプリケーションモジュール７０６として記憶される。コンピュータプログラムを、通信インターフェース７２４を介して受け取ることもできる。このようなコンピュータプログラムが実行された時、コンピュータプログラムによって、コンピュータシステム７００がここに説明した本発明の特徴を実現することが可能になる。詳細には、コンピュータプログラムが実行された時、コンピュータプログラムによって、プロセッサ７０４が本発明の特徴を実現することが可能になる。したがって、このようなコンピュータプログラムは、コンピュータシステム７００のコントローラを表わしている。
【００３７】
ソフトウェアを用いて発明が実行されるある実施形態において、当該ソフトウェアは、コンピュータプログラム製品に記憶され、あるいは、リムーバブルストレージドライブ７１４、ハードドライブ７１２あるいは通信インターフェース７２４を用いてコンピュータシステム７００へとロードされる。アプリケーションモジュール７０６は、プロセッサ７０４によって実行された時、アプリケーションモジュール７０６によって、プロセッサ７０４がここに説明した本発明の機能を実現する。
【００３８】
所望のタスクを実現するために、Ｉ／Ｏインターフェース７３０を介したユーザ入力によって、あるいは、よることなしに、１つ以上のプロセッサ７０４によって実行することができる１つ以上のアプリケーションモジュール７０６を、メインメモリ７０８に、ロードすることもできる。動作においては、少なくとも１つのプロセッサ７０４がアプリケーションモジュール７０６のうちの１つが実行されると、結果が演算されて二次メモリ７１０（つまりハードディスクドライブ７１２）に記憶される。有限要素解析法（例えば車耐衝撃性）の状況は、テキストあるいはグラフィック表現で、Ｉ／Ｏインターフェース７３０を介して、コンピュータシステム７００に接続されているモニタへと、ユーザに報告される。
【００３９】
次に、４つのコンピュータ８０２Ａ〜Ｄを備える例示的なコンピュータシステム８００を示す図である図８を参照する。コンピュータ８０２Ａ〜Ｄのそれぞれは、少なくとも１つのプロセッサ８０４Ａ〜Ｄを有する。一の実施形態では、プロセッサ８０４Ａ〜Ｄは、シングルコアマイクロプロセッサ、デュアルコアマイクロプロセッサあるいはクアッドコアマイクロプロセッサにすることができる。コンピュータ８０２Ａ〜Ｄは、データネットワーク８１０によって互いに接続される。データネットワーク８１０は、密結合ネットワークあるいは粗結合ネットワークであることも可能である。一の実施形態においては、ネットワーク８１０はインターネットである。他の実施形態においては、ネットワーク８１０はプライベートネットワークである。さらに他の実施形態においては、ネットワーク８１０はコンピュータ８０２Ａ〜Ｄための排他的な専用ネットワークである。
【００４０】
本発明の一の面では、コンピュータシステム７００あるいは８００は、複数の演算処理装置を有するように構成される。演算処理装置のそれぞれを、別々の中央処理装置８０４Ａ〜Ｄ、あるいはマルチコアマイクロプロセッサにおけるコアのうちの１つとすることができる。演算処理装置のそれぞれは、図２に示すドメイン分解方式においてパーティショニングされたドメインのうちの１つを処理するよう構成される。
【００４１】
本発明を具体的な実施形態を参照して説明したが、これらの実施形態は単に例示的なものであって、本発明を限定するものではない。具体的に開示した例示的な実施形態に対する種々の変形あるいは変更が当業者には思いつくであろう。例えば、図２では８つのドメインおよび８つのコンタクトインターフェースを示し説明したが、本発明においては、ドメインおよびインターフェースを他の数として用いることができる。また、４つのコンピュータが接続されているところを図８に示したが、コンピュータを他の数として、例えば、それぞれが１つのプロセッサを有する８つのコンピュータ、２５６個のプロセッサを備えた１つのコンピュータ、それぞれが１つのデュアルコアプロセッサを装備した４つのコンピュータなどとして、用いることができる。つまり、本発明の範囲は、ここに開示した具体的な例示的実施形態に限定されるのではなく、当業者が容易に思いつくあらゆる変形は、本願の精神および認識範囲内および添付の特許請求の範囲の範囲内に含まれる。
【符号の説明】
【００４２】
１１０  自動車
１２０  壁
２００  構造体
２０２ａ〜ｈ  ドメイン
２２２ａ〜ｈ  コンタクトインターフェース
３０２  ドメイン
３０４  インターフェース
７００  コンピュータシステム
７０２  バス
７０４  プロセッサ
７０６  アプリケーションモジュール
７０８  インメモリ
７１０  二次メモリ
７１２  ハードディスクドライブ
７１４  リムーバブルストレージドライブ
７１８  リムーバブルストレージユニット
７２０  インターフェース
７２２  リムーバブルストレージユニット
７２４  通信インターフェース
７３０  Ｉ／Ｏインターフェース
８０２Ａ〜Ｄ  コンピュータ
８０４Ａ〜Ｄ  プロセッサ
【図１】
2010152895.tif 000006
【図２】
2010152895.tif 000007
【図３】
2010152895.tif 000008
【図４】
2010152895.tif 000009
【図５】
2010152895.tif 000010
【図６】
2010152895.tif 000011
【図７】
2010152895.tif 000012
【図８】
2010152895.tif 000013