(57)【特許請求の範囲】
【請求項１】
有限要素解析法において数値的にシミュレートされる剛体を生成する方法であって、
コンピュータが、
有限要素解析法アプリケーションモジュールがインストールされたコンピュータシステムにおいて少なくとも１つの剛性有限要素を有する有限要素解析法モデルを定義するステップであって、該少なくとも１つの剛性有限要素のそれぞれは１つ以上の物理量を表わす１セットのユーザ定義情報を有しているステップと、
それぞれのシミュレートされる剛体が前記少なくとも１つの剛性有限要素からなるリストによって表わされるよう前記１つ以上のシミュレートされる剛体を生成するステップであって、該リストが２つ以上の要素を含んでいる場合にはこれら２つ以上の剛性有限要素は少なくとも１つの共有ノードを介して互いに接続されているステップと、
前記対応するリストにおけるそれぞれの剛性有限要素に対応する前記１セットのユーザ定義情報に応じて前記それぞれのシミュレートされる剛体の１セットの物理的な特性を演算するステップであって、前記それぞれのシミュレートされる剛体は有限要素解析法において処理されるよう設定されて、これにより、ユーザが工業製品設計の改良を判断することを支援するステップと、
を実行する方法であり、
前記１つ以上のシミュレートされる剛体を生成する前記ステップは、さらに、
一連のノードフラグを生成するステップであって、それぞれのノードフラグが前記複数のノーダルポイントの対応する１つに関連しているステップと、
前記少なくとも１つの剛性有限要素の総数より大きな数を用いて前記一連のノードフラグを初期化するステップと、
前記少なくとも１つの剛性有限要素のすべてにわたって一度ループするステップと、
を備えており、
前記ループするステップ中の現在処理されている要素において、該現在処理されている要素の対応するノードフラグを検査し、
前記現在処理されている要素に隣接する要素がどれも生成されたリストには構成要素として存在しないことが確認された場合、該現在処理されている要素の識別（ＩＤ）を有する新しいリストを生成し、前記対応するノードフラグを該ＩＤへと更新し、
前記現在処理されている要素に隣接する要素がすべて特定のリスト内に存在することが確認された場合、該現在処理されている要素を該特定のリストへと追加し、前記対応するノードフラグをその特定の連結リストのＩＤへと更新し、
前記現在処理されている要素に隣接する要素が２つ以上のリストに存在することが確認された場合、該２つ以上のリストのすべてを最も小さいＩＤを有するリストへと併合し、前記対応するノードフラグを該併合するリストのＩＤへと更新する、方法。
【請求項２】
請求項１に記載の方法であって、前記少なくとも１つの剛性有限要素は、剛体を形成する材料タイプを指定するよう、ユーザによって定義される方法。
【請求項３】
請求項１に記載の方法であって、前記１つ以上の物理量は質量密度を備える方法。
【請求項４】
請求項１に記載の方法であって、前記リストにおける前記これら２つ以上の剛性有限要素は任意の形状あるいは任意の向きに配置される方法。
【請求項５】
請求項４に記載の方法であって、前記これら２つ以上の剛性有限要素は、第１ノードを共有する第１剛性有限要素および第２剛性有限要素を有しており、前記第１剛性有限要素および第３剛性有限要素は第２ノードを共有している方法。
【請求項６】
請求項１に記載の方法であって、前記有限要素解析法モデルは複数のノーダルポイントを備える方法。
【請求項７】
請求項１に記載の方法であって、前記１セットの物理的性質は、質量、初期テンソル、初期運動量および初期位置エネルギーの少なくとも１つを備える方法。
【請求項８】
有限要素解析法において数値的にシミュレートされる剛体を生成するシステムであって、
有限要素解析法アプリケーションモジュールに関するコンピュータ可読コードを記憶しているメインメモリと、
前記メインメモリに連結される少なくとも１つのプロセッサと、を備え、
該少なくとも１つのプロセッサが前記メインメモリ内の前記コンピュータ可読コードを実行することにより、前記アプリケーションモジュールにより機能させられる前記少なくとも１つのプロセッサが、方法に基づいてオペレーションを実行するシステムであって、該方法が、
少なくとも１つの剛性有限要素を有する有限要素解析法モデルを定義するステップであって、該少なくとも１つの剛性有限要素のそれぞれは１つ以上の物理量を表わす１セットのユーザ定義情報を有しているステップと、
それぞれのシミュレートされる剛体が前記少なくとも１つからなる剛性有限要素のリストによって表わされるよう前記１つ以上のシミュレートされる剛体を生成するステップであって、該リストが２つ以上の要素を含んでいる場合にはこれら２つ以上の要素は少なくとも１つの共有ノードを介して互いに接続されているステップと、
前記対応するリストにおけるそれぞれの剛性有限要素に対応する前記１セットのユーザ定義情報に応じて前記それぞれのシミュレートされる剛体の１セットの物理的な特性を演算するステップであって、前記それぞれのシミュレートされる剛体は有限要素解析法において処理されるよう設定されて、これにより、ユーザが工業製品設計の改良を判断することを支援するステップと、
を備えているシステムであって、
前記１つ以上のシミュレートされる剛体を生成する前記ステップは、さらに、
それぞれのノードフラグが前記複数のノーダルポイントの対応する１つに関連している一連のノードフラグを生成するステップと、
前記少なくとも１つの剛性有限要素の総数より大きな数を用いて前記一連のノードフラグを初期化するステップと、
前記少なくとも１つの剛性有限要素のすべてにわたって一度ループするステップと、
を備えており、
前記ループするステップにおいて現在処理されている要素において、該現在処理されている要素の対応するノードフラグを検査し、
前記現在処理されている要素に隣接する要素がどれも生成されたリストには構成要素として存在しないことが確認された場合、該現在処理されている要素の識別（ＩＤ）を有する新しいリストを生成し、前記対応するノードフラグを該ＩＤへと更新し、
前記現在処理されている要素に隣接する要素がすべて特定のリスト内に存在することが確認された場合、該現在処理されている要素を該特定のリストへと追加し、前記対応するノードフラグをその特定の連結リストのＩＤへと更新し、
前記現在処理されている要素に隣接する要素が２つ以上のリストに存在することが確認された場合、該２つ以上のリストのすべてを最も小さいＩＤを有するリストへと併合し、前記対応するノードフラグを該併合するリストのＩＤへと更新する、システム。
【請求項９】
コンピュータに、有限要素解析法において数値的にシミュレートされる剛体を生成するシステムを制御させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記コンピュータに、
有限要素解析法アプリケーションモジュールがインストールされたコンピュータシステムにおいて少なくとも１つの剛性有限要素を有する有限要素解析法モデルを定義するステップであって、該少なくとも１つの剛性有限要素のそれぞれは１つ以上の物理量を表わす１セットのユーザ定義情報を有しているステップと、
それぞれのシミュレートされる剛体が前記少なくとも１つの剛性有限要素からなるリストによって表わされるよう前記１つ以上のシミュレートされる剛体を生成するステップであって、該リストが２つ以上の要素を含んでいる場合にはこれら２つ以上の要素は少なくとも１つの共有ノードを介して互いに接続されているステップと、
前記対応するリストにおけるそれぞれの剛性有限要素に対応する前記１セットのユーザ定義情報に応じて前記それぞれのシミュレートされる剛体の１セットの物理的な特性を演算するステップであって、前記それぞれのシミュレートされる剛体は有限要素解析法において処理されるよう設定されて、これにより、ユーザが工業製品設計の改良を判断することを支援するステップと、
を実行させ、
前記１つ以上のシミュレートされる剛体を生成する前記ステップは、さらに、
一連のノードフラグを生成するステップであって、それぞれのノードフラグが前記複数のノーダルポイントの対応する１つに関連しているステップと、
前記少なくとも１つの剛性有限要素の総数より大きな数を用いて前記一連のノードフラグを初期化するステップと、
前記少なくとも１つの剛性有限要素のすべてにわたって一度ループするステップと、
を備えており、
前記ループするステップにおいて現在処理されている要素において、該現在処理されている要素の対応するノードフラグを検査し、
前記現在処理されている要素に隣接する要素がどれも生成されたリストには構成要素として存在しないことが確認された場合、該現在処理されている要素の識別（ＩＤ）を有する新しいリストを生成し、前記対応するノードフラグを該ＩＤへと更新し、
前記現在処理されている要素に隣接する要素がすべて特定のリスト内に存在することが確認された場合、該現在処理されている要素を該特定のリストへと追加し、前記対応するノードフラグをその特定の連結リストのＩＤへと更新し、
前記現在処理されている要素に隣接する要素が２つ以上のリストに存在することが確認された場合、該２つ以上のリストのすべてを最も小さいＩＤを有するリストへと併合し、前記対応するノードフラグを該併合するリストのＩＤへと更新する、
コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、コンピュータ支援工学解析に関し、より詳細には、有限要素解析法において数値的にシミュレートされる剛体（ＲＢ）を、（例えば何百万の粒子が容器を満たす）機械工学設計シミュレーションにおいて用いられるＲＢに対するいかなる識別子も明示的に定義することなく、定義し生成するシステムおよび方法に関する。
【背景技術】
【０００２】
コンピュータ支援工学（ＣＡＥ）は、多くのタスクにおいてエンジニアを支援するために用いられている。例えば、構造体あるいは工業製品設計の手順において、ＣＡＥ解析、特に有限要素解析法（ＦＥＡ）が、種々のシミュレーション荷重条件（例えば、静的あるいは動的な荷重条件）下でのシミュレーション応答（例えば応力、変位など）を評価するために、よく用いられている。
【０００３】
ＦＥＡは、三次元の非線形の構造設計および解析など複雑な製品あるいはシステム（例えば車、飛行機、家庭用製品など）に関連する工学問題をシミュレートする（つまり、モデル化して解く）ために、産業において広く用いられているコンピュータ化された方法である。ＦＥＡの名前は、想定されている対象の幾何学的配置（ジオメトリ）を特定する方法に由来する。幾何学的配置は、要素（エレメント）とノーダルポイント（ノード点）とによって定義される。多くのタイプの要素があり、体積あるいは連続体に対応する中実（ソリッド（ｓｏｌｉｄ））要素、面に対応する外殻（シェル（ｓｈｅｌｌ））要素あるいは板状（プレート（ｐｌａｔｅ））要素と、一次元の構造物に対応する梁状（ビーム（ｂｅａｍ））要素あるいは骨組構造物（トラス（ｔｒｕｓｓ））要素がある。それぞれの要素の幾何学的配置は、ノーダルポイント（例えば８つのコーナーノードを備える煉瓦（ブリック）状あるいは六面体状要素）によって定義される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般的に、上記の要素は荷重下で変形可能である。しかしながら、ある用途においては、剛性有限要素あるいは剛性要素が要求される。剛性要素はどんな荷重条件下でも変形しない。剛性要素は、構造的なコンポーネント（例えばボルト、個別の粒子、剛体）をモデル化するために用いることができる。剛体をモデル化するために、従来技術アプローチのうちの１つでは、剛体タイプの要素を生成する。すべての剛体を、個々の剛体を識別するよう用いられる識別子によって定義する必要がある。例えば、有限要素解析法モデルにおいて２つの異なる剛体が定義されている場合、２つの他と重複しない識別子が生成されなければならず、その２つの他と重複しない識別子の１つが割り当てられた剛性要素はともにグループ化される。それぞれの剛体に対して、慣性特性が、剛体内に有された剛性要素の幾何学的配置から演算される。このアプローチは比較的少数の剛体には簡単であるが、有限要素解析法モデルが多数の剛体を（例えば、何万、何百万と）含んでいる場合、実行可能ではない。多数のＲＢを定義するには莫大な量の工数時（つまりコスト）に必要とし、そのため生産環境において実行可能でない。
【０００５】
今日の工学シミュレーションの多くは、例えば容器を満たす何百万もの粒子をシミュレートするような（つまり、何百万ものＲＢを有する）能力を必要とする。したがって、剛体毎に特定の識別子を与えるという複雑な作業なしに、多数の剛体を効率的に定義し生成する方法およびシステムが望まれている。それぞれの剛体は、任意形状に配置される任意数の剛性有限要素を含むことができる。
【課題を解決するための手段】
【０００６】
有限要素解析法において数値的にシミュレートされる剛体（ＲＢ）を、ＲＢに対する識別子を明示的に定義することなく、定義し生成する方法およびシステムを開示する。本発明の一の面では、１つ以上の剛性要素あるいは剛性有限要素が有限要素解析法モデルにおいて定義される。例えば、剛性要素を特定的に指定した材料を有するよう定義できる。剛性要素は、１つ以上のシミュレートされるＲＢを形成する一部として構成される。それぞれのシミュレートされるＲＢは、任意の向きで互いに接続される任意数の剛性要素を備える。ＲＢに対する識別子は、入力記述あるいは定義において必要ではない。
【０００７】
本発明の他の面では、それぞれのＲＢは、剛性要素の他と重複しない連結リスト（ｌｉｎｋｅｄ  ｌｉｓｔ）を用いて表わされる。有限要素モデルあるいは有限要素解析法のモデル内に埋め込まれたＲＢを特定するために、すべての連結リスト（つまりＲＢ）を生成するプロシージャを以下に説明する。プロシージャは、剛性要素のすべてにわたって一度だけループする。剛性要素のそれぞれについて、３つの可能な状況がある。
（１）剛性要素のそれぞれに隣接する要素のどれもまだどれかの連結リストの構成要素になっていない（どの連結リストにも属していない）。
（２）剛性要素のそれぞれに隣接する要素のすべてが、同じ連結リストの構成要素である（同じ連結リストに属している）。
（３）剛性要素のそれぞれに隣接する要素は、異なる連結リストに属している。
【０００８】
ＲＢを表現する連結リストのすべてが識別され生成された後、それぞれのＲＢの物理的な特性が、それぞれのＲＢに含まれている対応する剛性要素から演算される。そして、工業製品（例えば車、飛行機、粒子、家庭用製品など）の有限要素解析法は、すべてのＲＢを含んだ通常の方法で実行できる。１つの例示的な使用法において、多数の粒状粒子は、粒状粒子当たり１つのＲＢを用いて、ＲＢとしてモデル化される。ＲＢ間の相互作用（例えば接触、衝突など）を、有限要素解析法を用いて、演算すなわちシミュレートできる。
【０００９】
本発明の他の目的、特徴および利点は、添付した図面を参照し、以下の本発明の実施の形態の詳細な説明を考察することによって明らかとなろう。
【００１０】
本発明のこれらおよび他の特徴、面および利点は、以下の説明、添付の特許請求の範囲および添付した図面を考慮してより理解されよう。図面は次の通りである。
【図面の簡単な説明】
【００１１】
【図１Ａ】本発明の実施形態にかかる、有限要素解析法において数値的にシミュレートされる剛体を生成する例示的なプロセスを集合的に示すフローチャートである。
【図１Ｂ】本発明の実施形態にかかる、有限要素解析法において数値的にシミュレートされる剛体を生成する例示的なプロセスを集合的に示すフローチャートである。
【図２】有限要素解析法モデルの例示的なソリッドエレメントを示す図である。
【図３】本発明の実施形態にかかる、例示的な、シミュレートされる剛体を示す図である。
【図４】本発明のある実施形態を実現可能であるコンピュータシステムの主要な部品を示す機能図である。
【発明を実施するための形態】
【００１２】
まず、図１Ａおよび図１Ｂを参照して、本発明の実施形態にかかる、ユーザが工業製品設計（例えば車、飛行機）の改良を判断することを支援する有限要素解析法においてシミュレートされる剛体を生成する例示的なプロセス１００を示すフローチャートを示す。プロセス１００は、好ましくはソフトウェアで実行される。
【００１３】
プロセス１００は、ステップ１０２において、設計すなわち改良される工業製品をモデル化する有限要素解析法（ＦＥＡ）モデルを定義することによって、スタートする。ＦＥＡモデルは、多数のノーダルポイントと、シミュレートされる剛体を形成する少なくとも１つの剛性有限要素を有する多数の要素と、を有する。一の態様では、ステップ１０４において、一群の剛性要素が、ユーザによって、特定的に指定した材料（例えば剛性材料）を有するソリッドエレメントとして生成される。これにより、これらの剛性要素が各剛体を形成するよう構成されることが示される。個々の剛体（ＲＢ）を明示的に定義する必要はない。すべてのＲＢはＦＥＡモデルに埋め込まれている。それぞれのＲＢは、任意の向きで互いに接続される一群の隣接要素として定義される。プロセス１００は、要素のノード定義あるいは剛性要素の接続情報を通じて、定義された剛体のそれぞれを特定し、そして、数値的な表現（つまり、それぞれのＲＢに対する他と重複しない連結リスト）を生成するように構成される。さらに、それぞれの剛性材料タイプに対して他の材料特性（つまり物理量）を、ユーザが指定することができる（例えば質量密度）。
【００１４】
ＲＢを、剛性要素の種々の組み合わせ／向きによって形成することができる。例えば、２つのこのような剛性ソリッドエレメントとして、六面体要素２１０および四面体要素２２０を図２に示す。六面体要素２１０は、８つのコーナーノード２１２によって定義される（１つは図示せず）。四面体要素２２０は、４つのコーナーノード２２２によって定義される（１つは図示せず）。一般に、ノード定義とは、それぞれの要素に対する各コーナーノードをいう。ソリッドエレメントのジオメトリを定義するすべてのノードは、ＦＥＡモデルにおいて初期に定義されている。
【００１５】
図３は、本発明の一の実施形態にかかる、３つの異なるシミュレートされるＲＢ３１０ａ〜ｃ示す図である。ＲＢ３１０ａ〜ｃは、任意形状に配置される任意数の剛性要素（つまり種々の任意の向きで一体的に接続されているソリッドエレメント）によって構成されている。例えば、要素３２１〜３２４は、共通の共有ノードを介して剛体３１０ｃを形成するよう互いに接続される。ノード３４１は要素３２１、３２２間で共有されている。ノード３４２は要素３２２、３２３間で共有されている。そして、ノード３４４は３つの要素３２２、３２３、３２４間で共有されている。
【００１６】
図１を再び参照して、ステップ１０４の後、プロセス１００は、ステップ１０５において、一連のノードフラグを生成する。それぞれのフラグはＦＥＡモデルにおけるノードに対応する。そして、一連のノードフラグは、一群の剛性要素における要素の総数より大きな数に初期化される。
【００１７】
次に、ステップ１０６において、プロセス１００はすべての剛性要素を特定し、連結リストの態様の剛体のすべてを生成する。言いかえれば、それぞれの連結リストは、１セットの他と重複しない剛性要素を用いて形成される特定のＲＢを表わす。特定の剛性要素を、１つの剛体の一部としてのみ構成することができる。任意形状の剛体のために、それぞれの連結リストは、任意数の剛性要素を有することができる。剛性要素が互いに接続されている限り、それらの要素は特定の剛体に属する。例えば、第１要素と第２要素は第１ノードを共有することができ、一方、第１要素および第３要素は第２ノードを共有することができる。また、第１ノードと第２ノードは同じもよく、また同じでなくともよい。
【００１８】
一の態様では、上述の機能は、図１Ｂに示すステップ１０６によって達成される。ステップ１０６は、剛性要素のすべてにわたって一度だけループして、要素−ノード接続情報（例えばコーナーノード）を用いて、ＲＢの１つ以上の数値的な表現（つまり連結リスト）を生成する。ループ動作に際しては、それぞれの現在処理されている要素（現在の要素ＩＤによって識別可能な現在の要素）において、現在の要素のすべてのノードのノードフラグがステップ１０６ａで検査される。３つの可能な状況がある。
（１）現在の要素に隣接する要素のどれもまだどれかの連結リストの構成要素にはなっていない。
（２）現在の要素に隣接する要素のすべてが、同じ連結リスト（つまり１つの特定の連結リスト）の構成要素である。
（３）それの隣接するものは、異なる連結リスト（つまり２つ以上の連結リスト）に属している。
【００１９】
判断１０６ｂにおいては、現在の要素に隣接する要素のどれもまだどれかの連結リストの構成要素となっていないかが判断される。「Ｙｅｓ」の場合、プロセス１００は、ステップ１０６ｃにおいて、新しい連結リスト（ＲＢを表わす）を生成し、新しい連結リストに現在の要素の要素ＩＤ（例えば要素番号）を標識付けする。さらに、プロセス１００は、すべての対応するノードフラグを現在の要素ＩＤへと更新する。言いかえれば、ステップ１０６ｃにおいて、現在の要素のこれら対応するノードのノードフラグは、現在の要素ＩＤへと変更される。次に、プロセス１００は、判断１０６ｇにその後移行する。要素番号は、ＦＥＡソフトウェア内において一般に用いられる連続番号付けスキームに基づく（例えば内部要素番号（ｉｎｔｅｒｎａｌ  ｅｌｅｍｅｎｔ  ｎｕｍｂｅｒ））ことを付言しておく。
【００２０】
判断１０６ｂを再び参照して、「Ｎｏ」の場合、プロセス１００が他の判断１０６ｄに移行する。現在の要素に隣接する要素のすべてが特定の連結リストの構成要素であるか否かが判断される。「Ｙｅｓ」の場合、プロセス１００は、ステップ１０６ｅに移行して、現在の要素をその特定の連結リストに追加し、もしあれば対応するノードフラグをその特定の連結リストのＩＤへと更新する。プロセス１００は、判断１０６ｇにその後移行する。
【００２１】
そうでなく「Ｎｏ」の場合、判断１０６ｄにおいて、プロセス１００がステップ１０６ｆへと移行する。これが上述した、状況（３）である（つまり、現在の要素に隣接する要素は２つ以上の連結リストに属する）。ステップ１０６ｆにおいて、プロセス１００は、その２つ以上の連結リストのすべてを最も小さいＩＤ（つまり最低の連結リストＩＤ番号）を有する連結リストへと併合し、対応するノードフラグをそれに応じて合併する連結リストのＩＤで更新する。再び、プロセス１００は、現在の要素がそのループにおける最後か否かを判断する判断１０６ｇへと移行する。「Ｎｏ」の場合、プロセス１００が、そのループにおける次の要素へと移行し、ステップ１０６ａに戻ってそのループにおける次の要素を処理する。そうでなければ、ステップ１０６は終了し、プロセス１００が戻る。
【００２２】
最後に、ステップ１１０において、プロセス１００は、それぞれの対応する連結リストにおける各要素に基づいてそれぞれ形成された剛体の物理的な特性を演算する（例えば剛体の全質量、初期の運動量およびエネルギー）。そして、これらの剛体に対して、有限要素解析法を適切に実行できる。そして、プロセス１００は、終了する。
【００２３】
一の側面において、本発明は、ここで説明した機能を実行可能な１つ以上のコンピュータシステムに対してなされたものである。コンピュータシステム４００の一例を、図４に示す。コンピュータシステム４００は、プロセッサ４０４など１つ以上のプロセッサを有する。プロセッサ４０４は、コンピュータシステム内部通信バス４０２に接続されている。種々のソフトウェアの実施形態を、この例示的なコンピュータシステムで説明する。この説明を読むと、いかにして、他のコンピュータシステムおよび／またはコンピューターアーキテクチャーを用いて、本発明を実行するかが、関連している技術分野に習熟している者には明らかになるであろう。
【００２４】
コンピュータシステム４００は、また、メインメモリ４０８好ましくはランダムアクセスメモリ（ＲＡＭ）を有しており、また二次メモリ４１０を有していてもよい。二次メモリ４１０は、例えば、１つ以上のハードディスクドライブ４１２、および／またはフレキシブルディスクドライブ、磁気テープドライブ、光ディスクドライブなどに代表される１つ以上のリムーバブルストレージドライブ４１４を有することができる。リムーバブルストレージドライブ４１４は、よく知られている方法で、リムーバブルストレージユニット４１８から情報を読み取り、および／またはリムーバブルストレージユニット４１８に情報を書き込む。リムーバブルストレージユニット４１８は、リムーバブルストレージドライブ４１４によって読み取り・書き込みされるフレキシブルディスク、磁気テープ、光ディスクなどを表わす。以下にわかるように、リムーバブルストレージユニット４１８は、コンピューターソフトウェアおよび／またはデータを内部に記憶しているコンピュータ可読媒体を有している。
【００２５】
別の実施形態において、二次メモリ４１０は、コンピュータプログラムあるいは他の命令をコンピュータシステム４００にロードすることを可能にする他の同様な手段を有することもできる。そのような手段は、例えば、リムーバブルストレージユニット４２２とインタフェース４２０とを有することができる。そのようなものの例には、プログラムカートリッジおよびカートリッジのインタフェース（ビデオゲーム機に見られるようなものなど）と、リムーバブルメモリチップ（消去可能なプログラマブルＲＯＭ（ＥＰＲＯＭ）、ユニバーサルシリアルバス（ＵＳＢ）フラッシュメモリ、あるいはＰＲＯＭなど）および関連するソケットと、ソフトウェアおよびデータをリムーバブルストレージユニット４２２からコンピュータシステム４００に転送することを可能にする他のリムーバブルストレージユニット４２２およびインタフェース４２０と、が含まれうる。一般に、コンピュータシステム４００は、プロセススケジューリング、メモリ管理、ネットワーク管理およびＩ／Ｏサービスなどのタスクを行なうオペレーティングシステム（ＯＳ）ソフトウェアによって、制御され連係される。
【００２６】
通信用インタフェース４２４も、また、バス４０２に接続することができる。通信用インタフェース４２４は、ソフトウェアおよびデータをコンピュータシステム４００と外部デバイスとの間で転送することを可能にする。通信用インターフェース４２４の例には、モデム、ネットワークインターフェイス（イーサネット（登録商標）・カードなど）、コミュニケーションポート、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）、スロットおよびカードなど、が含まれうる。
【００２７】
コンピュータ４００は、専用のセットの規則（つまりプロトコル）を実行してデータを送受信する。一般的なプロトコルの１つは、インターネットにおいて一般的に用いられているＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）である。一般的に、通信インタフェース４２４は、データファイルをデータネットワーク上で伝達される小さいパケットへ分割し、あるいは受信したパケット元のデータファイルへと組み立てる（再構築する）、いわゆるパケットのアセンブル・リアセンブル管理を行う。さらに、通信インタフェース４２４は、正しい宛先に届くようそれぞれのパケットのアドレス部分に対処し、あるいはコンピュータ４００が宛先となっているパケットを他に向かわせることなく確実に受信する。
【００２８】
この書類において、「コンピュータが記録可能な記憶媒体」、「コンピュータが記録可能な媒体」および「コンピュータ可読媒体」という用語は、リムーバブルストレージドライブ４１４および／またはハードディスクドライブ４１２に組み込まれたハードディスクなどの媒体を概ね意味して用いられている。これらのコンピュータプログラム製品は、コンピュータシステム４００にソフトウェアを提供する手段である。本発明は、このようなコンピュータプログラム製品に対してなされたものである。
【００２９】
コンピュータシステム４００は、また、コンピュータシステム４００をアクセスモニタ、キーボード、マウス、プリンタ、スキャナ、プロッタなどに提供する入出力（Ｉ／Ｏ）インタフェース４３０を有していてもよい。
【００３０】
コンピュータプログラム（コンピュータ制御ロジックともいう）は、メインメモリ４０８および／または二次メモリ４１０にアプリケーションモジュール４０６として記憶される。コンピュータプログラムを、通信用インタフェース４２４を介して受け取ることもできる。このようなコンピュータプログラムが実行された時、コンピュータプログラムによって、コンピュータシステム４００がここに説明した本発明の特徴を実行することが可能になる。詳細には、コンピュータプログラムが実行された時、コンピュータプログラムによって、プロセッサ４０４が本発明の特徴を実行することが可能になる。したがって、このようなコンピュータプログラムは、コンピュータシステム４００のコントローラを表わしている。
【００３１】
ソフトウェアを用いて発明が実行されるある実施形態において、当該ソフトウェアはコンピュータプログラム製品に記憶され、リムーバブルストレージドライブ４１４、ハードドライブ４１２あるいは通信用インタフェース４２４を用いてコンピュータシステム４００へとロードされる。アプリケーションモジュール４０６は、プロセッサ４０４によって実行された時、アプリケーションモジュール４０６によって、プロセッサ４０４がここに説明した本発明の機能を実行する。
【００３２】
所望のタスク（例えばシミュレートされる剛体の生成）を達成するために、Ｉ／Ｏインターフェース４３０を介したユーザ入力によってあるいはよることなしに、１つ以上のプロセッサ４０４によって実行することができる１つ以上のアプリケーションモジュール４０６（例えば有限要素解析法アプリケーションモジュール）を、メインメモリ４０８に、ロードすることもできる。動作においては、少なくとも１つのプロセッサ４０４がアプリケーションモジュール４０６のうちの１つが実行されると、結果が演算されて二次メモリ４１０（つまりハードディスクドライブ４１２）に記憶される。時間進行工学シミュレーション（例えば、変形ビームエレメント、変形表面およびそれらの相対的な位置等）の状況は、テキストあるいはグラフィック表現で、Ｉ／Ｏインタフェース４３０を介してユーザに報告される。
【００３３】
最後に、大規模並列処理コンピュータにおいてＲＢをシミュレートする際に演算効率を保証するために、特別な技術が、初期演算負荷バランスフェーズ（ｉｎｉｔｉａｌ  ｃｏｍｐｕｔｉｎｇ  ｌｏａｄ  ｂａｌａｎｃｉｎｇ  ｐｈａｓｅ）の際に用いられる（例えば領域分割）。一般的に、領域分割は要素ベースの技術である。それぞれの要素には重み（演算コスト）が割り当てられ、そして、分割により要素にプロセッサを割り当てて、それぞれのプロセッサへのこれらの重みをバランスさせる、つまりそれぞれのプロセッサに同じ重みを与える。ＲＢに対しては、以下のように変形する。それぞれのＲＢに対して、そのＲＢにおける要素の全重みが演算される。そして、全重みがそのＲＢにおける要素のうちの特定の１つに割り当てられ、そして、他の残りの要素の重みは０にリセットされる。そして、通常通り分割が行なわれ、そして、それぞれの要素にプロセッサが割り当てられる。そしてそれぞれのＲＢに対して、すべてのエレメントには、０でない重みを有していた特定の１つの要素の処理を最終的に担当することになったどれかのプロセッサが再び割り当てられる。これにより分解の際の全重み分配が維持されると同時に、１つのＲＢのすべての要素が同じプロセッサと最終的に担当されることが保証される。
【００３４】
本発明を具体的な実施形態を参照しながら説明したが、これらの実施形態は単なる例示であって、本発明を限定するものではない。開示した例示的な実施形態に対する種々の変更あるいは変形を、当業者は思いつくであろう。例えば、ＲＢを表わすのに連結リストを説明したが、例えば、他の等価なデータ構造単純なリストを代わりに用いることができる。さらに、剛性要素として三次元の有限要素を示し説明したが、一次元あるいは二次元の有限要素をＲＢを形成するのに用いることができる（例えばビーム、トラス、プレートなど）。また、剛体を形成するのに六面体要素を示し説明したが、他のタイプのソリッドエレメント、例えば四面体要素や五面体要素を用いることができる。さらにまた、ほんの少数の例示的な剛体を説明し示したが、本発明の大多数の使用では多数（例えば何百万）の剛体が含まれる。要約すると、発明の範囲は、ここで開示した具体的で例示的な実施形態に限定されず、当業者が容易に思い付くあらゆる変更が、本願の精神および認識範囲そして添付の特許請求の範囲の権利範囲に含まれる。
【符号の説明】
【００３５】
２１０  六面体要素
２１２  コーナーノード
２２０  四面体要素
２２２  コーナーノード
３１０ａ〜ｃ  ＲＢ
３２１〜３２４  要素
４００  コンピュータシステム
４０２  バス
４０４  プロセッサ
４０６  アプリケーションモジュール
４０８  メインメモリ
４１０  二次メモリ
４１２  ハードディスクドライブ
４１４  リムーバブルストレージドライブ
４１８  リムーバブルストレージユニット
４２０  インタフェース
４２２  リムーバブルストレージユニット
４２４  通信インタフェース
４３０  Ｉ／Ｏインタフェース
【図１Ａ】
0005601961.tif 000002
【図１Ｂ】
0005601961.tif 000003
【図２】
0005601961.tif 000004
【図３】
0005601961.tif 000005
【図４】
0005601961.tif 000006