(57)【要約】【課題】ユーザの介在無しで、複雑なＣＡＤモデルのメッシュ化が可能な高速で拡張可能なツールの実現。【解決手段】１つ以上のシリアルメッシュ化ユニット1-8が、ＣＡＤ組立モデルのすべての部分に対する分離並列メッシュ化プロセスを実行するのに使用されるように構成された、ＣＡＤまたはＣＡＥシステムで使用されるメッシュ化装置であって、処理される各部分について、メッシュ化プロセスの入力パラメータを自動的に設定するように構成され、１つ以上の入力パラメータを決定するのに関係する部分のメッシュ化プロセスに関する生の実行時間情報を使用するように動作するメッシュ化パラメータ設定ユニット2を、有するメッシュ化装置。【選択図】図９
2014006908.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のシリアルメッシュ化ユニットが、ＣＡＤ組立モデルのすべての部分に対する分離並列メッシュ化プロセスを実行するのに使用される、コンピュータ支援設計（ＣＡＤ）またはコンピュータ支援エンジニアリング（ＣＡＥ）システムで使用されるメッシュ化方法であって、
処理される各部分のメッシュ化プロセスの入力パラメータを、関係する部分のメッシュ化プロセスに関する生の実行時間情報を使用して、自動的に設定することを特徴とする方法。
【請求項２】
生の実行時間情報は、前記部分のメッシュ化プロセスを実行する前の試行の結果に関する情報を備える請求項１に記載の方法。
【請求項３】
前記入力パラメータの自動設定は、関係する部分についてのメッシュ化プロセスについての生の実行時間情報を使用して各部分のパラメータを暫定的に選択し、次に前記部分の入力パラメータと前記組立モデルの少なくとも１つの他の部分の入力パラメータの間の既知の依存性要求が存在する各部分について、前記部分の暫定的に選択されたパラメータまたは前記少なくとも１つの他の部分の暫定的に選択されたパラメータが、依存性要求に不整合であるかを決定し、もし不整合であれば、前記依存性要求に整合するように、前記部分の暫定的に選択されたパラメータおよび／または前記少なくとも１つの他の部分の暫定的に選択されたパラメータを調整する請求項１または２に記載の方法。
【請求項４】
組立モデルの１つの部分は、ＣＡＤメッシュ化プロセスを行う前にセクションに分けられ、得られた各セクションのボリュームは、最大許容ボリュームを超えてはならず、
当該方法は、さらに、各部分のボリュームが前記最大許容ボリュームを超えるならば、前記部分を第１の前記セクションとみなして、
（ａ）前記セクションのイナーシャの主軸Ａを決定し、
（ｂ）前記セクションの重心を決定し、
（ｃ）第１および第２の固体ボックスを、前記第１および第２の固体ボックスの交差が、前記重心を通り、前記イナーシャの主軸Ａに垂直であり、前記第１および第２の固体ボックスの結合が前記セクションの全境界ボックスであるように、定義し、
（ｄ）前記セクションおよび前記第１ボックスのＣＡＤブール演算、および前記セクションおよび前記第２ボックスのＣＡＤブール演算を実行して、それぞれの中間セクションを獲得し、
（ｅ）前記（ｄ）で獲得したセクションのボリュームが前記最大許容ボリュームを超えるならば、前記最大許容ボリュームを超えないボリュームを有する最終セクションが得られるまで、前記（ｄ）で得られた各セクションについて前記（ｂ）から（ｄ）を繰り返す、請求項１から３のいずれか１項に記載の方法。
【請求項５】
ＣＡＤ組立モデルの部分が所望の個数ＤＮの最終セクションに分割された後、変形プロセスが部分のすべての最終セクションＳｉ（ｉ＝２からＤＮ）について実行され、前記変形プロセスは、
Ｃ＝Ｓｉに設定し、セクションＳｉとの境界を有するすべてのセクションＳｊ≠Ｓｉについて、ＣＡＤブール演算Ｆ＝Ｆｕｓｅ（Ｃ，Ｓｊ）およびブール演算Ｃ＝Ｃｏｍｍｏｎ（Ｆ，Ｓｉ）を実行し、隣接するセクション間の境界の対向面が特定の幾何形状を有するように変形されることを、備える請求項４に記載の方法。
【請求項６】
コンピュータ支援設計プロセスで得られたセクションの表面における二次元（２Ｄ）メッシュを更に変形することを備え、前記コンピュータ支援設計プロセスでは、前記ＣＡＤプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは２Ｄメッシュ化が施されて、セクションのすべての表面が、各表面に同一の一次元（１Ｄ）エッジメッシュを生成するメッシュ化方法を使用して作成される２Ｄ要素により定義されており、前記変形の方法は、
前記方法がまだ実行されておらず、他のセクションと接しているすべてのセクションに対して、
前記境界の一方の側のセクションの表面のエッジに沿った要素のノードを、前記境界の他方の側のセクションの対向する表面のエッジに沿った要素のノードと一致させ、
前記境界の一方の側の表面上の要素を、前記境界の他方の側の表面上の要素で置き換える請求項１から５のいずれか１項に記載の方法。
【請求項７】
ＣＡＤ組立モデルの部分は、ＣＡＤメッシュ化プロセスを行う前に所望の個数ＤＮのセクションに分割され、当該方法は、さらに、
（ａ）（ｉ）Ｘ方向の分割点数Ｎｘ、（ii）Ｙ方向の分割点数Ｎｙ、（iii ）Ｚ方向の分割点数Ｎｚを決定し、ここで、Ｘ、ＹおよびＺ方向は相互に垂直で、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）≧ＤＮであり、
（ｂ）（Ｎｘ＋１）セクションが得られるまで、Ｘ方向に前記部分を帰納的に二分割し、
（ｃ）前記（ｂ）で得られたすべてのセクションについて、（Ｎｘ＋１）（Ｎｙ＋１）セクションが得られるまで、Ｙ方向に前記セクションを帰納的に二分割し、
（ｄ）前記（ｃ）で得られたすべてのセクションについて、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）セクションが得られるまで、Ｚ方向に前記セクションを帰納的に二分割する請求項１から３のいずれか１項に記載の方法。
【請求項８】
コンピュータ支援設計プロセスで得られたセクションの表面における二次元（２Ｄ）メッシュを更に変形することを備え、前記コンピュータ支援設計プロセスでは、前記ＣＡＤプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは２Ｄメッシュ化が施されて、セクションの各表面が、すべての表面に同一の一次元（１Ｄ）エッジメッシュを生成するメッシュ化方法を使用して作成される２Ｄ要素により定義されており、前記変形の方法は、
前記部分のすべてのセクションを、前記部分内の前記セクションの位置に応じて第１セットまたは第２セットのいずれかに割り当て、前記第１セット内の前記セクションとの間に境界を有するすべてのセクションは前記第２セットに割り当てられ、
前記第１セット内の前記セクションのそれぞれについて、前記第１セット内のセクションの表面のエッジに沿った要素のノードを、前記第２セット内のセクションの対向する表面のエッジに沿った要素のノードと一致させ、
前記第１セットのセクションの表面上の前記要素を、前記第２セットのセクションの表面上の前記要素で置き換える請求項６に記載の方法。
【請求項９】
１つ以上のシリアルメッシュ化ユニットが、ＣＡＤ組立モデルのすべての部分に対する分離並列メッシュ化プロセスを実行するのに使用されるように構成された、コンピュータ支援設計（ＣＡＤ）またはコンピュータ支援エンジニアリング（ＣＡＥ）システムで使用されるメッシュ化装置であって、
処理される各部分について、メッシュ化プロセスの入力パラメータを自動的に設定するように構成され、１つ以上の入力パラメータを決定するのに関係する前記部分のメッシュ化プロセスに関する生の実行時間情報を使用するように動作するメッシュ化パラメータ設定ユニットを、有することを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、コンピュータ支援設計（ＣＡＤ）における分離(decoupling)並列メッシュ化に関係し、特に、分離並列メッシュ化プロセスの異なるステージで使用する方法、装置およびプログラムに関する。
【背景技術】
【０００２】
品質を改良のため、製造物の動作のモデル化およびシミュレーションのためのコンピュータソフトウエアの使用であるコンピュータ支援エンジニアリング（ＣＡＥ）が、製造業においてほぼユビキタス状態（いつでもどこでも使用される状態）となっている。ＣＡＥによりカバーされる領域は、これに限定されるものではないが、ストレスおよび温度解析、流体力学および運動学を含む。
【０００３】
付属の図面の図１に示すように、典型的なＣＡＥプロセスは、解析される対象物の幾何的なモデルを表すコンピュータ支援設計（ＣＡＤ）ファイルで開始する（ステップ１）。特別なＣＡＤソフトウエアを使用して生成されるＣＡＤファイルは、境界条件が設定されるステージにまず送られ（ステップ２）、次に、その幾何形状が、メッシャ（メッシュ化器）により、メッシュと呼ばれるものを形成する非常に多数の要素(elements)に分割（メッシュ化）されるプレ処理ステップ（ステップ３）に送られる。境界条件を伴うメッシュは、有限要素法のような標準の数値技術を使用するソルバー（解析装置）に送られ、対象物上の境界条件の効果（例えば、デフォーメーション(deformation)）が演算される（ステップ４）。最後に、結果がポスト処理ステップで可視化される（ステップ５）。ソルバーステップは解析のもっとも時間を要するステップに使用されるが、近年の処理能力の改良に伴い、ＣＡＤモデルの準備、境界条件の設定およびメッシュ化のようなプレ処理動作の方向に比重が移行している。この移行の主な理由の一つは、産業界にみられるような複雑なＣＡＤモデルのために、ユーザ（使用者）のある程度の関与を依然必要としているためである。少なくとも近未来においてプロセッサの性能が向上するという傾向にあると期待されるため、プレ処理がより大きくなり、解析におけるボトルネックになろうとしている。さらに、ソルバーの場合に比べて、これらの作業の自動化および並列（パラレル:parallel）化は、あまり注力されてこなかった。しかし、ＣＡＥプロセスのプレ処理ステージの加速は、より高速で効率的な製造物の開発サイクルおよびより高品質の製造物の開発を実現する上で重要なステップである。
【０００４】
現在利用可能なメッシャは、シリアル（逐次(serial)）とパラレル（並列(parallel)）の２つのカテゴリィに分けられる。シリアルメッシャは、１個のプロセッサのみの演算能力およびそれに付属したメモリに限定される。１００万要素の桁のメッシュを生成するには１ＧＢの桁のメモリを必要とするので、このようなコードに対してメモリが厳しい限定となるのは明らかである。さらに、すべての最近のプロセッサは多重コアを有するので、シリアルメッシャは、プロセッサの最高性能の少しの部分を使用できるだけである。しかし、現在利用可能なメッシュ化ソフトウエアの大部分、特に無料で利用可能なもの（例えば、NetgenTM, TetGenTM, GmshTM)は、シリアルメッシャのカテゴリィに入る。
【０００５】
パラレルメッシャは、１個のコンピュータまたはしばしばネットワークにより接続された複数のコンピュータ内の複数のプロセッサに負荷を分配することにより、非常に多くのメッシュを非常に短時間で生成できる。メッシュ化中にプロセッサ間で実行される通信量により、パラレルメッシュ発生器は、強固な（タイト）結合、緩い（ルーズ）結合及び分離の３つのカテゴリィにさらに分けることができる。これら３つのサブカテゴリィから、（異なるプロセッサ部分間の通信および同期を必要としない）分離メッシャのみが、シリアルメッシュ化コードの１００％の再利用を達成できる。これは、メッシュ化されるドメインを、複数の非結合サブドメインに分割することにより達成され、非結合サブドメインが、次に独立してメッシュ化される。
【０００６】
これまで２つのタイプのパラレル分離メッシャが提案されている。１番目のもっとも一般的なタイプは、米国特許出願公開2010/134498A1に開示されたようなものであり、シリアルに生成された粗い二次元（２Ｄ）表面メッシュで開始する。この最初のメッシュは、複数のサブドメインに分割され、各サブドメインの三次元（３Ｄ）ボリュームメッシュは、異なるノードで、独立して並列に演算される。この方法の主な欠点は、複雑な幾何形状について、一般的に粗いメッシュは細かいメッシュを生成するのに比べて難しいことであり、その理由は、幾何形状の小さな特徴は小さな要素で近似する方が大きな要素で近似するよりはるかに容易だからである。したがって、複雑な幾何形状については、最初の２Ｄメッシュは粗いものより細かいものであることが必要であり、それがアルゴリズムの主たるボトルネックになる。米国特許出願公開2007/011646A1に開示された２番目のタイプは、直接的な幾何形状レベルでの単一固体の分割で開始することにより、動作する。しかし、この文献は、要約レベルで動作を記載しているが、実際に実現できる方法は記載していない。
【０００７】
これまでいかなる従来技術にも示されていなかった他の重要な事項は、メッシュ化する必要のある多くのＣＡＤモデルは単一の固体ではなく、実際には複数の固体の組立（アセンブリィ:assembly）物であり、その個数は、（例えば携帯電話のための）数十の固体から、(例えばラップトップコンピュータのための数百の固体および（例えば複雑なサーバのための）数千の固体の範囲にあるという事実である。ABAQUS/CAETMのような高級（ハイエンド）な商用ＣＡＥは、組立構造から部分（パーツ:parts）を抜き出し、それらを独立した固体として順にメッシュ化する。そのため、多くの並列化の機会が失われる。例えば、複数の部分のうちの１部分に対するＣＡＤモデルの分割は、その部分が孤立していると考えるシリアル動作であれば、他の部分の分割またはメッシュ化と並列に演算でき、組立モデルのメッシュ化に必要な全体時間を低減する。
【０００８】
最後に、いつでも入手可能な大部分の標準メッシャおよび特別なフリー・オープン・ソースのものは、高品質のメッシュを生成できるが、最大要素サイズのような特定のキーパラメータをユーザが設定しなければならないという意味において、多くの自動化の特徴が不足している。メッシュ化の複雑なモデルは、メッシュを得るのに成功するまで、ユーザがパラメータの各種の値を試みる（例えば最大要素サイズを小さくする）ことを伴う、時間を要するトライアル・アンド・エラー（試行錯誤）のプロセスである。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】米国特許出願公開2010/134498A1
【特許文献２】米国特許出願公開2007/011646A1
【発明の概要】
【発明が解決しようとする課題】
【００１０】
したがって、いつでも入手可能な変形しないで使用できるシリアルメッシュ化プログラムといつでも入手可能な変形しないで使用できるＣＡＤカーネルを組み合わせて、ユーザの介在が相対的に少ないか又は無い、産業で使用できるような、複雑なＣＡＤモデルのメッシュ化が可能な高速で拡張可能なツールとして供されるシステムが望まれている。
【課題を解決するための手段】
【００１１】
本発明の第１の態様の実施形態によれば、１つ以上のシリアルメッシュ化ユニットが、ＣＡＤ組立モデルのすべての部分に対する分離並列メッシュ化プロセスを実行するのに使用される、コンピュータ支援設計（ＣＡＤ）またはコンピュータ支援エンジニアリング（ＣＡＥ）システムで使用されるメッシュ化方法であって、処理される各部分のメッシュ化プロセスの入力パラメータを、関係する部分のメッシュ化プロセスに関する生の実行時間情報を使用して、自動的に設定する方法が提供される。
【００１２】
生の実行時間情報は、部分のメッシュ化プロセスを実行する前の試行の結果に関する情報を有することが好ましい。
【００１３】
入力パラメータの自動設定は、関係する部分についてのメッシュ化プロセスについての生の実行時間情報を使用して各部分のパラメータを暫定的に選択し、次に部分の入力パラメータと組立モデルの少なくとも１つの他の部分の入力パラメータの間の既知の依存性要求が存在する各部分について、部分の暫定的に選択されたパラメータまたは少なくとも１つの他の部分の暫定的に選択されたパラメータが、依存性要求に不整合である（矛盾する）(inconsistent)かを決定し、もし不整合であれば、依存性要求に整合するように、部分の暫定的に選択されたパラメータおよび／または少なくとも１つの他の部分の暫定的に選択されたパラメータを調整する。
【００１４】
このような方法では、組立モデルの１つの部分は、ＣＡＤメッシュ化プロセスを行う前にセクションに分けられ、得られた各セクションのボリューム（体積）は、最大許容ボリュームを超えてはならず、この方法は、さらに、各部分のボリュームが最大許容ボリュームを超えるならば、部分を第１のセクションとみなして、（ａ）セクションのイナーシャ（慣性:inertia）の主軸Ａを決定し、（ｂ）セクションの重心を決定し、（ｃ）第１および第２の固体ボックスを、第１および第２の固体ボックスの交差（境界面）が、重心を通り、イナーシャ主軸Ａに垂直であり、第１および第２の固体ボックスの結合がセクションの全境界ボックスであるように、定義し、（ｄ）セクションおよび第１ボックスのＣＡＤブール演算、およびセクションおよび第２ボックスのＣＡＤブール演算を実行して、それぞれの中間セクションを獲得し、（ｅ）（ｄ）で獲得したセクションのボリュームが最大許容ボリュームを超えるならば、最大許容ボリュームを超えないボリュームを有する最終セクションが得られるまで、（ｄ）で得られた各セクションについて（ｂ）から（ｄ）を繰り返す。
【００１５】
この場合、方法は、ＣＡＤ組立モデルの部分が所望の個数ＤＮの最終セクションに分割された後、変形プロセスが部分のすべての最終セクションＳｉ（ｉ＝２からＤＮ）について実行することが望ましく、変形プロセスは、Ｃ＝Ｓｉに設定し、セクションＳｉとの境界(interface)を有するすべてのセクションＳｊ≠Ｓｉについて、ＣＡＤブール演算Ｆ＝Ｆｕｓｅ（Ｃ，Ｓｊ）およびブール演算Ｃ＝Ｃｏｍｍｏｎ（Ｆ，Ｓｉ）を実行し、隣接するセクション間の境界の対向面が特定の幾何形状を有するように変形される。
【００１６】
本発明の第１の態様を実施する方法は、コンピュータ支援設計プロセスで得られたセクションの表面における二次元（２Ｄ）メッシュを更に変形することをさらに有し、コンピュータ支援設計プロセスでは、ＣＡＤプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは２Ｄメッシュ化が施されて、セクションのすべての表面が、各表面に同一の一次元（１Ｄ）エッジメッシュを生成するメッシュ化方法を使用して作成される２Ｄ要素により定義されており、変形の方法は、方法がまだ実行されておらず、他のセクションと接しているすべてのセクションに対して、境界の一方の側のセクションの表面のエッジに沿った要素のノードを、境界の他方の側のセクションの対向する表面のエッジに沿った要素のノードと一致させ、境界の一方の側の表面上の要素を、境界の他方の側の表面上の要素で置き換える。
【００１７】
ＣＡＤ組立モデルの部分は、ＣＡＤメッシュ化プロセスを行う前に所望の個数ＤＮのセクションに分割される方法では、さらに、（ａ）（ｉ）Ｘ方向の分割点数Ｎｘ、（ii）Ｙ方向の分割点数Ｎｙ、（iii ）Ｚ方向の分割点数Ｎｚを決定し、ここで、Ｘ、ＹおよびＺ方向は相互に垂直で、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）≧ＤＮであり、（ｂ）（Ｎｘ＋１）セクションが得られるまで、Ｘ方向に部分を帰納的に二分割し、（ｃ）（ｂ）で得られたすべてのセクションについて、（Ｎｘ＋１）（Ｎｙ＋１）セクションが得られるまで、Ｙ方向にセクションを帰納的に二分割し、（ｄ）（ｃ）で得られたすべてのセクションについて、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）セクションが得られるまで、Ｚ方向にセクションを帰納的に二分割する。
【００１８】
この場合、方法は、コンピュータ支援設計プロセスで得られたセクションの表面における二次元（２Ｄ）メッシュを更に変形することを有し、コンピュータ支援設計プロセスでは、ＣＡＤプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは２Ｄメッシュ化が施されて、セクションの各表面が、すべての表面に同一の一次元（１Ｄ）エッジメッシュを生成するメッシュ化方法を使用して作成される２Ｄ要素により定義されており、方法は、部分のすべてのセクションを、部分内のセクションの位置に応じて第１セットまたは第２セットのいずれかに割り当て、第１セット内のセクションとの間に境界を有するすべてのセクションは第２セットに割り当てられ、第１セット内のセクションのそれぞれについて、第１セット内のセクションの表面のエッジに沿った要素のノードを、第２セット内のセクションの対向する表面のエッジに沿った要素のノードと一致させ、第１セットのセクションの表面上の要素を、第２セットのセクションの表面上の要素で置き換える。
【００１９】
本発明の第２の態様の実施形態によれば、１つ以上のシリアルメッシュ化ユニットが、ＣＡＤ組立モデルのすべての部分に対する分離並列メッシュ化プロセスを実行するのに使用されるように構成された、コンピュータ支援設計（ＣＡＤ）またはコンピュータ支援エンジニアリング（ＣＡＥ）システムで使用されるメッシュ化装置が提供され、装置は、処理される各部分について、メッシュ化プロセスの入力パラメータを自動的に設定するように構成され、１つ以上の入力パラメータを決定するのに関係する部分のメッシュ化プロセスに関する生の実行時間情報を使用するように動作するメッシュ化パラメータ設定ユニットにより特徴づけられる。
【００２０】
生の実行時間情報は、部分のメッシュ化プロセスを実行する前の試行の結果に関する情報を有する。
【００２１】
本発明の第２の態様を実施する装置は、組立モデルの１つの部分を、ＣＡＤメッシュ化プロセスを行う前にセクションに分けるように構成されたＣＡＤ分割モジュールをさらに有し、得られた各セクションのボリュームは、最大許容ボリュームを超えてはならず、ＣＡＤ分割モジュールは、各部分のボリュームが最大許容ボリュームを超えるならば、部分を第１の前記セクションとみなして、（ａ）セクションのイナーシャの主軸Ａを決定し、（ｂ）セクションの重心を決定し、（ｃ）第１および第２の固体ボックスを、第１および第２の固体ボックスの交差が、重心を通り、イナーシャの主軸Ａに垂直であり、第１および第２の固体ボックスの結合がセクションの全境界ボックスであるように、定義し、（ｄ）セクションおよび第１ボックスのＣＡＤブール演算、およびセクションおよび第２ボックスのＣＡＤブール演算を実行して、それぞれの中間セクションを獲得し、（ｅ）（ｄ）で獲得したセクションのボリュームが最大許容ボリュームを超えるならば、最大許容ボリュームを超えないボリュームを有する最終セクションが得られるまで、（ｄ）で得られた各セクションについて（ｂ）から（ｄ）を繰り返す、ように動作する。
【００２２】
このような装置では、ＣＡＤ分割モジュールは、ＣＡＤ組立モデルの部分が所望の個数ＤＮの最終セクションに分割された後、変形プロセスが部分のすべての最終セクションＳｉ（ｉ＝２からＤＮ）について実行され、変形プロセスは、Ｃ＝Ｓｉに設定し、セクションＳｉとの境界を有するすべてのセクションＳｊ≠Ｓｉについて、ＣＡＤブール演算Ｆ＝Ｆｕｓｅ（Ｃ，Ｓｊ）およびブール演算Ｃ＝Ｃｏｍｍｏｎ（Ｆ，Ｓｉ）を実行し、隣接するセクション間の境界の対向面が特定の幾何形状を有するように変形される、ように動作する。
【００２３】
本発明の第２の態様を実施する装置は、コンピュータ支援設計プロセスで得られたセクションの表面における二次元（２Ｄ）メッシュを更に変形するように構成され、コンピュータ支援設計プロセスでは、ＣＡＤプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは２Ｄメッシュ化が施されて、セクションのすべての表面が、各表面に同一の一次元（１Ｄ）エッジメッシュを生成するメッシュ化方法を使用して作成される２Ｄ要素により定義されているメッシュ変形モジュールをさらに有し、モジュールは、まだ実行されていない場合に、他のセクションと接しているすべてのセクションに対してある方法を実行するように動作し、そこでは、境界の一方の側のセクションの表面のエッジに沿った要素のノードが、境界の他方の側のセクションの対向する表面のエッジに沿った要素のノードと一致され、境界の一方の側の表面上の要素が、境界の他方の側の表面上の要素で置き換えられる。
【００２４】
本発明の第２の態様を実施する装置は、組立モデルの部分を、メッシュ化前に所望の個数ＤＮのセクションに分割するように構成されたＣＡＤ分割モジュールをさらに有し、モジュールは、さらに、（ａ）（ｉ）Ｘ方向の分割点数Ｎｘ、（ii）Ｙ方向の分割点数Ｎｙ、（iii ）Ｚ方向の分割点数Ｎｚを決定し、ここで、Ｘ、ＹおよびＺ方向は相互に垂直で、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）≧ＤＮであり、（ｂ）（Ｎｘ＋１）セクションが得られるまで、Ｘ方向に部分を帰納的に二分割し、（ｃ）（ｂ）で得られたすべてのセクションについて、（Ｎｘ＋１）（Ｎｙ＋１）セクションが得られるまで、Ｙ方向にセクションを帰納的に二分割し、（ｄ）（ｃ）で得られたすべてのセクションについて、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）セクションが得られるまで、Ｚ方向にセクションを帰納的に二分割する、ことを実行するように構成されている。
【００２５】
そのような装置は、コンピュータ支援設計プロセスで得られたセクションの表面における二次元（２Ｄ）メッシュを変形するように構成されたメッシュ変形モジュールをさらに有し、コンピュータ支援設計プロセスでは、ＣＡＤプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは２Ｄメッシュ化が施されて、セクションの各表面が、すべての表面に同一の一次元（１Ｄ）エッジメッシュを生成するメッシュ化方法を使用して作成される２Ｄ要素により定義されており、モジュールは、部分のすべてのセクションが、部分内のセクションの位置に応じて第１セットまたは第２セットのいずれかに割り当てられ、第１セット内のセクションとの間に境界を有するすべてのセクションは第２セットに割り当てられ、第１セット内のセクションのそれぞれについて、第１セット内のセクションの表面のエッジに沿った要素のノードが、第２セット内のセクションの対向する表面のエッジに沿った要素のノードと一致され、第１セットのセクションの表面上の要素が、第２セットのセクションの表面上の要素で置き換えられる方法を実行するように構成されている。
【００２６】
本発明の第３の態様の実施形態によれば、分離並列メッシュ化プロセスにおけるタスクの実行を管理するスケジューリング方法が提供され、１つ以上のタスクの実行は少なくとも１つの他のタスクの実行結果に依存しており、各タスクは、それが依存するタスクの少なくとも１つの実行結果が判明し且つタスクの処理リソースが利用可能になった後に実行するようにスケジュールされ、１つ以上のタスクは、優先基準にしたがって１つ以上の他のタスクに対して優先され、優先基準は、タスクの特性に依存し、タスクまたは類似のタスクを実行する１つ以上の前の試行に関係する情報に基づいて、タスクが実行された他のタスクより成功しそうであると考えられるか、タスクまたは類似のタスクを実行する１つ以上の前の試行に関係する情報に基づいて、タスクが実行された他のタスクより失敗しそうであると考えられるか、のいずれかである。
【００２７】
本発明の第４の態様の実施形態によれば、分離並列メッシュ化プロセスにおけるタスクの実行を管理するスケジューリング装置が提供され、１つ以上のタスクの実行は少なくとも１つの他のタスクの実行結果に依存しており、各タスクは、それが依存するタスクの少なくとも１つの実行結果が判明し且つタスクの処理リソースが利用可能になった後に実行するようにスケジュールされ、１つ以上のタスクは、優先基準にしたがって１つ以上の他のタスクに対して優先され、優先基準は、タスクの特性に依存し、タスクまたは類似のタスクを実行する１つ以上の前の試行に関係する情報に基づいて、タスクが実行された他のタスクより成功しそうであると考えられるか、タスクまたは類似のタスクを実行する１つ以上の前の試行に関係する情報に基づいて、タスクが実行された他のタスクより失敗しそうであると考えられるか、のいずれかである。
【００２８】
本発明の第５の態様の実施形態によれば、コンピュータ支援設計（ＣＡＤ）で使用する帰納的二分割方法が提供され、組立モデルの１つの部分は、ＣＡＤメッシュ化プロセスを行う前にセクションに分けられ、得られた各セクションのボリュームは、最大許容ボリュームを超えてはならず、この方法は、各部分のボリュームが最大許容ボリュームを超えるならば、部分を第１のセクションとみなして、（ａ）セクションのイナーシャの主軸Ａを決定し、（ｂ）セクションの重心を決定し、（ｃ）第１および第２の固体ボックスを、第１および第２の固体ボックスの交差が、重心を通り、イナーシャの主軸Ａに垂直であり、第１および第２の固体ボックスの結合がセクションの全境界ボックスであるように、定義し、（ｄ）セクションおよび第１ボックスのＣＡＤブール演算、およびセクションおよび第２ボックスのＣＡＤブール演算を実行して、それぞれの中間セクションを獲得し、（ｅ）（ｄ）で獲得したセクションのボリュームが最大許容ボリュームを超えるならば、最大許容ボリュームを超えないボリュームを有する最終セクションが得られるまで、（ｄ）で得られた各セクションについて（ｂ）から（ｄ）を繰り返す。
【００２９】
本発明の第６の態様の実施形態によれば、コンピュータ支援設計（ＣＡＤ）システムで使用する装置が提供され、そこでは、帰納的二分割方法が、組立モデルの１つの部分を、ＣＡＤメッシュ化プロセスを行う前にセクションに分けるのに使用され、得られた各セクションのボリュームは、最大許容ボリュームを超えてはならず、この方法は、各部分のボリュームが最大許容ボリュームを超えるならば、部分を第１のセクションとみなして、（ａ）セクションのイナーシャの主軸Ａを決定し、（ｂ）セクションの重心を決定し、（ｃ）第１および第２の固体ボックスを、第１および第２の固体ボックスの交差が、重心を通り、イナーシャの主軸Ａに垂直であり、第１および第２の固体ボックスの結合がセクションの全境界ボックスであるように、定義し、（ｄ）セクションおよび第１ボックスのＣＡＤブール演算、およびセクションおよび第２ボックスのＣＡＤブール演算を実行して、それぞれの中間セクションを獲得し、（ｅ）（ｄ）で獲得したセクションのボリュームが最大許容ボリュームを超えるならば、最大許容ボリュームを超えないボリュームを有する最終セクションが得られるまで、（ｄ）で得られた各セクションについて（ｂ）から（ｄ）を繰り返す。
【００３０】
本発明の第７の態様の実施形態によれば、コンピュータ支援設計（ＣＡＤ）システムで使用する方法が提供され、帰納的二分割方法を使用して、ＣＡＤ組立モデルの部分が所望の個数ＤＮの最終セクションに分割された後、部分のすべての最終セクションＳｉ（ｉ＝２からＤＮ）について、Ｃ＝Ｓｉに設定し、セクションＳｉとの境界を有するすべてのセクションＳｊ≠Ｓｉについて、ＣＡＤブール演算Ｆ＝Ｆｕｓｅ（Ｃ，Ｓｊ）およびブール演算Ｃ＝Ｃｏｍｍｏｎ（Ｆ，Ｓｉ）を実行し、隣接するセクション間の境界の対向面が特定の幾何形状を有するように変形される。
【００３１】
本発明の第８の態様の実施形態によれば、コンピュータ支援設計（ＣＡＤ）システムで使用する装置が提供され、装置は、帰納的二分割方法を使用して、ＣＡＤ組立モデルの部分が所望の個数ＤＮの最終セクションに分割された後、部分のすべての最終セクションＳｉ（ｉ＝２からＤＮ）について、Ｃ＝Ｓｉに設定し、セクションＳｉとの境界を有するすべてのセクションＳｊ≠Ｓｉについて、ＣＡＤブール演算Ｆ＝Ｆｕｓｅ（Ｃ，Ｓｊ）およびブール演算Ｃ＝Ｃｏｍｍｏｎ（Ｆ，Ｓｉ）を実行し、隣接するセクション間の境界の対向面が特定の幾何形状を有するように変形されるように動作する。
【００３２】
本発明の第９の態様の実施形態によれば、コンピュータ支援設計プロセスで得られたセクションの表面における二次元（２Ｄ）メッシュを変形する方法が提供され、ＣＡＤプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは２Ｄメッシュ化が施されて、セクションのすべての表面が、各表面に同一の一次元（１Ｄ）エッジメッシュを生成するメッシュ化方法を使用して作成される２Ｄ要素により定義されており、この方法は、方法がまだ実行されておらず、他のセクションと接しているすべてのセクションに対して、境界の一方の側のセクションの表面のエッジに沿った要素のノードを、境界の他方の側のセクションの対向する表面のエッジに沿った要素のノードと一致させ、境界の一方の側の表面上の要素を、境界の他方の側の表面上の要素で置き換える。
【００３３】
本発明の第１０の態様の実施形態によれば、コンピュータ支援設計プロセスで得られたセクションの表面における二次元（２Ｄ）メッシュを変形する装置が提供され、ＣＡＤプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは２Ｄメッシュ化が施されて、セクションのすべての表面が、各表面に同一の一次元（１Ｄ）エッジメッシュを生成するメッシュ化方法を使用して作成される２Ｄ要素により定義されており、この装置は、方法がまだ実行されておらず、他のセクションと接しているすべてのセクションに対して、境界の一方の側のセクションの表面のエッジに沿った要素のノードを、境界の他方の側のセクションの対向する表面のエッジに沿った要素のノードと一致させ、境界の一方の側の表面上の要素を、境界の他方の側の表面上の要素で置き換える方法を実行するように構成されている。
【００３４】
本発明の第１１の態様の実施形態によれば、コンピュータ支援設計（ＣＡＤ）で使用する帰納的二分割方法が提供され、この方法では、ＣＡＤ組立モデルの部分は、ＣＡＤメッシュ化プロセスを行う前に所望の個数ＤＮのセクションに分割され、（ａ）（ｉ）Ｘ方向の分割点数Ｎｘ、（ii）Ｙ方向の分割点数Ｎｙ、（iii ）Ｚ方向の分割点数Ｎｚを決定し、ここで、Ｘ、ＹおよびＺ方向は相互に垂直で、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）≧ＤＮであり、（ｂ）（Ｎｘ＋１）セクションが得られるまで、Ｘ方向に部分を帰納的に二分割し、（ｃ）（ｂ）で得られたすべてのセクションについて、（Ｎｘ＋１）（Ｎｙ＋１）セクションが得られるまで、Ｙ方向に前記セクションを帰納的に二分割し、（ｄ）（ｃ）で得られたすべてのセクションについて、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）セクションが得られるまで、Ｚ方向に前記セクションを帰納的に二分割する。
【００３５】
本発明の第１２の態様の実施形態によれば、コンピュータ支援設計（ＣＡＤ）で使用する装置が提供され、そこでは、帰納的二分割方法が使用され、ＣＡＤ組立モデルの部分は、ＣＡＤメッシュ化プロセスを行う前に所望の個数ＤＮのセクションに分割され、（ａ）（ｉ）Ｘ方向の分割点数Ｎｘ、（ii）Ｙ方向の分割点数Ｎｙ、（iii ）Ｚ方向の分割点数Ｎｚを決定し、ここで、Ｘ、ＹおよびＺ方向は相互に垂直で、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）≧ＤＮであり、（ｂ）（Ｎｘ＋１）セクションが得られるまで、Ｘ方向に部分を帰納的に二分割し、（ｃ）（ｂ）で得られたすべてのセクションについて、（Ｎｘ＋１）（Ｎｙ＋１）セクションが得られるまで、Ｙ方向に前記セクションを帰納的に二分割し、（ｄ）（ｃ）で得られたすべてのセクションについて、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）セクションが得られるまで、Ｚ方向に前記セクションを帰納的に二分割する。
【００３６】
本発明の第１３の態様の実施形態によれば、コンピュータ支援設計プロセスで得られたセクションの表面における二次元（２Ｄ）メッシュを変形する方法が提供され、ＣＡＤプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは２Ｄメッシュ化が施されて、セクションの各表面が、すべての表面に同一の一次元（１Ｄ）エッジメッシュを生成するメッシュ化方法を使用して作成される２Ｄ要素により定義されており、この方法は、部分のすべてのセクションを、部分内のセクションの位置に応じて第１セットまたは第２セットのいずれかに割り当て、第１セット内のセクションとの間に境界を有するすべてのセクションは第２セットに割り当てられ、第１セット内のセクションのそれぞれについて、第１セット内のセクションの表面のエッジに沿った要素のノードを、第２セット内のセクションの対向する表面のエッジに沿った要素のノードと一致させ、第１セットのセクションの表面上の要素を、第２セットのセクションの表面上の要素で置き換える。
【００３７】
本発明の第１４の態様の実施形態によれば、コンピュータ支援設計プロセスで得られたセクションの表面における二次元（２Ｄ）メッシュを変形する装置が提供され、そこでは、ＣＡＤプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは２Ｄメッシュ化が施されて、セクションの各表面が、すべての表面に同一の一次元（１Ｄ）エッジメッシュを生成するメッシュ化方法を使用して作成される２Ｄ要素により定義されており、この方法は、部分のすべてのセクションを、部分内のセクションの位置に応じて第１セットまたは第２セットのいずれかに割り当て、第１セット内のセクションとの間に境界を有するすべてのセクションは第２セットに割り当てられ、第１セット内のセクションのそれぞれについて、第１セット内のセクションの表面のエッジに沿った要素のノードを、第２セット内のセクションの対向する表面のエッジに沿った要素のノードと一致させ、第１セットのセクションの表面上の要素を、第２セットのセクションの表面上の要素で置き換える。
【００３８】
本発明の第１５の態様の実施形態によれば、インストラクションを記憶したコンピュータ読取可能な記憶媒体が提供され、それは、コンピュータで実行した時に、コンピュータに、本発明の第１、第３、第５、第７、第９、第１１または第１３の態様を実施する方法を実行させるか、または本発明の第２、第４、第６、第８、第１０、第１２または第１４の態様を実施する装置になるインストラクションを記憶する。
【００３９】
ドメイン分解方法に基づいて並列メッシュ化を達成する方法からなる米国特許出願公開2007/011646A1に記載された技術と比較して、本発明の態様は、（US2007/011646A1では要約レベルでのみ記載された）ＣＡＤ動作に基づく分離ドメイン分解方法の実行可能な搭載を提供し、組立モデルおよびそのようなモデルの取り扱いの結果からの付加的なレベルの並列化、および最良のメッシュ化パラメータの自動的な発見を可能にする。
【００４０】
US2007/011646A1に記載されたのと同一または類似している現在マーケットで利用可能なすべての並列メッシャに適用されている並列化方法に比較して、本発明の態様では、ドメインの分解は、モデルの最初の粗い２Ｄ表面メッシュからではなく、ＣＡＤから直接開始する。２Ｄメッシュからの開始は、最初の２Ｄメッシュの生成における困難のために、産業上のような複雑なＣＡＤモデルのように大きさを変えられない。本発明の態様により提供される方法は、はるかに良好な尺度の変更（スケーラビリティ）を提供する。さらに、従来技術では組立モデルのサポートは可能であるが、一度には単一の固体を扱えるだけであるのに対して、本発明の態様は、ある程度の組立モデルが可能で、そのようなモデルの取り扱いの結果から付加的なレベルの並列性を可能にする。
【００４１】
出願人は、公共の場で使用可能な無料のメッシャで、並列で自動化の特徴を有するものは知られていないと思う。本発明の実施形態を、そのような無料のメッシャ（例えば、GmshTM, NetgenTM)および無料のＣＡＤエンジン（例えば、Open CascadeTM)と組み合わせることにより、以下のような付加的な利点を有する低コストのシステムを得ることが可能である。
【００４２】
・上記のようなメッシャにはサポートされていなかった組立モデルのメッシュ化をサポートする。
・自動化。例えば、最大要素サイズのようなメッシュ化パラメータの自動設定。
・同時により多くの処理ユニットが使用されるための高速化したメッシュ化時間。
・メモリの使用量の低減。これは、大きなＣＡＤモデルは最初により小さなセクションに分割されるのでメッシュするのに必要なメモリの量が小さくなるためである。これは、限られたリソース（資源）（例えば、デスクトップ・コンピュータおよびラップトップでも）を有する装置で生成されるメッシュの個数を非常に大きくできる（例えば、数百万またはそれ以上の要素）。
【００４３】
さらに、商用のメッシャと比較して、本発明の実施形態は、以下の利点を提供できる。
・より効率的な組立モデルのメッシュ化。これは、本発明を実施するシステムは、組立モデル全体に対するメッシュ化動作の実行を混合し重ねることができるためで、それは現状の技術により行われるように分離した各部分をメッシュ化するよりも、より効率的である。
【００４４】
・コストの低減。これは、複雑な商用メッシャの機能の多くが、無料のコンポーネントを利用して得ることができるためである。
【００４５】
・実施形態で提案されるＣＡＤベースのドメイン分解の使用による尺度の変更性（スケーラビリティ）の向上。（上記のように、現状の技術は、粗い２Ｄメッシュの生成から開始し、それが産業用のような複雑なモデルでは、すぐにボトルネックとなる。）
【００４６】
・メモリの使用量の低減。これは、大きなＣＡＤモデルは最初により小さなセクションに分割されるのでメッシュするのに必要なメモリの量が小さくなるためである。これは、限られたリソース（資源）（例えば、デスクトップ・コンピュータおよびラップトップでも）を有する装置で生成されるメッシュの個数を非常に大きくできる（例えば、数百万またはそれ以上の要素）。
【図面の簡単な説明】
【００４７】
【図１】（すでに述べた）図１は、ＣＡＥプロセスのフローチャートである。
【図２】図２は、組立モデルの例を示す。
【図３】図３は、ＣＡＤ分割動作を示す。
【図４】図４は、２Ｄメッシュ動作を示す。
【図５】図５は、３Ｄメッシュ動作を示す。
【図６】図６は、メッシュ統合動作を示す。
【図７】図７は、メッシュ組立動作を示す。
【図８】図８は、本発明を実施するメッシュ化方法をＣＡＤシステムで使用できるようにする構成を示す。
【図９】図９は、本発明を実施するメッシュ化方法のフローチャートである。
【図１０】図１０は、ＣＡＤ分解モジュールを示す。
【図１１Ａ】図１１Ａは、メッシュパラメータ設定モジュールを示す。
【図１１Ｂ】図１１Ｂは、メッシュ化動作を示す。
【図１１Ｃ】図１１Ｃは、メッシュ化動作を示す。
【図１１Ｄ】図１１Ｄは、メッシュ化動作を示す。
【図１１Ｅ】図１１Ｅは、メッシュ化動作を示す。
【図１１Ｆ】図１１Ｆは、メッシュ化動作を示す。
【図１２】図１２は、ＣＡＤ分割モジュールを示す。
【図１３】図１３は、帰納的二分割技術を使用して実行されるＣＡＤ分割動作を示す。
【図１４】図１４は、面（フェース）変形技術を示す。
【図１５】図１５は、択一の帰納的二分割技術を使用して実行される他のＣＡＤ分割動作を示す。
【図１６】図１６は、２Ｄメッシュ化モジュールを示す。
【図１７】図１７は、ＣＡＤ分割動作を使用して得られるセクションを示す。
【図１８】図１８は、２Ｄメッシュ変形モジュールを示す。
【図１９】図１９は、３Ｄメッシュ化モジュールを示す。
【図２０】図２０は、３Ｄメッシュ統合モジュールを示す。
【図２１】図２１は、３Ｄメッシュ組立モジュールを示す。
【図２２】図２２は、並列タスクスケジューリングモジュールを示す。
【発明を実施するための形態】
【００４８】
例として、付属の図面が参照される。
本発明の異なる形態を一緒にした実施形態を説明する前に、本出願で使用する用語をここで定義する。
【００４９】
組立モデル
組立モデルは、互いに物理的に接触または接触しない多数の固体からなるＣＡＤモデルである。#1から#7のラベルが付された部分からなる単一の組立モデル(assembly model)が、図２に示される。産業で使用される現実世界の組立モデルは、異なる形状で異なるサイズの数百または数千の部分を有することがある。本出願を通して、用語「部分」は、組立モデルの単一固体構成要素の意味を有する。整合のため、もし入力ＣＡＤファイルが単一固体で形成されるなら、それを１つの部分を有する組立物として扱う。
【００５０】
ＣＡＤ分割（切断、区切り）
本出願では、ＣＡＤ分割は、固体を複数のセクションに分割／切断／仕切る動作として定義される。例えば、図３において、組立モデルの部分#4は、６つのセクションに分割される（それにより６つの個別の固体となる）。
【００５１】
２Ｄメッシュ化
２Ｄメッシュ化動作は、三角形または四角形のような２Ｄ要素により固体の面（フェース）の分割である。例えば、図４は、部分#4のセクションの１つの２Ｄ三角形メッシュを示す。
【００５２】
３Ｄメッシュ化
３Ｄメッシュ化動作は、四面体または六面体のような３Ｄ要素により固体の全ボリューム（体積）の分割である。例えば、図５は、図４に示す部分#4のセクションの１つの３Ｄメッシュを示す。
【００５３】
メッシュ統合（マージ）動作
メッシュ統合動作は、部分の個別のセクションの３Ｄメッシュを、その部分として１つの密着した（コヒーレントな）３Ｄメッシュに組み合わせることである。コヒーレントなメッシュは、セクション間の境界上に二重のノードの無い、１つの単一の接続したメッシュとして定義される。例えば、図６は、部分#4の３Ｄメッシュが、（図３に示すように）部分が前に分割された６つの個別のセクションの３Ｄメッシュを統合することによりどのように作られるか示している。
【００５４】
メッシュ組立
メッシュ組立動作は、１つ以上の個別部分のメッシュを組立モデルの１つの単一メッシュにまとめることである。メッシュ組立とメッシュ統合の違いは、組み立てられたメッシュは、１つの単一の接続メッシュにならないことである。言い換えれば、２つの部分のメッシュが物理的に接触していても、境界はノードと要素の２つの組を含み、１つの組は各メッシュのものである。より厳密には、１つの部分より大きなメッシュに属するノードを有する組立メッシュ無いには要素は存在しない。例えば、図７は、組立モデルの７つの部分のメッシュが、どのように最終メッシュに組み立てられるか示す。
【００５５】
図８は、本発明を実施するメッシュ化方法がＣＡＤシステム内で利用できる場合の構成を示し、図９のフローチャートは、本発明を実施するメッシュ化方法が、図９において長方形のブロックで示される１個以上のプロセッサまたはモジュール１から８から作られているかを示している。後述するこれらのモジュールは、順番に使用され、メッシュ化されるＣＡＤファイルの読み取りから開始し、メッシュ化が成功してＣＡＤファイルの３Ｄメッシュになり終了する。
【００５６】
モジュール１はＣＡＤ分解モジュールであり、モジュール２はメッシュパラメータ設定モジュールであり、モジュール３はＣＡＤ分解モジュールであり、モジュール４は２Ｄメッシュ化モジュールであり、モジュール５は２Ｄメッシュ変形モジュールであり、モジュール６は３Ｄメッシュ化モジュールであり、モジュール７は３Ｄメッシュ統合モジュールであり、そしてモジュール８はメッシュ組立モジュールである。
【００５７】
モジュール１（ＣＡＤ分解）およびモジュール８（メッシュ組立）は、それぞれ１つの大きな動作をなし、言い換えれば、それぞれ最初のＣＡＤファイルを個別の構成要素に分解し、個別の部分から最終メッシュを組み立てる。一方、他のモジュールは、非常に多数になり得る個数の個別の動作を形成する。これらから、モジュール２（メッシュパラメータ設定）、モジュール３（ＣＡＤ分解）、モジュール５（２Ｄメッシュ変形）およびモジュール７（３Ｄメッシュ統合）は、メッシュ化される部分と同じ個数のタスクとなる。モジュール４（２Ｄメッシュ化）およびモジュール６（３Ｄメッシュ化）は、メッシュ化される必要のある各部分がさらに複数のセクションに分割（区切り）されるため、高い程度で並列性を可能にする機会を提供できる。
【００５８】
実行する必要のあるすべてのタスクは、並列タスクスケジュラー（図９のモジュール９）内で順番が揃えられ、それはタスクに関係する依存性の連鎖（チェーン）にしたがって実行する。例えば、１つの部分のすべてのセクションに対する２Ｄメッシュ化動作は、その部分の前のＣＡＤ分解動作の成功した完了のみに依存する。言い換えれば、ＣＡＤ分解動作が１つの部分に対して終了するやいなや、結果であるすべてのセクションの２Ｄメッシュ化が開始できる。同様に、もし１つの部分の１つのセクションの２Ｄメッシュ化が失敗すると、他のすべての部分の２Ｄメッシュ化は阻止され、プロセスはモジュール２から再度開始され、新しいメッシュ化パラメータが自動的に設定される。
【００５９】
１つの固体で開始し、一度には１つの固体をメッシュ化する（このように１つの部分をメッシュ化する）従来の並列メッシャでは、モジュール３、６および７が順番に実行され、したがってボトルネックとなる。一方、全体の組立モデルで開始する本発明の１つの実施形態では、これらのステップは他の動作と並列に実行される。さらに、コア数の増加が容易でないモジュール５および６に含まれる入力／出力（Ｉ／Ｏ）集中動作が、２Ｄおよび３Ｄメッシュ化（モジュール４および６）のような集中した動作の演算と重なる可能性が非常に高く、演算環境の効率的な使用を可能にする。
【００６０】
モジュール１から９は、図１０から２２を参照してより詳細に説明される。
【００６１】
ＣＡＤ分解モジュール
図１０に示すＣＡＤ分解モジュールは、１つの組立ＣＡＤファイルを入力として取り込み、以下の出力を行う。
【００６２】
・組立物の個別の部分を有するホルダで、部分あたり１つのＣＡＤファイル。
・後での参照のための組立ツリーを含む１つのファイル。組立ツリーは、個別の部分が組立ヒエラルヒー内にどのように配置されているかについての情報を含む。
・各部分についての高レベルの幾何的情報を含む１つのファイル。各部分について、そのような情報は、接するボックス、全体表面（面積）または全体ボリューム（体積）のサイズである。この情報は、最大要素サイズのようなメッシュ化パラメータの決定のために後で使用され、後での幾何的情報の再ロードを避けるためにこの段階で抽出される。
【００６３】
このモジュールは、ＣＡＤファイルの読み取り／書込みが可能で、全体表面および全体ボリュームのような付加情報を、ＣＡＤエンジンを介して取り出す。このようなＣＡＤエンジンの例は、Open CascadeTM（無料でオープンソース）およびACISTM（商用）である。ＣＡＤエンジンからの機能は、最初のＣＡＤファイルおよび組立ツリー構造を読み取るのに使用さる。ツリーは、根（ルート）から葉（リーフ）に送られ、すべての個別の構成要素が、行先ホルダ内の分離したファイルとして書き込まれ、ＣＡＤエンジンからの特別機能を再び利用する。各部分を書き込んだ後、境界ボックスサイズ、全体表面および全体ボリュームのような付加情報がＣＡＤエンジンからの機能を利用して演算され、「部分情報ファイル」に書き込まれる。同時に、組立ツリーの構造が、「組立ツリーファイル」に書き込まれる。
【００６４】
メッシュパラメータ設定モジュール
図１１Ａに示すメッシュパラメータ設定モジュール２は、メッシュ化動作のための入力パラメータの設定に応答する。このようなパラメータの例は、構成要素のタイプ、構成要素の順番、最大要素サイズ、２Ｄおよび３Ｄメッシュ化アルゴリズム、最適化を使用するか否かなどである。
【００６５】
ＣＡＤシステムで使用する本発明を実施するメッシュ化方法は、１つ以上のシリアルメッシュ化ユニットがＣＡＤ組立モデルのすべての部分に対する分離並列メッシュ化プロセスを実行するのに使用され、関係する部分のメッシュ化プロセスに関する生の実行時間情報を利用して、処理される各部分について、メッシュ化プロセスのための入力パラメータを自動的に設定することを有する。
【００６６】
本発明のこの態様の実施形態によれば、メッシュ化パラメータは、デフォルト設定の機能、メッシュ化される対象物の幾何特性およびダイナミックな実行時間情報として、自動的に設定される。
【００６７】
すなわち、メッシュ化パラメータは、メッシュ化される各部分について独立して決定され、次の３つのソースからの情報を使用して暫定的に選択される。
【００６８】
・メッシャ構成ファイル。これは、使用する要素のタイプ（例えば、四面体または六面体）および次数（例えば１次または２次）のようなメッシュ化のプロセスを通して変化しないメッシュ化パラメータを含む。
【００６９】
・部分情報ファイル。このファイルは、ＣＡＤ分解モジュールで生成され、境界ボックスのサイズまたは全体ボリュームのようなメッシュ化される部分の幾何的な情報を提供する。
【００７０】
・実行時間情報。これはメッシュ化プロセスについての生情報で、例えば、この部分がメッシュ化されるのは（前のメッシュ化が失敗したので）ｉ回目であるということである。実行時間情報は、メッシュ化の失敗から回復するために使用され、例えば、前にメッシュ化できなかった部分のメッシュ化の再度の開始のために、パラメータの異なる組（例えば、より小さい最大要素サイズ）を使用する場合である。
【００７１】
モジュール５（２Ｄメッシュ変形）およびモジュール７（３Ｄメッシュ統合）の実現を非常に簡単にするため、１つの部分のすべてのセクションのメッシュ化のためには同じメッシュ化パラメータを使用することが望ましい。
【００７２】
メッシュパラメータ設定モジュール２の実施形態では、モジュールは、メッシャ構成ファイルから、要素のタイプおよび順番に加えて、最初の最大要素サイズ(initial_max_element_size)を読み取る。モジュールは、部分情報ファイルから、部分の境界ボックスのサイズ(size_of_bounding_box)も読み取る。最後に、モジュールは、この部分のメッシュ化が前に失敗したか否か、そして失敗していれば前のメッシュ化パラメータ（例えば、previous_max_elem_size)からなる実行時間情報を利用する。モジュールは、以下のように、現在のメッシュ化動作のための最大要素サイズを設定する。
【００７３】
・もしこれがこの部分に対するメッシュ化の１回目の試行であれば、Min(size_of_bounding_box/factor1, initial_max_element_size)
・もしこれが１回目の試行でなければ、Min(previous_max_elem_size /factor2, initial_max_element_size)
ここで、演算Minは、式を満たす最小値を見つけ出し、ファクタ１(factor1)およびファクタ２(factor2)は、メッシャ構成ファイルから読み取った２つのパラメータである。例えば、１つの実施形態では、ファクタ１の値は、１０であり、ファクタ２の値は２である。
【００７４】
メッシュ化プロセスが、組立モデル内の構成要素(components)間の関係を考慮する必要が生じる場合がある。例えば、同一の要素サイズを使用してメッシュされた物理的に近接している構成要素は、しばしば有益である。このような場合の例は、図１１Ｂから図１１Ｄに示され、２つの構成要素（シリンダ軸およびシリンダ穴を有する立方体）を考える。図１１Ｂおよび１１Ｃは、それぞれ低分解能および高分解能のメッシュを有する軸構成要素を示し、図１１Ｄは低分解能のメッシュを有するシリンダ穴の構成要素を示す。図１１Ｂ／図１１Ｃおよび図１１Ｄの構成要素がシミュレーションで一緒に使用される時、同じ分解能でメッシュされた両方の構成要素を有することが望ましい（図１１Ｅに示されるように、この場合は低分解能）。そのような場合でなければ、構成要素のメッシュは、図１１Ｆに示すように、オーバーラップして（重なって）もよく、軸構成要素は立方体構成要素より高い分解能でメッシャされている。
【００７５】
上記のような場合は、異なる部分のメッシュ化パラメータ（例えば、最大要素サイズ）間の依存性（関係）を示す入力情報を使用して取り扱うことができる。例えば、１つのそのような依存性は、両方の部分の最大要素サイズが同じであるということである。より進んだ場合は、この方法が境界のメッシュが同じであることを要求する時である。この場合、前の場合のように、同じメッシュ化パラメータが組立モデルの両方の部分に使用されなければならない。メッシュ統合モジュール７を参照して以下に説明するように、メッシュ統合モジュール７で使用される方法は、境界表面のメッシュが整合していることを保証するのにも使用される。
【００７６】
本発明を実施するメッシュパラメータ設定モジュールでは、入力パラメータの自動設定は、関係する部分に対するメッシュ化プロセスについての生の実行時間情報を使用して各部分のパラメータを暫定的に選択することと、次に部分の入力パラメータと組立モデルの少なくとも１つの他の部分の入力パラメータの間の既知の依存性要求が存在する各部分について、部分の暫定的に選択されたパラメータまたは少なくとも１つの他の部分の暫定的に選択されたパラメータが、依存性要求に不整合であるかを決定し、もし不整合であれば、依存性要求に整合するように、部分の暫定的に選択されたパラメータおよび／または少なくとも１つの他の部分の暫定的に選択されたパラメータを調整することと、を有する。
【００７７】
本発明の１つの実施形態では、メッシュパラメータ設定モジュール２は、メッシュ化パラメータが独立して決定され、メッシュされる各部分に対して暫定的に選択された後、組立情報ファイルからの情報を使用して、各部分に対して選択されたパラメータを確認または調整する。組立情報ファイルは、依存する部分間のメッシュ化パラメータが相互に整合することを保証するのに使用される組立モデルの部分間の依存性についての情報を含む。例えば、組立モデルの２つ以上の部分間に依存関係があり、それらの部分の要素サイズが同じであることを要求するのであれば、各部分の要素サイズを独立して演算した後、メッシュパラメータ設定モジュール２は、暫定的に選択した要素サイズを調整するように動作し、関係するすべての部分の最小要素サイズを、それらの部分のすべてで使用する。
【００７８】
ＣＡＤ分割モジュール
図１２に示すＣＡＤ分割モジュール３は、ＣＡＤ部分を複数のセクションに区切るように応答する。セクションの個数は、結果として得られる３Ｄメッシュにおける最大要素数が、特定の値、ここでは"Elements_per_section"で示される値に近似するように演算される。
【００７９】
本発明の実施形態では、セクションの所望の個数ＤＮは、以下の方法で演算される。
１．メッシュパラメータ設定モジュール２により演算されたメッシュ化パラメータから得られた最大要素サイズが、その要素の幾何形状に関係する数学的な式を使用して、メッシュ内の要素のボリュームＶＥに近似するように使用される。
【００８０】
２．部分全体の全要素数は、ＮＥ＝ＶＰ／ＶＥとして近似され、ここでＶＰはＣＡＤ分解モジュール１により生成された部分情報ファイルから得られた部分のボリュームを表す。
【００８１】
３．セクションの所望数はＤＮ＝Ceil(NE/Elements_per_section)であり、ここでCeil関数はもっとも近いより大きな整数への丸め処理を実行する。
【００８２】
ＤＮを演算した後、ＣＡＤ分割モジュール３は、セクションの生成に進む。本実施形態では、この動作は帰納的に分割により実行され、これを達成する２つの方法を以下に説明する。
【００８３】
帰納的二分割技術（ａ）
本発明を実施する帰納的二分割方法は、組立モデルの１つの部分は、ＣＡＤメッシュ化プロセスを行う前にセクションに分けられ、得られた各セクションのボリュームは、最大許容ボリュームを超えてはならず、もし第１セクションのボリュームが最大許容ボリュームを超えるならば、その部分を第１のセクションとみなして、以下のステップを実行する。
【００８４】
（ａ）前記セクションのイナーシャの主軸Ａを決定する。
（ｂ）前記セクションの重心を決定する。
【００８５】
（ｃ）第１および第２の固体ボックスを、第１および第２の固体ボックスの交差が、重心を通り、イナーシャの主軸Ａに垂直であり、第１および第２の固体ボックスの結合がセクションの全境界ボックスであるように、定義する。
【００８６】
（ｄ）セクションおよび第１ボックスのＣＡＤブール演算、およびセクションおよび第２ボックスのＣＡＤブール演算を実行して、それぞれの中間セクションを獲得する。
【００８７】
（ｅ）ステップ（ｄ）で獲得したセクションのボリュームが最大許容ボリュームを超えるならば、最大許容ボリュームを超えないボリュームを有する最終セクションが得られるまで、ステップ（ｄ）で得られた各セクションについてステップ（ｂ）から（ｄ）を繰り返す。
【００８８】
使用するＣＡＤエンジンによるが、第１のサブセクションを得るためにステップ（ｄ）で使用されるブール演算は、同じステージで第２のサブセクションを得るために使用されるブール演算と同じである必要はなく、ステップ（ｄ）が実行されるそれぞれの場合で同じブール演算を使用する必要はない。
【００８９】
１つの実施形態では、セクションあたりの最大ボリュームMVS=VE*Elements_per_sectionが演算される。
【００９０】
帰納的二分割の方法は、以下のように進められる。
１．部分全体に第１セクションを設定する。
２．セクションのボリュームがVEより小さければ、ＣＡＤエンジンにより提供される機能を使用してセクションをファイルに書き込む。
【００９１】
３．小さくなければ、
ａ．ＣＡＤエンジンにより提供される機能を使用して、イナーシャのマトリクスを演算し、そこからイナーシャの主軸Ａを演算する（これは切断したセクションの面積を最小にする）。
【００９２】
ｂ．ＣＡＤエンジンにより提供される機能を使用して、セクションの重心を演算する。
ｃ．その交差が、重心を通り、イナーシャの主軸Ａに垂直であり、その結合がセクションの全境界ボックスであるように、２つの固体ボックスを生成するようにＣＡＤエンジンを使用する。
【００９３】
ｄ．最初のセクションおよび第１ボックス、次に第２ボックスの共通または切断として、元のセクションの２つのサブセクションを演算し、そこでは、共通または切断演算は、ＣＤＡライブラリィにより提供される同一の名前のブール演算である。
【００９４】
ｅ．２つのサブセクションのそれぞれについて、ステップｂを開始し、各サブセクションのボリュームがMVSに等しいかより小さくなるまで続ける。
【００９５】
この方法がどのように動作するかの例は、図１３に示され、そこでは図２からの部分#4（車体）において使用される。この部分は、Ｙ方向が主軸のため、ますＹ方向に分割される。その結果得られたサブセクションは、同一の主軸を有するので、両方ともさらにＹ方向に分割され、４つのセクションとなる。次に、第１と最後のセクションはさらにＸ方向に切断され、これに対して２つの中間のセクションはＺ方向に切断される。最後の８つのセクションは、そのボリュームが特定された最大ボリュームに等しいかそれより小さく、ファイルに記憶される。
【００９６】
最終メッシュを再構築するために後で必要な情報を記憶する効率的で容易な実現方法は、各切断の後で、その時点のセクション名に切断の方向を添付することであり、第１のサブセクションには”１”が、第２のサブセクションには”２”が、添付される。例えば、Ｙ方向の１番目の切断の後で、図１３の２つのサブセクションはそれぞれY1およびY2と称され、Ｙ方向の２番目の切断の後に生成される４つのサブセクションは、それぞれY1_Y1, Y1_Y2, Y2_Y1, Y2_Y2と名付けられる。最後の８つのセクションの名前は、図の底部に示される。これらの名前に含まれる情報は分割ツリーを十分に記載しているため、セクションを統合するために必要なすべての情報が利用可能である。
【００９７】
ＣＡＤ分割の帰納的二分割方法は、セクション間の境界の面積を最小にするという意味で非常に効率的である。さらに、セクションのサイズは相対的にバランスしており、それは切断が重心を通過して行われるからである、しかしながら、互いに接触するセクションは、異なる位置および異なる方法で切断できるという事実は、部分間の境界の対向する面の幾何形状が異なるという問題をもたらす。この問題は、図１４に示され、そこでは２つの隣接するセクションの対向する面が、１つの水平ライン（左）および１つの垂直ライン（右）をそれぞれ有する。これらの面の幾何形状は、メッシュ統合アルゴリズムのより効率的な実装を可能にするためにも同様である（図９に示したフローチャートのモジュール５および７）。
【００９８】
隣接する面が同一の幾何形状を有するようにするために、本発明は、次の方法を提案する。
【００９９】
・部分のすべてのセクションSi（最終のセクションで、分割ツリーの葉である）について、
C=Siとし、
Siと物理的に接触するすべてのセクションSj≠Siについて、
ＣＡＤ演算F=Fuse(C,Sj)を実行し、
ＣＡＤ演算C=Common(F,Si) を実行する。
ここで、FuseおよびCommonは、ＣＡＤエンジンにより提供される同一の名前のブール演算を表す。ブール演算Fuseは、２つ形状から１つの形状を生成する。ブール演算Commonは、２つの対象物の共通部分を独立した対象物に変換する。
【０１００】
この方法を適用する効果は、セクション間の境界の対向する面の変形で、その幾何形状が同じになることである。この結果は、図１４の底部に見いだされ、そこでは対向する面の両方が同一の幾何形状である（垂直ラインおよび水平ラインの両方が存在する）。
【０１０１】
このように、本発明を実施するモジュールは、ＣＡＤ組立モデルの部分が帰納的二分割方法を使用して所望の個数ＤＮの最終セクションに分割された後でも、変形プロセスを実行するように動作可能であり、部分のすべての最終セクションSiについて（i=2からDN)、C=Siに設定し、セクションSiと境界を有するすべてのセクションSj≠Siについて、ＣＡＤブール演算F-Fuse(C,Si)およびＣＡＤブール演算C-Common(F,Si)を実行し、それにより、隣接するセクション間の境界で対向する面は同一の幾何形状を有するように変形される。
【０１０２】
帰納的二分割技術（ａ）に基づく分割は、もっとも効率が良いが、この技術が適用できるかは、ＣＡＤデータの品質（ＣＡＤエラーの存在）およびＣＡＤエンジンにより提供されるブール演算の搭載に依存している。特に、産業の場合においてしばしばそうであるようにＣＡＤモデルがエラーを含むならば、および／またはブール演算が十分に仕上げられていないならば、隣接する面の幾何形状を一致させるのに適用する必要のある一連のFuse/Common演算が、ＣＡＤエンジンのエラーのために失敗する。このような場合、効率的でないがより安全な頼れる技術が使用されることになる。この技術は、帰納的二分割技術（ｂ）として以下に説明され、本出願において格子整列帰納的二分割方法として言及される。
【０１０３】
帰納的二分割技術（ｂ）−格子整列
本発明を実施する別の帰納的二分割方法は、ＣＡＤ組立モデルの部分は、ＣＡＤメッシュ化プロセスを行う前に所望の個数ＤＮのセクションに分割され、
（ａ）（ｉ）Ｘ方向の分割点数Ｎｘ、（ii）Ｙ方向の分割点数Ｎｙ、（iii ）Ｚ方向の分割点数Ｎｚを決定し、ここで、Ｘ、ＹおよびＺ方向は相互に垂直で、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）≧ＤＮであり、
（ｂ）（Ｎｘ＋１）セクションが得られるまで、Ｘ方向に前記部分を帰納的に二分割し、
（ｃ）（ｂ）で得られたすべてのセクションについて、（Ｎｘ＋１）（Ｎｙ＋１）セクションが得られるまで、Ｙ方向にセクションを帰納的に二分割し、
（ｄ）（ｃ）で得られたすべてのセクションについて、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）セクションが得られるまで、Ｚ方向にセクションを帰納的に二分割する。
【０１０４】
このような格子整列帰納的二分割方法においては、入力される幾何形状は、デカルト座標に沿って切断される。格子は一様である必要はなく、切断は特定の場所では残りの場所に比べて密度が高くてもよい。もしＮｘ，ＮｙおよびＮｚがそれぞれＸ，ＹおよびＺ方向における切断数であるならば、入力された幾何形状は、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）セクションに仕切られる。
【０１０５】
この技術の実施形態は、以下のように進行する。
１．入力されたＣＡＤファイルの幾何形状（例えば、隣接するボックスのアスペクト比）を考慮して、Ｘ，ＹおよびＺ方向に、（Ｎｘ＋１）＊（Ｎｙ＋１）＊（Ｎｚ＋１）≧ＤＮであるように切断点が導出される。
２．Ｘ方向に沿って幾何形状を帰納的に、（Ｎｘ＋１）スラブが得られるまで、二分割しさらに二分割する。
３．ステップ２で得られたすべてのスラブについて、Ｙ方向に沿って幾何形状を帰納的に、（Ｎｘ＋１）＊（Ｎｙ＋１）スラブが得られるまで、二分割しさらに二分割する。
４．ステップ３で得られたすべてのペンシル（棒）について、Ｚ方向に沿って幾何形状を帰納的に、（Ｎｘ＋１）＊（Ｎｙ＋１）＊（Ｎｚ＋１）セクションが得られるまで、二分割しさらに二分割する。
５．すべてのセクションをファイルに書き込む。
【０１０６】
幾何形状の切断は、前述の帰納的二分割技術（ａ）と同様の方法で行われ、切断点が質量の中心ではなく、選択された切断点の座標であることが異なる。切断点のいずれも切断される幾何形状の中心でなければ、それに近い切断点が選択される。セクションは、空間におけるそれらの位置にしたがって、X0_Y0_Z0, X1_Y0_Z0で開始し、X(Nx+1)_Y(Ny+1)_Z(Nz+1)で終了するように名前が付される。
【０１０７】
この技術がどのように働くかの説明が図１５に示され、そこでは、３Ｄ対象物は、Ｎｘ＝２，Ｎｙ＝３およびＮｚ＝０の１２セクションに切断される。この例では、切断点はすべての方法で一様の間隔になるように選択されている。まず、入力される対象物は、Ｘ方向に分割される。中心に切断点がないため、最初の切断は固体を１／３と２／３の比で分割する。次のステップでは、１／３の部分は変形されず、２／３の部分が半分にされる。この第２ステップの後、Ｘ方向の両方の切断は完了し、Ｙ方向における切断が実行される。４つの切断が２つのステップで実行され、その結果１２セクションとなる。
【０１０８】
幾何形状の切断は一貫性のある方法で行われ、その結果得られるセクションは整列されるため、セクション間の境界の対向する面の幾何形状は、同一である。したがって、帰納的二分割技術（ａ）の後のように、このステージにおける面のさらなる切断は不要である。
【０１０９】
要するに、本発明を実施するＣＡＤ分割モジュール３は、
セクション数を演算する自動化方法で、
ブール演算に基づくＣＡＤ対象物のドメイン仕切り方法で、
仕切り情報を記憶する名付け規定で、
格子整列帰納的二分割方法で、
帰納的二分割に基づくＣＡＤ固体分割についての、境界における幾何形状が一致することを保障する効率的な方法で、ある。
【０１１０】
２Ｄメッシュ化モジュール
２Ｄメッシュ化モジュールの機能は、ＣＡＤ幾何形状から始まる２Ｄ（表面）メッシュを生成することである。モジュールのレイアウトは、図１６に示される。モジュール４は、いつでも入手可能で変形せずに使用できるメッシャを使用し、特別なメッシュ化パラメータを使用して、入力として与えられるＣＡＤファイルの２Ｄ表面メッシュを生成できる。ＣＡＤファイルは、ＣＡＤ分割モジュールにより生成された部分の１セクションであり、メッシュ化パラメータは、メッシュ化パラメータ設定モジュール２により演算される。
【０１１１】
２Ｄメッシュ変形モジュール
２Ｄメッシュ変形モジュールの機能は、１つの部分のすべてのセクションの表面メッシュを、互いに境界を有するセクションのメッシュが同一となるように、変形することである。これは、同一の幾何形状が常に同じ方法でメッシュ化されることが保証されないため、ランダムメッシュ化アルゴリズムを使用するメッシャを使用する時には重要である。実際、現在もっとも広く使用されているオープンソースメッシュ化ソフトウエアのうちの２つであるGmshTMまたはNetgeTMのようなメッシャについては、同一入力ＣＡＤファイルで生成される２Ｄおよび３Ｄメッシュは、プログラム実行のほとんどの単一時間ごとに異なる。この実行が図１７に示されており、そこでは、共通の面上の２Ｄメッシュが異なるために、２つの隣接するセクションのメッシュは、組み合わせることができない。しかし、２つのメッシュはこの面の１Ｄ形状で一致している。このように、本発明の実施形態は、従来技術での並列メッシュ化の基礎として使用されるシリアルメッシャにおける制約、およびそれらが同一の２Ｄ表面を常時生成するということが、制約を緩くすることを認識し、メッシャは、同一の１Ｄエッジメッシュを生成するのに必要であるだけであることを提案する。
【０１１２】
本発明の実施形態は、ＣＡＤプロセスにおいて得られたセクションの表面における２Ｄメッシュを変形する方法を提供し、そこでは、ＣＡＤプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは２Ｄメッシュ化が施されて、セクションのすべての表面が、各表面に同一の１Ｄエッジメッシュを生成するメッシュ化方法を使用して作成される２Ｄ要素により定義されており、この方法は、方法がまだ実行されておらず、他のセクションと接しているすべてのセクションに対して、
境界の一方の側のセクションの表面のエッジに沿った要素のノードを、境界の他方の側のセクションの対向する表面のエッジに沿った要素のノードと一致させ、
境界の一方の側の表面上の要素を、境界の他方の側の表面上の要素で置き換える。
【０１１３】
図１８は、２Ｄメッシュ変形モジュール５を示し、それは、特別なホルダ内に見いだされる２Ｄメッシュの置き換え変形を実行する。これらのメッシュは、１つの部分のすべてのセクションの２Ｄメッシュ化（例えば、２Ｄメッシュ化モジュール４を使用すること）の結果である。
【０１１４】
この変形方法の実施形態は、以下の通りである。
部分のすべてのセクションについて、
１．隣接部分のリストを演算し、例えば、ファイルの名前を使用して二分割ツリーおよび接触ボックス情報における位置を見つける。
２．２Ｄメッシュ変形動作をすでに実行した隣接セクションをリストから除く。
３．リスト内に残る隣接セクションについて、
（ａ）共通の表面上の要素を見つける。
（ｂ）ソースであるものおよび行き先であるものを選択する（例えば、隣接セクションがソースである）。
（ｃ）例えばユークリッド距離を使用して、１Ｄエッジ上のノードを一致させる。
（ｄ）再度番号を付する時のノード間の一致を考慮して、ソース表面上の要素を行き先の面からのものに置き換える。
【０１１５】
上記のリストにされた方法は、ＣＡＤ分割モジュール３が前述の帰納的二分割技術（ａ）を使用する場合に適用できる。もし、格子整列帰納的二分割技術（ｂ）が使用されるならば、別のより最適化された方法を使用することが望ましい。
【０１１６】
すなわち、別の実施形態は、コンピュータ支援設計ＣＡＤプロセスで得られたセクションの表面における２Ｄメッシュの変形方法を提供し、そこでは、ＣＡＤプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは２Ｄメッシュ化が施されて、セクションのすべての表面が、各表面に同一の１Ｄエッジメッシュを生成するメッシュ化方法を使用して作成される２Ｄ要素により定義されており、この方法は、部分のすべてのセクションを、部分内のセクションの位置に応じて第１セットまたは第２セットのいずれかに割り当て、第１セット内のセクションとの間に境界を有するすべてのセクションは第２セットに割り当てられ、
第１セット内のセクションのそれぞれについて、第１セット内のセクションの表面のエッジに沿った要素のノードを、第２セット内のセクションの対向する表面のエッジに沿った要素のノードと一致させ、
第１セットのセクションの表面上の要素を、第２セットのセクションの表面上の要素で置き換える。
【０１１７】
例えば、セクションが前述のように番号を付されると、この方法は、以下の方法で実現できる。
１．セクションを赤組と黒組に分け、赤組のセクションは指数（インデックス）の合計が奇数であるセクションであり、黒組のセクションは指数（インデックス）の合計が偶数であるセクションである。例えば、X0_Y0_Z0の名称のセクションは、０＋０＋０＝０が偶数であるから、黒組であり、X1_Y0_Z0の名称のセクションは、１＋０＋０＝０が奇数であるから、赤組である。
【０１１８】
２．赤組のすべてのセクションについて、
ａ．ファイル名情報および接触ボックス情報を使用して、隣接セクションのリストを確立する（そのすべては黒組からのセクションである）。
ｂ．各隣接セクションについて、
ｉ．共通表面上の要素を見つけ出す。
ii．これらの要素をファイルまたはメモリに記憶する。
【０１１９】
３．赤組内のセクションの処理が終了するまで待機する。
４．黒組のすべてのセクションについて、
ａ．ファイル名情報および接触ボックス情報を使用して、隣接セクションのリストを確立する（そのすべては赤組からのセクションである）。
ｂ．各隣接セクションについて、
ｉ．共通表面上の要素を見つけ出す。
ii．その表面のあたらしい要素をファイルまたはメモリからロードする。
iii．ユークリッド距離を使用して、１Ｄエッジ上のノードを一致させる。
iv．再番号化の実行時にノード間の一致を考慮して、古い要素を新しい要素で置き換える。
【０１２０】
黒組内のセクションの処理を開始する前に、赤組内のすべてのセクションの処理が終了するまでステップ３で待機することにより、変形ステージで必要なすべてのデータが利用可能であり、実装を容易にする。しかし、後で説明するようなダイナミックスケジュラーを使用して、（黒組内のセクションの）行き先は、それが依存する赤組内のすべてのソースからのデータの取出しに続いて即座に処理でき、すなわち、赤組内のセクションおよび黒組内のセクションは並列の処理できる。
【０１２１】
３Ｄメッシュ化モジュール
３Ｄメッシュ化モジュールの機能は、２Ｄ表面幾何形状から始まる３Ｄ（ボリューム）（体積））メッシュを生成することである。モジュールのレイアウトは、図１９に示される。モジュール６は、いつでも入手可能で変形せずに使用できるメッシャを使用し、特別なメッシュ化パラメータを使用して、入力として与えられる２Ｄ表面メッシュから３Ｄボリュームメッシュを生成できる。２Ｄ表面メッシュファイルは、２Ｄメッシュ化モジュール４により生成され且つ２Ｄメッシュ変形モジュール５により変形された１部分の１セクションの２Ｄメッシュであり、メッシュ化パラメータは、メッシュ化パラメータ設定モジュール２により演算される。３Ｄメッシャに対する制約は、２Ｄ表面上に新しいノードを加えないということのみである。この性質を有するメッシュ化アルゴリズムの一例は、GmshTMまたはNetgeTMのようなメッシャで使用される前処理方法である。
【０１２２】
３Ｄメッシュ統合モジュール
３Ｄメッシュ統合モジュールの機能は、１つの部分のすべてのセクションに対応する３Ｄメッシュを、１つの単一コヒーレントメッシュ（すなわち、複製されたノードが除去されたセクション間の境界上で接続される２つのメッシュ）を組み合わせることである。
【０１２３】
３Ｄメッシュ統合モジュール７は、そのレイアウトが図２０に示され、１つの部分のすべてのセクションに対する３Ｄメッシュを含むホルダを入力として取り込み、全体部分の１つのメッシュファイルを出力する。前に適用された２Ｄメッシュ変形モジュール５のため、および３Ｄメッシュ化モジュール６が表面メッシュ上に新しいノードを加えないため、セクション間の境界上のノードおよび要素は、完全に一致することが保証される。統合は、次にセクション間の境界上の複製ノードの組を見つけ、２つのノードの一方を除き、再度番号を付すことにより行われる。
【０１２４】
メッシュ組立モジュール
メッシュ組立モジュール８の機能は、組立モジュールの部分のすべての３Ｄメッシュを、１つの組立メッシュに組み合わせることである。「組立」は、「統合」とは異なり、組立の場合には、他のメッシュと境界を有するメッシュでも組立られるが、これらのメッシュは独立したまま残り、複製ノードは除かれない。
【０１２５】
メッシュ組立モジュール８は、そのレイアウトが図２１に示され、組立内のすべての部分のメッシュおよび組立ツリーを含むホルダを入力として取り込み、１つの組立メッシュファイルを出力する。
【０１２６】
並列タスクスケジュラーモジュール
並列タスクスケジュラーモジュール９は、これまで説明したモジュール１から８での割り当てられた処理要素における実行を管理し、同一マシーン内またはクラスタにおける多重マシーンにおける複数コアからの範囲にある。タスクの実行は、依存関係リストに基づいて行われ、依存するすべてのタスクが完了するやいなやタスクの実行がスケジュールされ、空いている処理要素が利用可能である。
【０１２７】
本発明を実施するモジュールは、複製並列メッシュ化プロセス内のタスクの実行を管理し、そこでは、１つ以上のタスクの実行は、少なくとも１つの他のタスクの実行結果に依存しており、各タスクは、それが依存するタスクの少なくとも１つの実行結果が判明し且つタスクの処理リソースが利用可能になった後に実行するようにスケジュールされ、１つ以上のタスクの実行は、優先基準にしたがって１つ以上の他のタスクに対して優先され、優先基準は、タスクの特性に依存し、タスクまたは類似のタスクを実行する１つ以上の前の試行に関係する情報に基づいて、タスクが実行された他のタスクより成功しそうであると考えられるか、タスクまたは類似のタスクを実行する１つ以上の前の試行に関係する情報に基づいて、タスクが実行された他のタスクより失敗しそうであると考えられるか、のいずれかである。
【０１２８】
本発明の実施形態は、タスクの特性に基づいて、並列メッシュ化に必要なモジュールの実行を管理し、いらなくなったタスクを止め（例えば、セクションの１つのメッシュ化が失敗したらそのセクションの残りのメッシュ化をやめる）、成功および失敗のタスクの履歴を保存し、それを利用して、成功しそうなタスクおよび失敗しそうなタスクをできるだけ速くスケジュールする。
【０１２９】
本発明を実施する並列（パラレル）タスクスケジュラーモジュール９は、そのレイアウトが図２２に示され、多層構造を有する。モジュール９は、タスクと呼ばれる仕事の単位を実行する。タスクは、前述のモジュールの１つの実行を表し、例えば、ＣＡＤファイル上のＣＡＤ分割の実行は、組立の部分または部分のセクションの３Ｄメッシュ化を表す。各タスクは、入力データを除いて、タスクが実行可能であるために満たす必要のある条件が無いかまたは１つ以上の条件を有する。例えば、３Ｄメッシュ化タスクは、その部分のセクションで実行される２Ｄメッシュ変形モジュールに依存する。
【０１３０】
タスクは、タスクキューが付加され、その条件が満たされるまでそこに留まる。これが満たされると、それらは実行されるタスクを含む他のキューに移動させられる。スケジュラーは、できるだけ多数のタスクを実行するように空いている処理ユニットを選択し、それは演算要素上で実行される。実行が終了した後、実行が成功したならば、タスクキュー内のタスクの条件が更新され、新しいタスクが実行される状態になる。さらに、成功した実行に続いて、新しいタスクがキューに加えられる。例えば、ＣＡＤ分割モジュールの成功した実行に続いて、２Ｄメッシュ化、２Ｄメッシュ変形、３Ｄメッシュ化、３Ｄメッシュ統合に対応する新しいタスクがキューに加えられる。
【０１３１】
もしタスクが正確に実行するのに失敗すると（例えば、メッシュ化中にエラーが発生）、キューからのいくつかのタスクは除かれる。例えば、ある部分の１つのセクションの２Ｄメッシュ化が失敗すると、同じ部分からのすべての残りのセクションの２Ｄメッシュ化動作はキューから除かれる。タスク間のこのタイプの依存性は、タスクグループのタイプで定義され、グループに加えられるすべてのタスクは実行の同一条件を共有し、タスクの失敗は残りの失敗となる。例えば、１つの部分のすべてのセクションの２Ｄメッシュ化タスクは、１つのタスクグループを作る。モジュール９は、失敗したタスクの履歴および優先度を保持し、それらはタスクの１つ以上の特性（例えば、タイプ、レベル、タイミング、速度、および／または複雑性）、失敗しそうなグループ内のいくつかまたはすべてのタスクに依存する。モジュール９は、成功したタスクの履歴も保持し、それらはタスクの１つ以上の特性、成功しそうなグループ内のいくつかまたはすべてのタスクの優先度に依存する。
【０１３２】
例えば、７つの部分を有する車のモデルのメッシュ化のような単純なシナリオを考慮すると、部分は２つの異なるメッシュ化アルゴリズムＸおよびＹを利用してメッシュ化される。各部分が並列メッシュ化で４つのセクションに分割される例であれば、メッシュする７×２＝１４の初期（より高レベルの）タスクが存在し、例えば、「メッシュ部分１はアルゴリズムＸを利用して」、…「メッシュ部分７はアルゴリズムＸを利用して」、「メッシュ部分１はアルゴリズムＹを利用して」、…「メッシュ部分７はアルゴリズムＹを利用して」、などである。各タスクは、「部分１のメッシュセクション１をアルゴリズムＸで」、「部分１のメッシュセクション２をアルゴリズムＸで」などのような複数のサブ（より低レベルの）タスクを生成する。部分の初期タスクは、より成功しそうなものが優先度を有するように配列されることが望ましく、これにより処理時間を短縮できる。例えば、メッシュ化はアルゴリズムＸを使用することで成功しそうであれば、アルゴリズムＸを使用する高レベルメッシュ化タスクが、アルゴリズムＹに基づく処理を繰り返す必要がないように優先され、これにより時間が短縮される。この例では、サブタスクの処理の順番は、失敗しそうなものが優先度を有するように配列される。もし部分の１つのセクションのメッシュ化が失敗したら、部分の全体が再度メッシュされなければならず、そのため「悪い」セクションがすぐに見つかるのがより好ましい。このように、この例では、タスクの特性（この場合はタスクのレベル）に依存して、タスクを優先実行するか決定する時にモジュールによって使用される優先判定基準は、タスクが、他のタスクを実行するよりも、成功しそうであるか、失敗しそうであるかである。
【０１３３】
これまでメッシュ化システムの部分について説明したが、本発明を実施するモジュールは、モジュールの他にも、または１つ以上の他のモジュールとの可能な組合せにも、独立して有効に使用することも可能である。
【０１３４】
本発明の実施形態は、ハードウエアで、１つ以上のプロセッサで動作するソフトウエアモジュールで、またはそれらの組合せで、実現される。すなわち、この技術分野で通常の知識を有するものであれば、マイクロプロセッサまたはデジタルシグナルプロセッサ（ＤＳＰ）が、上記の機能をいくつかまたはすべてを実現するのに実際に使用されることが理解できよう。
【０１３５】
本発明は、これまで説明した方法の一部またはすべてを実行するための１つ以上のデバイスまたは装置プログラム(例えば、コンピュータプログラムおよびコンピュータプログラムの生産物）として実施することもできる。本発明を実施するこのようなプログラムは、コンピュータが読み取り可能な媒体に記憶され、または例えば１つ以上の信号の形であってもよい。このような信号は、インターネットウェブサイトからダウンロードできるデータ信号であっても、搬送信号上にまたは他の形で提供されてもよい。
【０１３６】
以下、実施形態に関し、更に以下の付記を開示する。
（付記１）
１つ以上のシリアルメッシュ化ユニットが、ＣＡＤ組立モデルのすべての部分に対する分離並列メッシュ化プロセスを実行するのに使用される、コンピュータ支援設計（ＣＡＤ）またはコンピュータ支援エンジニアリング（ＣＡＥ）システムで使用されるメッシュ化方法であって、
処理される各部分のメッシュ化プロセスの入力パラメータを、関係する部分のメッシュ化プロセスに関する生の実行時間情報を使用して、自動的に設定することを特徴とする方法。
（付記２）
生の実行時間情報は、前記部分のメッシュ化プロセスを実行する前の試行の結果に関する情報を備える付記１に記載の方法。
（付記３）
前記入力パラメータの自動設定は、関係する部分についてのメッシュ化プロセスについての生の実行時間情報を使用して各部分のパラメータを暫定的に選択し、次に前記部分の入力パラメータと前記組立モデルの少なくとも１つの他の部分の入力パラメータの間の既知の依存性要求が存在する各部分について、前記部分の暫定的に選択されたパラメータまたは前記少なくとも１つの他の部分の暫定的に選択されたパラメータが、依存性要求に不整合であるかを決定し、もし不整合であれば、前記依存性要求に整合するように、前記部分の暫定的に選択されたパラメータおよび／または前記少なくとも１つの他の部分の暫定的に選択されたパラメータを調整する付記１または２に記載の方法。
（付記４）
組立モデルの１つの部分は、ＣＡＤメッシュ化プロセスを行う前にセクションに分けられ、得られた各セクションのボリュームは、最大許容ボリュームを超えてはならず、
当該方法は、さらに、各部分のボリュームが前記最大許容ボリュームを超えるならば、前記部分を第１の前記セクションとみなして、
（ａ）前記セクションのイナーシャの主軸Ａを決定し、
（ｂ）前記セクションの重心を決定し、
（ｃ）第１および第２の固体ボックスを、前記第１および第２の固体ボックスの交差が、前記重心を通り、前記イナーシャの主軸Ａに垂直であり、前記第１および第２の固体ボックスの結合が前記セクションの全境界ボックスであるように、定義し、
（ｄ）前記セクションおよび前記第１ボックスのＣＡＤブール演算、および前記セクションおよび前記第２ボックスのＣＡＤブール演算を実行して、それぞれの中間セクションを獲得し、
（ｅ）前記（ｄ）で獲得したセクションのボリュームが前記最大許容ボリュームを超えるならば、前記最大許容ボリュームを超えないボリュームを有する最終セクションが得られるまで、前記（ｄ）で得られた各セクションについて前記（ｂ）から（ｄ）を繰り返す、付記１から３のいずれかに記載の方法。
（付記５）
ＣＡＤ組立モデルの部分が所望の個数ＤＮの最終セクションに分割された後、変形プロセスが部分のすべての最終セクションＳｉ（ｉ＝２からＤＮ）について実行され、前記変形プロセスは、
Ｃ＝Ｓｉに設定し、セクションＳｉとの境界を有するすべてのセクションＳｊ≠Ｓｉについて、ＣＡＤブール演算Ｆ＝Ｆｕｓｅ（Ｃ，Ｓｊ）およびブール演算Ｃ＝Ｃｏｍｍｏｎ（Ｆ，Ｓｉ）を実行し、隣接するセクション間の境界の対向面が特定の幾何形状を有するように変形されることを、備える付記４に記載の方法。
（付記６）
コンピュータ支援設計プロセスで得られたセクションの表面における二次元（２Ｄ）メッシュを更に変形することを備え、前記コンピュータ支援設計プロセスでは、前記ＣＡＤプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは２Ｄメッシュ化が施されて、セクションのすべての表面が、各表面に同一の一次元（１Ｄ）エッジメッシュを生成するメッシュ化方法を使用して作成される２Ｄ要素により定義されており、前記変形の方法は、
前記方法がまだ実行されておらず、他のセクションと接しているすべてのセクションに対して、
前記境界の一方の側のセクションの表面のエッジに沿った要素のノードを、前記境界の他方の側のセクションの対向する表面のエッジに沿った要素のノードと一致させ、
前記境界の一方の側の表面上の要素を、前記境界の他方の側の表面上の要素で置き換える付記１から５のいずれかに記載の方法。
（付記７）
ＣＡＤ組立モデルの部分は、ＣＡＤメッシュ化プロセスを行う前に所望の個数ＤＮのセクションに分割され、当該方法は、さらに、
（ａ）（ｉ）Ｘ方向の分割点数Ｎｘ、（ii）Ｙ方向の分割点数Ｎｙ、（iii ）Ｚ方向の分割点数Ｎｚを決定し、ここで、Ｘ、ＹおよびＺ方向は相互に垂直で、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）≧ＤＮであり、
（ｂ）（Ｎｘ＋１）セクションが得られるまで、Ｘ方向に前記部分を帰納的に二分割し、
（ｃ）前記（ｂ）で得られたすべてのセクションについて、（Ｎｘ＋１）（Ｎｙ＋１）セクションが得られるまで、Ｙ方向に前記セクションを帰納的に二分割し、
（ｄ）前記（ｃ）で得られたすべてのセクションについて、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）セクションが得られるまで、Ｚ方向に前記セクションを帰納的に二分割する付記１から３のいずれかに記載の方法。
（付記８）
コンピュータ支援設計プロセスで得られたセクションの表面における二次元（２Ｄ）メッシュを更に変形することを備え、前記コンピュータ支援設計プロセスでは、前記ＣＡＤプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは２Ｄメッシュ化が施されて、セクションの各表面が、すべての表面に同一の一次元（１Ｄ）エッジメッシュを生成するメッシュ化方法を使用して作成される２Ｄ要素により定義されており、前記変形の方法は、
前記部分のすべてのセクションを、前記部分内の前記セクションの位置に応じて第１セットまたは第２セットのいずれかに割り当て、前記第１セット内の前記セクションとの間に境界を有するすべてのセクションは前記第２セットに割り当てられ、
前記第１セット内の前記セクションのそれぞれについて、前記第１セット内のセクションの表面のエッジに沿った要素のノードを、前記第２セット内のセクションの対向する表面のエッジに沿った要素のノードと一致させ、
前記第１セットのセクションの表面上の前記要素を、前記第２セットのセクションの表面上の前記要素で置き換える付記６に記載の方法。
（付記９）
１つ以上のシリアルメッシュ化ユニットが、ＣＡＤ組立モデルのすべての部分に対する分離並列メッシュ化プロセスを実行するのに使用されるように構成された、コンピュータ支援設計（ＣＡＤ）またはコンピュータ支援エンジニアリング（ＣＡＥ）システムで使用されるメッシュ化装置であって、
処理される各部分について、メッシュ化プロセスの入力パラメータを自動的に設定するように構成され、１つ以上の入力パラメータを決定するのに関係する前記部分のメッシュ化プロセスに関する生の実行時間情報を使用するように動作するメッシュ化パラメータ設定ユニットを、有することを特徴とする装置。
（付記１０）
生の実行時間情報は、前記部分のメッシュ化プロセスを実行する前の試行の結果に関する情報を備える付記９に記載の装置。
（付記１１）
組立モデルの１つの部分を、ＣＡＤメッシュ化プロセスを行う前にセクションに分けるように構成されたＣＡＤ分割モジュールをさらに備え、得られた各セクションのボリュームは、最大許容ボリュームを超えてはならず、
前記ＣＡＤ分割モジュールは、各部分のボリュームが前記最大許容ボリュームを超えるならば、前記部分を第１の前記セクションとみなして、
（ａ）前記セクションのイナーシャの主軸Ａを決定し、
（ｂ）前記セクションの重心を決定し、
（ｃ）第１および第２の固体ボックスを、前記第１および第２の固体ボックスの交差が、前記重心を通り、前記イナーシャの主軸Ａに垂直であり、前記第１および第２の固体ボックスの結合が前記セクションの全境界ボックスであるように、定義し、
（ｄ）前記セクションおよび前記第１ボックスのＣＡＤブール演算、および前記セクションおよび前記第２ボックスのＣＡＤブール演算を実行して、それぞれの中間セクションを獲得し、
（ｅ）前記（ｄ）で獲得したセクションのボリュームが前記最大許容ボリュームを超えるならば、前記最大許容ボリュームを超えないボリュームを有する最終セクションが得られるまで、前記（ｄ）で得られた各セクションについて前記（ｂ）から（ｄ）を繰り返す、ように動作する付記９または１０に記載の装置。
（付記１２）
前記ＣＡＤ分割モジュールは、ＣＡＤ組立モデルの部分が所望の個数ＤＮの最終セクションに分割された後、変形プロセスが部分のすべての最終セクションＳｉ（ｉ＝２からＤＮ）について実行され、前記変形プロセスは、Ｃ＝Ｓｉに設定し、セクションＳｉとの境界を有するすべてのセクションＳｊ≠Ｓｉについて、ＣＡＤブール演算Ｆ＝Ｆｕｓｅ（Ｃ，Ｓｊ）およびブール演算Ｃ＝Ｃｏｍｍｏｎ（Ｆ，Ｓｉ）を実行し、隣接するセクション間の境界の対向面が特定の幾何形状を有するように変形される、ように動作する付記１１に記載の装置。
（付記１３）
コンピュータ支援設計プロセスで得られたセクションの表面における二次元（２Ｄ）メッシュを更に変形するように構成され、前記コンピュータ支援設計プロセスでは、前記ＣＡＤプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは２Ｄメッシュ化が施されて、セクションのすべての表面が、各表面に同一の一次元（１Ｄ）エッジメッシュを生成するメッシュ化方法を使用して作成される２Ｄ要素により定義されているメッシュ変形モジュールをさらに備え、
前記モジュールは、まだ実行されていない場合に、他のセクションと接しているすべてのセクションに対してある方法を実行するように動作し、そこでは、前記境界の一方の側のセクションの表面のエッジに沿った要素のノードが、前記境界の他方の側のセクションの対向する表面のエッジに沿った要素のノードと一致され、前記境界の一方の側の表面上の要素が、前記境界の他方の側の表面上の要素で置き換えられる付記９から１２のいずれかに記載の装置。
（付記１４）
組立モデルの部分を、メッシュ化前に所望の個数ＤＮのセクションに分割するように構成されたＣＡＤ分割モジュールをさらに備え、前記モジュールは、さらに、
（ａ）（ｉ）Ｘ方向の分割点数Ｎｘ、（ii）Ｙ方向の分割点数Ｎｙ、（iii ）Ｚ方向の分割点数Ｎｚを決定し、ここで、Ｘ、ＹおよびＺ方向は相互に垂直で、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）≧ＤＮであり、
（ｂ）（Ｎｘ＋１）セクションが得られるまで、Ｘ方向に前記部分を帰納的に二分割し、
（ｃ）前記（ｂ）で得られたすべてのセクションについて、（Ｎｘ＋１）（Ｎｙ＋１）セクションが得られるまで、Ｙ方向に前記セクションを帰納的に二分割し、
（ｄ）前記（ｃ）で得られたすべてのセクションについて、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）セクションが得られるまで、Ｚ方向に前記セクションを帰納的に二分割する、ことを実行するように構成されている付記９または１０に記載の装置。
（付記１５）
コンピュータ支援設計プロセスで得られたセクションの表面における二次元（２Ｄ）メッシュを変形するように構成されたメッシュ変形モジュールをさらに備え、前記コンピュータ支援設計プロセスでは、前記ＣＡＤプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは２Ｄメッシュ化が施されて、セクションの各表面が、すべての表面に同一の一次元（１Ｄ）エッジメッシュを生成するメッシュ化方法を使用して作成される２Ｄ要素により定義されており、前記モジュールは、
前記部分のすべてのセクションが、前記部分内の前記セクションの位置に応じて第１セットまたは第２セットのいずれかに割り当てられ、前記第１セット内の前記セクションとの間に境界を有するすべてのセクションは前記第２セットに割り当てられ、
前記第１セット内の前記セクションのそれぞれについて、前記第１セット内のセクションの表面のエッジに沿った要素のノードが、前記第２セット内のセクションの対向する表面のエッジに沿った要素のノードと一致され、
前記第１セットのセクションの表面上の前記要素が、前記第２セットのセクションの表面上の前記要素で置き換えられる方法を実行するように構成されている付記１４に記載の装置。
（付記１６）
分離並列メッシュ化プロセスにおけるタスクの実行を管理するスケジューリング方法であって、１つ以上のタスクの実行は少なくとも１つの他のタスクの実行結果に依存しており、各タスクは、それが依存するタスクの少なくとも１つの実行結果が判明し且つタスクの処理リソースが利用可能になった後に実行するようにスケジュールされ、１つ以上のタスクは、優先基準にしたがって１つ以上の他のタスクに対して優先され、優先基準は、タスクの特性に依存し、前記タスクまたは類似のタスクを実行する１つ以上の前の試行に関係する情報に基づいて、前記タスクが実行された他のタスクより成功しそうであると考えられるか、前記タスクまたは類似のタスクを実行する１つ以上の前の試行に関係する情報に基づいて、前記タスクが実行された他のタスクより失敗しそうであると考えられるか、のいずれかであるスケジューリング方法。
（付記１７）
コンピュータ支援設計（ＣＡＤ）で使用する帰納的二分割方法であって、組立モデルの１つの部分は、ＣＡＤメッシュ化プロセスを行う前にセクションに分けられ、得られた各セクションのボリュームは、最大許容ボリュームを超えてはならず、
当該方法は、各部分のボリュームが前記最大許容ボリュームを超えるならば、前記部分を第１の前記セクションとみなして、
（ａ）前記セクションのイナーシャの主軸Ａを決定し、
（ｂ）前記セクションの重心を決定し、
（ｃ）第１および第２の固体ボックスを、前記第１および第２の固体ボックスの交差が、前記重心を通り、前記イナーシャの主軸Ａに垂直であり、前記第１および第２の固体ボックスの結合が前記セクションの全境界ボックスであるように、定義し、
（ｄ）前記セクションおよび前記第１ボックスのＣＡＤブール演算、および前記セクションおよび前記第２ボックスのＣＡＤブール演算を実行して、それぞれの中間セクションを獲得し、
（ｅ）前記（ｄ）で獲得したセクションのボリュームが前記最大許容ボリュームを超えるならば、前記最大許容ボリュームを超えないボリュームを有する最終セクションが得られるまで、前記（ｄ）で得られた各セクションについて前記（ｂ）から（ｄ）を繰り返す、ことを特徴とする方法。
（付記１８）
コンピュータ支援設計（ＣＡＤ）で使用する方法であって、帰納的二分割方法を使用して、ＣＡＤ組立モデルの部分が所望の個数ＤＮの最終セクションに分割された後、部分のすべての最終セクションＳｉ（ｉ＝２からＤＮ）について、Ｃ＝Ｓｉに設定し、セクションＳｉとの境界を有するすべてのセクションＳｊ≠Ｓｉについて、ＣＡＤブール演算Ｆ＝Ｆｕｓｅ（Ｃ，Ｓｊ）およびブール演算Ｃ＝Ｃｏｍｍｏｎ（Ｆ，Ｓｉ）を実行し、隣接するセクション間の境界の対向面が特定の幾何形状を有するように変形されることを特徴とする方法。
（付記１９）
コンピュータ支援設計プロセスで得られたセクションの表面における二次元（２Ｄ）メッシュを変形する方法であって、前記ＣＡＤプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは２Ｄメッシュ化が施されて、セクションのすべての表面が、各表面に同一の一次元（１Ｄ）エッジメッシュを生成するメッシュ化方法を使用して作成される２Ｄ要素により定義されており、前記方法は、前記方法がまだ実行されておらず、他のセクションと接しているすべてのセクションに対して、前記境界の一方の側のセクションの表面のエッジに沿った要素のノードを、前記境界の他方の側のセクションの対向する表面のエッジに沿った要素のノードと一致させ、
前記境界の一方の側の表面上の要素を、前記境界の他方の側の表面上の要素で置き換えることを特徴とする方法。
（付記２０）
コンピュータ支援設計（ＣＡＤ）で使用する帰納的二分割方法であって、ＣＡＤ組立モデルの部分は、ＣＡＤメッシュ化プロセスを行う前に所望の個数ＤＮのセクションに分割され、（ａ）（ｉ）Ｘ方向の分割点数Ｎｘ、（ii）Ｙ方向の分割点数Ｎｙ、（iii ）Ｚ方向の分割点数Ｎｚを決定し、ここで、Ｘ、ＹおよびＺ方向は相互に垂直で、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）≧ＤＮであり、（ｂ）（Ｎｘ＋１）セクションが得られるまで、Ｘ方向に前記部分を帰納的に二分割し、（ｃ）前記（ｂ）で得られたすべてのセクションについて、（Ｎｘ＋１）（Ｎｙ＋１）セクションが得られるまで、Ｙ方向に前記セクションを帰納的に二分割し、（ｄ）前記（ｃ）で得られたすべてのセクションについて、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）セクションが得られるまで、Ｚ方向に前記セクションを帰納的に二分割する、ことを備える方法。
（付記２１）
コンピュータ支援設計プロセスで得られたセクションの表面における二次元（２Ｄ）メッシュを変形する方法であって、前記ＣＡＤプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは２Ｄメッシュ化が施されて、セクションの各表面が、すべての表面に同一の一次元（１Ｄ）エッジメッシュを生成するメッシュ化方法を使用して作成される２Ｄ要素により定義されており、前記方法は、前記部分のすべてのセクションを、前記部分内の前記セクションの位置に応じて第１セットまたは第２セットのいずれかに割り当て、前記第１セット内の前記セクションとの間に境界を有するすべてのセクションは前記第２セットに割り当てられ、前記第１セット内の前記セクションのそれぞれについて、前記第１セット内のセクションの表面のエッジに沿った要素のノードを、前記第２セット内のセクションの対向する表面のエッジに沿った要素のノードと一致させ、前記第１セットのセクションの表面上の前記要素を、前記第２セットのセクションの表面上の前記要素で置き換えることを特徴とする方法。
（付記２２）
コンピュータで実行した時に、コンピュータが付記１から８または１６から２１のいずれか１項に記載の方法を実行するか、または付記９から１５のいずれか１項に記載の装置になるインストラクションを記憶したプログラム。
【図２】
2014006908.tif 000003
【図８】
2014006908.tif 000004
【図９】
2014006908.tif 000005
【図１０】
2014006908.tif 000006
【図１１Ａ】
2014006908.tif 000007
【図１２】
2014006908.tif 000008
【図１６】
2014006908.tif 000009
【図１８】
2014006908.tif 000010
【図１９】
2014006908.tif 000011
【図２０】
2014006908.tif 000012
【図２１】
2014006908.tif 000013
【図２２】
2014006908.tif 000014
【図１】
2014006908.tif 000015
【図３】
2014006908.tif 000016
【図４】
2014006908.tif 000017
【図５】
2014006908.tif 000018
【図６】
2014006908.tif 000019
【図７】
2014006908.tif 000020
【図１１Ｂ】
2014006908.tif 000021
【図１１Ｃ】
2014006908.tif 000022
【図１１Ｄ】
2014006908.tif 000023
【図１１Ｅ】
2014006908.tif 000024
【図１１Ｆ】
2014006908.tif 000025
【図１３】
2014006908.tif 000026
【図１４】
2014006908.tif 000027
【図１５】
2014006908.tif 000028
【図１７】
2014006908.tif 000029