(57)【要約】【課題】ＣＡＤ又はＣＡＥシステムにおける使用のために、ＣＡＤソリッド、アセンブリ・タイプのＣＡＤモデルにおけるＣＡＤパート、又は、アセンブリ・タイプのＣＡＤモデルにおけるＣＡＤパートのセクションを含むＣＡＤドメインをメッシュ化する方法。【解決手段】  複数のＣＡＤメッシュ化プロセスを並列に行って、ＣＡＤドメインのメッシュを生成する工程であって、複数のＣＡＤメッシュ化プロセスのうちのＣＡＤメッシュ化プロセスそれぞれは、複数のＣＡＤメッシュ化プロセスにおけるその他のメッシュ化プロセスと異なる工程と、上記生成されたメッシュのどれが、メッシュの品質を示す予め設定されたメッシュ化基準を充足するかを判定する工程と、予め設定されたメッシュ化基準を充足する生成されたメッシュのうちの１つを、後続ＣＡＤ／ＣＡＥプロセスにおいて使用するために選択する工程とを含む。【選択図】図４
2015007976.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ支援設計（ＣＡＤ）又はコンピュータ支援エンジニアリング（ＣＡＥ）システムにおける使用のために、単一のＣＡＤソリッド、あるいは、アセンブリ・タイプのＣＡＤモデルにおける複数のＣＡＤパートの１つ、あるいは、アセンブリ・タイプのＣＡＤモデルにおけるＣＡＤパートの複数のセクションの１つを含むＣＡＤドメインをメッシュ化する方法であって、前記方法は、
複数のＣＡＤメッシュ化プロセスを並列に行って、前記ＣＡＤドメインの１つ又は複数のメッシュを生成する工程であって、前記複数のＣＡＤメッシュ化プロセスのうちのＣＡＤメッシュ化プロセスそれぞれは、前記複数のＣＡＤメッシュ化プロセスにおけるその他のメッシュ化プロセスと異なる工程と、
前記生成されたメッシュのどれが、前記メッシュの品質を示す１つ又は複数の予め設定されたメッシュ化基準を充足するかを判定する工程と、
前記１つ又は複数の予め設定されたメッシュ化基準を充足する前記生成されたメッシュのうちの１つを、後続ＣＡＤ／ＣＡＥプロセスにおいて使用するために選択する工程と
を含む手順を含む方法。
【請求項２】
請求項１記載の方法であって、前記複数のメッシュ化プロセスは、第１のタイプのメッシュ要素を生成する少なくとも１つの一次メッシュ化プロセス、及び前記第１のタイプとは異なる第２のタイプのメッシュ要素を生成する少なくとも１つの更なるメッシュ化プロセスを含み、前記一次メッシュ化プロセスが、前記１つ又は複数の予め設定されたメッシュ化基準を充足するメッシュを生成し、前記メッシュの要素タイプが、メッシュ化されている前記ドメインに適している場合、前記一次メッシュ化プロセスによって生成された前記メッシュが、前記後続ＣＡＤ／ＣＡＥプロセスにおける使用のために選択される方法。
【請求項３】
請求項２記載の方法であって、前記少なくとも１つの一次メッシュ化プロセスは六面体要素を生成する方法。
【請求項４】
請求項２記載の方法であって、前記少なくとも１つの一次メッシュ化プロセスはプリズム要素を生成する方法。
【請求項５】
請求項２乃至４の何れか一項に記載の方法であって、前記少なくとも１つの更なるメッシュ化プロセスは四面体要素を生成する方法。
【請求項６】
請求項２記載の方法であって、前記複数のメッシュ化プロセスは、六面体要素を生成する第１の一次メッシュ化プロセス、プリズム要素を生成する第２の一次メッシュ化プロセス、及び四面体要素を生成する更なるメッシュ化プロセスを含む方法。
【請求項７】
請求項１乃至６に記載の方法であって、前記複数のメッシュ化プロセスにおける前記メッシュ化プロセスのうちの少なくとも一部は別々のメッシュ化コードを利用する方法。
【請求項８】
請求項１乃至７に記載の方法であって、前記複数のメッシュ化プロセスにおける前記メッシュ化プロセスのうちの少なくとも一部は、同じメッシュ化コードを利用するが、別々のメッシュ化アルゴリズムを利用する方法。
【請求項９】
請求項１乃至８の何れか一項に記載の方法であって、前記予め設定されたメッシュ化基準、又は前記複数の予め設定されたメッシュ化基準のうちの１つは、前記生成されたメッシュにおける各要素の歪度、アスペクト比、又は要素の体積が所定の値範囲内に収まるか否かである方法。
【請求項１０】
請求項９記載の方法であって、前記生成されたメッシュの２つ以上が、前記１つ又は複数の予め設定されたメッシュ化基準を充足する場合、後続ＣＡＤ／ＣＡＥにおける使用のために前記メッシュを選択する工程は、最低数の要素を有する前記メッシュを、使用のために選択する工程を含む方法。
【請求項１１】
請求項１乃至１０の何れか一項に記載の方法であって、前記ＣＡＤドメインが、アセンブリ・タイプＣＡＤモデルにおける複数のＣＡＤパートの１つである場合、前記複数のＣＡＤパートにおける各パートについて前記手順を反復する工程を更に含む方法。
【請求項１２】
請求項１乃至８の何れか一項に記載の方法であって、前記ＣＡＤドメインが、アセンブリ・タイプＣＡＤモデルにおけるＣＡＤパートの複数のセクションの１つである場合、前記複数における各パートのセクション毎に前記手順を反復する工程を含む方法。
【請求項１３】
請求項１２記載の方法であって、セクション毎にメッシュが選択された後、同じメッシュ要素タイプを有する他の１つ又は複数のセクションとインタフェースを共有するセクションのメッシュがそのインタフェースでマージされ、別のメッシュ要素タイプを有する他の１つ又は複数のセクションとインタフェースを共有するセクションの何れかのメッシュについて、制約条件が、前記セクションのメッシュ間の各インタフェース上の要素の選択された１つ又は複数のノードに割り当てられ、前記セクションは、それらの間で、前記選択されたノードにおいて結合されているかのように前記セクションを扱うために前記制約条件を使用して、ＣＡＤ／ＣＡＥソルバにおいて、マージされていない状態で処理される方法。
【請求項１４】
コンピュータ支援設計（ＣＡＤ）又はコンピュータ支援エンジニアリング（ＣＡＥ）システムにおける使用のための方法であって、アセンブリ・タイプＣＡＤモデルのパートのセクションについて、メッシュが、マージされていないが、生成された後、前記方法は、
前記パートの隣接セクション・メッシュ間の各インタフェース上の要素の１つ又は複数の選択されたノードに制約条件を割り当てる工程と、
それらの間の前記インタフェース上の前記選択されたノードにおいて結合されているかのように隣接セクションを扱うために前記制約条件を使用して、ＣＡＤ／ＣＡＥソルバにおいて、前記マージされていないセクションを処理する工程とを含む方法。
【請求項１５】
請求項１４記載の方法であって、前記セクションは、請求項１２記載の方法を使用してメッシュ化された方法。
【請求項１６】
コンピュータ支援設計（ＣＡＤ）又はコンピュータ支援エンジニアリング（ＣＡＥ）システムにおいて使用するためのメッシュ化装置であって、前記装置は、
複数のＣＡＤメッシュ化プロセスを並列に行って、前記ＣＡＤドメインの１つ又は複数のメッシュを生成する工程であって、前記複数のＣＡＤメッシュ化プロセスのうちのＣＡＤメッシュ化プロセスそれぞれは、前記複数のＣＡＤメッシュ化プロセスにおけるその他のメッシュ化プロセスと異なる工程と、
前記生成されたメッシュのどれが、前記メッシュの品質を示す１つ又は複数の予め設定されたメッシュ化基準を充足するかを判定する工程と、
前記１つ又は複数の予め設定されたメッシュ化基準を充足する前記生成されたメッシュのうちの１つを、後続ＣＡＤ／ＣＡＥプロセスにおいて使用するために選択する工程とを含む
手順を行うことにより、単一のＣＡＤソリッド、あるいは、アセンブリ・タイプのＣＡＤモデルにおける複数のＣＡＤパートの１つ、あるいは、アセンブリ・タイプのＣＡＤモデルにおけるＣＡＤパートの複数のセクションの１つを含むＣＡＤドメインをメッシュ化するよう構成されたメッシュ化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ支援設計（ＣＡＤ）における減結合並列メッシュ化に関し、特に、減結合並列メッシュ化プロセスの別々の段階における使用のための方法及び装置に関する。
【背景技術】
【０００２】
コンピュータ支援エンジニアリング（ＣＡＥ）、すなわち、製品の品質を改善するための製品の挙動のモデリング及びシミュレーションの目的でのコンピュータ・ソフトウェアの使用は、製造業においてほぼいたるところで見られる。ＣＡＥが包含する領域は、限定列挙でないが、応力及び熱解析、流体力学、及び運動学を含む。
【０００３】
添付図面の図１に示すように、通常のＣＡＥプロセスは、解析されるオブジェクトの幾何学モデル（工程１）を表すコンピュータ支援設計（ＣＡＤ）ファイルで開始される。専用ＣＡＤソフトウェアを使用して作成されたＣＡＤファイルには、まず、境界条件が設定される段階（工程２）が行われ、次いで、前処理工程（工程３）が行われる。工程３では、形状がメッシャにより、メッシュと呼ばれるものを構成する非常に多くの数の要素に区分化（メッシュ化）される。境界条件が付随するメッシュは次いで、有限要素法のような標準的な数値手法を使用して、オブジェクトに対する境界条件の効果（例えば、変形）を計算するソルバに送出される（工程４）。最後に、結果が、後処理工程（工程５）において可視化される（工程５）。ソルバ工程は、解析のうちで最も時間のかかる工程であったが、過去数十年に生じた処理能力の向上により、メッシュ化及び境界条件の設定、ＣＡＤモデル作成のような前処理動作の方向にバランスがシフトした。前述のシフトの主な理由の１つは、産業においてみられるもののような高度なＣＡＤモデルの場合、一定量のユーザ介入がなお必要であるという点である。プロセッサ性能が、少なくとも近い将来、この傾向に追随することが期待されるので、前処理が、解析において一層大きなボトルネックとなる方向に傾いている。更に、ソルバの場合よりも、前述の作業の自動化及び並列化にこれまでに費やされてきた労力はずっと少ない。しかし、ＣＡＥプロセスの前処理段階の加速化は、より高速であり、かつ、より効率的な製品開発サイクル、及びより良好な品質の製品の開発の実現に向けた重要なステップとなる。
【０００４】
現在利用可能なメッシャ（メッシュ化器）は、２つのカテゴリ（すなわち、シリアル及びパラレル）に分けることが可能である。
【０００５】
シリアル・メッシャは、１つのプロセッサに接続されたメモリと、１つのプロセッサのみの計算能力に制限される。作成するために約１ＧＢのメモリを必要とする約１百万の構成要素のメッシュの場合、メモリが前述のコードにとって厳しい制約であることは明らかである。更に、複数のコアを有する現代のプロセッサ全ての場合、シリアル・メッシャは、プロセッサのピーク性能のうち、使用することができる割合が一層少なくなってきている。しかし、現在利用可能な大半のメッシュ化ソフトウェア、及び、特に、自由に利用可能な全てのもの（例えば、Ｎｅｔｇｅｎ（商標）、ＴｅｔＧｅｎ（商標）、Ｇｍｓｈ（商標））は、シリアル・メッシャのカテゴリに収まる。
【０００６】
パラレル・メッシャは、一コンピュータに、又はより多くの場合、ネットワークによって接続されたいくつかのコンピュータにみられるいくつかのプロセッサに作業負荷を分散させることにより、ずっと大きなメッシュをずっと短い時間で作成することができる。メッシュ化中にプロセッサ間で行われる通信の量により、パラレル・メッシュ生成器は更に、３つのカテゴリ（すなわち、密結合、疎結合、及び減結合）に分けることが可能である。前述の３つのサブカテゴリのうち、（別々の処理部分間の通信又は同期化を必要としない）減結合並列メッシャのみが、直列メッシング・コードの１００％の再利用を実現することが可能である。これは、いくつかの独立サブドメインにメッシュ化され、上記独立サブドメインが次いで別個にメッシュ化されるドメインを区分化することによって実現される。
【０００７】
アセンブリ・モデルは、互いに物理的に接触していてもいなくてもよい複数のソリッドを含むＣＡＤモデルである。本出願を通して、部分という語は、アセンブリ・モデルの単一のソリッド構成部分の意味を有する。首尾一貫性のために、入力ＣＡＤファイルが単一のソリッドを含む場合、一パートを有するアセンブリとしてこれを表す。ソリッドは、いくつかのセクションに分離／区分化し得る。２Ｄメッシュ化演算は、三角形や四角形などの２Ｄ要素による、ソリッドの面の離散化である。３Ｄメッシュ化演算は、四面体や六面体などの３Ｄ要素による、ソリッドのボリューム全体の離散化である。メッシュ・マージ演算は、パートの個々のセクションの３Ｄメッシュの、前述のパートの１つのコヒーレントな３Ｄメッシュへの結合である。コヒーレントなメッシュは、セクション間のインタフェース上の重複ノードがない単一の接続メッシュ１つとして定義される。メッシュ・アセンブリ演算は、１つ又は複数の個々のパートのメッシュの、アセンブリ・モデルの１つの単一のメッシュへの集約である。メッシュ・アセンブリとメッシュ・マージとの間の差は、アセンブルされたメッシュが１つの単一の接続メッシュにならないという点である。すなわち、２つのパートのメッシュが物理的に接触していても、インタフェースは、２つのノード及び要素の組を含み、メッシュ毎に１つの組を含む。より公式的には、２つ以上のパートのメッシュに属するノードを有するアセンブルされたメッシュにおいて要素は存在しない。
【０００８】
ＥＰ１２１７３４６９．３（西暦２０１４年１月１６日公開の特開第２０１４‐００６９０８号）において提案されている減結合並列メッシュ化システムは、添付図面の図２に示す。矩形ブロックとして図２に描く１つ又は複数の個々のプロセス、又はモジュール１乃至８から構築されているものとみなし得る。前述のモジュールは、メッシュ化される対象のＣＡＤファイルの読み出しに始まり、メッシュ化が首尾よく行われた場合、ＣＡＤファイルの３Ｄメッシュで終了して、順番に使用される。
【０００９】
モジュール１はＣＡＤ分解モジュールであり、モジュール２はメッシュ・パラメータ設定モジュールであり、モジュール３はＣＡＤ分割モジュールであり、モジュール４は２Ｄメッシュ化モジュールであり、モジュール５は２Ｄメッシュ修正モジュールであり、モジュール６は３Ｄメッシュ化モジュールであり、モジュール７は３Ｄメッシュ・マージ・モジュールであり、モジュール８はメッシュ組立モジュールである。
【００１０】
２Ｄメッシュ化モジュール４の機能は、ＣＡＤ形状から始めて２Ｄ（表面）メッシュを作成することである。モジュール４は、入力として与えられ、特定されたメッシュ化パラメータを使用するＣＡＤファイルの２Ｄ表面メッシュを作成するために、何れかの市販の未修正メッシャを使用することが可能である。ＣＡＤファイルは、ＣＡＤ分割モジュールによって生成されるパートのセクションである一方、メッシュ化パラメータは、メッシュ化パラメータ設定モジュール２によって形成される。
【００１１】
２Ｄメッシュ修正モジュール５の機能は、互いにインタフェースを有するセクションのメッシュがそのインタフェースにおいて同じであるように１つのパートのセクション全てについて表面メッシュを修正することである。このことは、同じ形状が毎回同じようにメッシュ化される保証がないランダム化されたメッシュ化アルゴリズムを使用するメッシャを使用する場合に重要である。実際には、現在、最も広く使用されているオープン・ソースのメッシュ化ソフトウェアのうちの２つであるＧｍｓｈ（商標）又はＮｅｔｇｅｎ（商標）のようなメッシャの場合、同じ入力ＣＡＤファイルについて生成される２Ｄメッシュ及び３Ｄメッシュは、プログラムが実行されるほぼ毎度、異なる。ＥＰ１２１７３４６９．３では、効果的には、従来技術における並列メッシュ化のベースとして使用されるシリアル・メッシャに課される、常に同じ２Ｄ表面メッシュを生成すべきであるという、制約を緩和し得ると認識され、メッシャには、同じ１Ｄエッジ・メッシュを生成することのみが要求されるということが提案されている。すなわち、ＥＰ１２１７３４６９．３では、全ての表面において同じ１Ｄエッジ・メッシュを生成するメッシュ化手法を使用して生成されるセクションの表面において２Ｄメッシュを修正する方法において、上記手法が未だ行われておらず、別のセクションとのインタフェースを有するセクション全てについて、インタフェースの一方側のセクションの表面のエッジに沿った要素のノードが、インタフェースの他方側のセクションの対向する表面のエッジに沿った要素のノードとマッチングされ、インタフェースの一方側の表面上の要素が、インタフェースの他方側の表面上の要素で置き換えられることが提案されている。
【００１２】
３Ｄメッシュ化モジュール６の機能は、２Ｄ表面形状から始めて３Ｄ（体積）メッシュを作成することである。モジュール６は、入力として与えられ、特定されたメッシュ化パラメータを使用する２Ｄ表面メッシュ・ファイルから３Ｄ体積メッシュを作成するために、市販の未修正メッシャを使用することが可能である。２Ｄ表面メッシュ・ファイルは、２Ｄメッシュ化モジュール４によって生成され、２Ｄメッシュ修正モジュール５によって修正されるパートのセクションの２Ｄメッシュである一方、メッシュ化パラメータはメッシュ化パラメータ設定モジュール２によって計算される。３Ｄメッシャは、２Ｄ表面上に何れかの新たなノードを付加してはならない。前述の特性を有するメッシュ化アルゴリズムの一例は、Ｇｍｓｈ（商標）及びＮｅｔｇｅｎ（商標）のようなメッシャにおいて使用されるフロンタル（Ｆｒｏｎｔａｌ）手法である。
【００１３】
３Ｄメッシュ・マージ・モジュール７の機能は、単一の１つのコヒーレント・メッシュ（すなわち、重複するノードが除外されているセクション間のインタフェース上で接続された２つのメッシュ）にパートのセクション全てに対応する３Ｄメッシュを結合することである。３Ｄメッシュ・マージ・モジュール７は、パートのセクション全てについて３Ｄメッシュを含むフォルダを入力とし、パート全体について一メッシュ・ファイルを出力する。先行して適用された２Ｄメッシュ修正モジュールが理由で、かつ、表面メッシュ上に何れかの新たなノードを３Ｄメッシュ化モジュール６が追加しなくてよいということが理由で、セクション間のインタフェース上のノード及び要素は、完全に一致することが保証される。マージは次いで、セクション間のインタフェース上の重複するノードの対を見つけ、２つのうちの１つを除去し、適宜、番号を再設定することによって行われる。
【００１４】
モジュール１（ＣＡＤ分解）及びモジュール８（メッシュ組立）はそれぞれ、大きな動作（すなわち、初期ＣＡＤファイルを個々の構成部分に分解し、個々の部分から最終メッシュを組み立てることを含む。一方、他のモジュールは、場合によっては大きな数の個々の動作を含む。これらから、モジュール２（メッシュ・パラメータ設定）、モジュール３（ＣＡＤ分割）、モジュール５（２Ｄメッシュ修正）、及びモジュール７（３Ｄメッシュ・マージ）は、メッシュ化する対象のパートの数と同じ数の作業をもたらす。モジュール４（２Ｄメッシュ化）及びモジュール６（３Ｄメッシュ化）には、高い度合いの並列性の機会が与えられる。メッシュ化する必要があるパートそれぞれは更に、いくつかのセクションに分割（区分化）することが可能である。
【００１５】
実行する必要がある作業は全て、作業に関連付けられた依存関係の連鎖に従って実行する並列タスク・スケジューラにおいてキューイングされる。例えば、一パートのセクション全てについての２Ｄメッシュ化動作は、そのパートの先行したＣＡＤ分割動作の首尾よい完了にのみ依存する。すなわち、ＣＡＤ分割動作が一パートについて完了すると直ちに、結果として生じるセクション全ての２Ｄメッシュ化が始まり得る。同様に、パートの一セクションの２Ｄメッシュ化が首尾よく行われなかった場合、他のパート全ての２Ｄメッシュ化は打ち切られ、プロセスはモジュール２から再起動され、モジュール２では、新たなメッシュ化パラメータが自動的に設定される。
【００１６】
図２のシステムは以下の工程に従う。
【００１７】
１．  ＣＡＤモデル（組立モデル）が入力として読み出され、パートに分解される。各ソリッドは別個のＣＡＤファイルとして保存される。
【００１８】
２．  メッシュ化される対象のパート毎に使用するための最善の初期メッシュ・パラメータを決定するために幾何学的特性及びユーザ選好が使用される。
【００１９】
３．  各パートは、（ＣＡＤレベルにおける）いくつかのセクションに分割（区分化）される。
【００２０】
４．  パート全てのセクションは全て、２Ｄにおいてメッシュ化される。少なくとも１つのセクションをメッシュ化させることができなかったパートについて、プロセスは工程２に戻り、工程２では、別々のメッシュ化パラメータが選ばれ（例えば、より小さな最大要素サイズ）、その後、プロセスは続く。
【００２１】
５．  パート毎に、セクションの２Ｄメッシュが、隣接セクション間のインタフェースが一致するように修正される。これは、（工程７において）３Ｄメッシュのマージを簡単にするために必要である。
【００２２】
６．  パート全てのセクションは全て、（２Ｄメッシュで始めて）３Ｄにおいてメッシュ化される。少なくとも１つのセクションをメッシュ化させることができなかったパートについて、プロセスは工程２に戻り、工程２では、別々のメッシュ化パラメータが選ばれ（例えば、より小さな最大要素サイズ）、その後、プロセスは続く。
【００２３】
７．  パート毎に、セクション全ての３Ｄメッシュが、コヒーレントな１つのメッシュにマージされる。
【００２４】
８．  パートが全てメッシュ化された場合、パートのメッシュが、完全な組立モデルのために、一メッシュに組み立てられる。前述のメッシュはシステムの出力である。
【００２５】
上記並列メッシュ化システムは、市販のシリアル・メッシュ化プログラムを使用して２Ｄメッシュ及び３Ｄメッシュを生成する。しかし、現在、この目的で使用することが可能なメッシュ化コード及びメッシュ化アルゴリズムがいくつか存在している。例えば、Ｇｍｓｈ（商標）メッシャの現行バージョンは、３つの２Ｄメッシュ化アルゴリズム（ＭｅｓｈＡｄａｐｔ、Ｄｅｌａｕｎａｙ、及びＦｒｏｎｔａｌ）、並びに、５つの３Ｄメッシュ化アルゴリズム（Ｄｅｌａｕｎａｙ、Ｆｒｏｎｔａｌ、Ｆｒｏｎｔａｌ  Ｄｅｌａｕｎａｙ、ＭＭＧ３Ｄ、及びＲ−ｔｒｅｅ）を使用することが可能である。メッシュ化アルゴリズムとＣＡＤ形状との間の関係は極めて複雑なものであるため、一般に、どのメッシュ化アルゴリズムがＣＡＤモデルに適切かを予測することは非常に困難である。実際には、ロバストなメッシャが、より低い品質のメッシュを生成する一方、よりロバストでないメッシャが、より高い品質のメッシュを生成するという意味合いで、メッシャのロバスト性と出力メッシュの品質との間に逆の関係が多くの場合、存在している。更に、前述の選択は、組立モデルのパートのうちのセクション又はパートを表す数百又は数千のソリッドのそれぞれについて行わなければならない。
【発明の概要】
【発明が解決しようとする課題】
【００２６】
ＥＰ１２１７３４６９．３において提案されている並列メッシュ化システムは、
１．  パートにおけるセクション全てのメッシュ化分解能は同じでなければならないこと、及び
２．  （２Ｄメッシュから始めて）３Ｄメッシュを作成する場合、新たな点を、表面メッシュに追加することはできないこと
という２つの重要な制約をメッシュ化プロセスに対して与えている。
【００２７】
上記２つの制約の理由は、隣接セクション間のインタフェースが同じであることを保証するために、セクションのメッシュのマージがずっと効率的になるという点である。しかし、全てのメッシュ化アルゴリズムが要件２を充足する訳でない（Ｇｍｓｈから、フロンタル方法のみがこの要件を充足する）。更に、ＣＡＤパートの一部のセクションを、他の部分よりも粗い分解能でメッシュ化することが可能であり、要件１により、所要の数の要素を超える数の要素が生成されるメッシュがもたらされる。最後に、並列プログラミングの観点から、図２の工程５、及び同じ分解能でパートのセクション全てをメッシュ化する必要性により、データ依存関係が生成され、これにより、並列ソルバのスケーラビリティが削減される。
【課題を解決するための手段】
【００２８】
本発明の第１の局面の実施例によれば、コンピュータ支援設計（ＣＡＤ）又はコンピュータ支援エンジニアリング（ＣＡＥ）システムにおける使用のために、単一のＣＡＤソリッド、あるいは、アセンブリ・タイプのＣＡＤモデルにおける複数のＣＡＤパートの１つ、あるいは、アセンブリ・タイプのＣＡＤモデルにおけるＣＡＤパートの複数のセクションの１つを含むＣＡＤドメインをメッシュ化する方法が提供され、上記方法は、複数のＣＡＤメッシュ化プロセスを並列に行って、上記ＣＡＤドメインの１つ又は複数のメッシュを生成する工程であって、上記複数のＣＡＤメッシュ化プロセスのうちのＣＡＤメッシュ化プロセスそれぞれは、上記複数のＣＡＤメッシュ化プロセスにおけるその他のメッシュ化プロセスと異なる工程と、上記生成されたメッシュのどれが、上記メッシュの品質を示す１つ又は複数の予め設定されたメッシュ化基準を充足するかを判定する工程と、上記１つ又は複数の予め設定されたメッシュ化基準を充足する上記生成されたメッシュのうちの１つを、後続ＣＡＤ／ＣＡＥプロセスにおいて使用するために選択する工程とを含む手順を含む。
【００２９】
本発明の第１の局面を実施するメッシュ化方法では、別々の複数のメッシュ化プロセスが同じ作業について並列に使用されるので、メッシュ化プロセスはよりロバストであり、それにより、それらのうちの１つが首尾よく行われる確率が増加する。更に、最も適切なメッシュが複数の候補メッシュから選択されるので、メッシュ品質が増加する。
【００３０】
並列に、同じＣＡＤファイルについて複数の別々のメッシュ化プロセスを実行し、結果として生じる最善のメッシュを選ぶことにより、本発明の第１の局面を実施するメッシュ化方法は、適切なメッシュ化アルゴリズムを手作業で選択する必要性を避け、どのメッシュ化アルゴリズムを使用することが可能であるかに対する制約を避け、パートのセクション全てを同じ分解能でメッシュ化することが必要であることによって生じるメッシュ・サイズの増加を避けることが可能である。
【００３１】
理想的には、シミュレーションの観点から、一般に、四面体要素のかわりに六面体要素を使用することが好ましい。前者は、ずっと良好な数値特性を有するからである。残念ながら、複雑な形状の場合、六面体メッシュ化を自動化することが困難であり得るので、メッシュを作成するために手作業の介入が必要である。六面体メッシュ化は自動化がより容易であるが、一般に、六面体メッシュ化の代替として使用される。数値的にそれほど良好でないからである。一部の場合には、別の要素タイプ、すなわち、（三角形の底面を有する）プリズム要素が四面体要素よりも好適であり得るが、これは、アプリケーションに依存する。例えば、ＣＦＤアプリケーションでは、これは、メッシュに対するフローの方向に依存する。
【００３２】
したがって、好ましい実施例では、複数のメッシュ化プロセスが、第１のタイプのメッシュ要素を生成する少なくとも１つの一次メッシュ化プロセス、及び上記第１のタイプとは異なる第２のタイプのメッシュ要素を生成する少なくとも１つの更なるメッシュ化プロセスを含み、上記一次メッシュ化プロセスが、上記１つ又は複数の予め設定されたメッシュ化基準を充足するメッシュを生成し、上記メッシュの要素タイプが、メッシュ化されている上記ドメインに適している場合、上記一次メッシュ化プロセスによって生成された上記メッシュが、上記後続ＣＡＤ／ＣＡＥプロセスにおける使用のために選択される。
【００３３】
上記少なくとも１つの一次メッシュ化プロセスは六面体要素を生成し得る。
【００３４】
上記少なくとも１つの一次メッシュ化プロセスはプリズム要素を生成し得る。
【００３５】
上記少なくとも１つの更なるメッシュ化プロセスは四面体要素を生成し得る。
【００３６】
一実施例では、上記複数のメッシュ化プロセスは、六面体要素を生成する第１の一次メッシュ化プロセス、プリズム要素を生成する第２の一次メッシュ化プロセス、及び四面体要素を生成する更なるメッシュ化プロセスを含む。
【００３７】
本発明の第１の局面を実施するメッシュ化方法では、上記複数のメッシュ化プロセスにおける上記メッシュ化プロセスのうちの少なくとも一部は別々のメッシュ化コードを利用し得る。
【００３８】
本発明の第１の局面を実施するメッシュ化方法では、上記複数のメッシュ化プロセスにおける上記メッシュ化プロセスのうちの少なくとも一部は、同じメッシュ化コードを利用し得るが、別々のメッシュ化アルゴリズムを利用し得る。
【００３９】
本発明の第１の局面を実施するメッシュ化方法では、上記予め設定されたメッシュ化基準、又は上記複数の予め設定されたメッシュ化基準のうちの１つは、上記生成されたメッシュにおける各要素の歪度、アスペクト比、又は要素の体積が所定の値範囲内に収まるか否かである。上記生成されたメッシュの２つ以上が、上記１つ又は複数の予め設定されたメッシュ化基準を充足する場合、後続ＣＡＤ／ＣＡＥにおける使用のために上記メッシュを選択する工程は、最低数の要素を有する上記メッシュを、使用のために選択する工程を含み得る。
【００４０】
本発明の第１の局面を実施するメッシュ化方法では、上記ＣＡＤドメインが、アセンブリ・タイプＣＡＤモデルにおける複数のＣＡＤパートの１つである場合、上記複数のＣＡＤパートにおける各パートについて上記手順を反復する工程を更に含み得る。
【００４１】
本発明の第１の局面を実施するメッシュ化方法では、上記ＣＡＤドメインが、アセンブリ・タイプＣＡＤモデルにおけるＣＡＤパートの複数のセクションの１つである場合、上記複数における各パートのセクション毎に上記手順を反復する工程を更に含み得る。
【００４２】
前述の場合、複数のメッシュ化プロセスは、複数のメッシュ化プロセスが、第１のタイプのメッシュ要素を生成する少なくとも１つの一次メッシュ化プロセス、及び上記第１のタイプとは異なる第２のタイプのメッシュ要素を生成する少なくとも１つの更なるメッシュ化プロセスを含み、セクション毎にメッシュが選択された後、同じメッシュ要素タイプを有する他の１つ又は複数のセクションとインタフェースを共有するセクションのメッシュがそのインタフェースでマージされ得、別のメッシュ要素タイプを有する他の１つ又は複数のセクションとインタフェースを共有するセクションの何れかのメッシュについて、制約条件が、上記セクションのメッシュ間の各インタフェース上の要素の選択された１つ又は複数のノードに割り当てられ得、上記セクションは、それらの間で、上記選択されたノードにおいて結合されているかのように上記セクションを扱うために上記制約条件を使用して、ＣＡＤ／ＣＡＥソルバにおいて、マージされていない状態で処理され得る。現代の構造解析及びＣＦＤソルバは、複数のメッシュを内部的に結合することができる。前述の機能を保有するオープン・ソースのソルバの例には、構造解析ソルバＦｒｏｎｔＩＳＴＲ及びＣＦＤソルバＯｖｅｒｔｕｒｅがある。
【００４３】
本発明の第２の局面の実施例によれば、コンピュータ支援設計（ＣＡＤ）又はコンピュータ支援エンジニアリング（ＣＡＥ）システムにおける使用のための方法が提供され、アセンブリ・タイプＣＡＤモデルのパートのセクションについて、メッシュが、マージされていないが、生成された後、上記方法は、上記パートの隣接セクション・メッシュ間の各インタフェース上の要素の１つ又は複数の選択されたノードに制約条件を割り当てる工程と、それらの間の上記インタフェース上の上記選択されたノードにおいて結合されているかのように隣接セクションを扱うために上記制約条件を使用して、ＣＡＤ／ＣＡＥソルバにおいて、上記マージされていないセクションを処理する工程とを含む。
【００４４】
上述のように、現代の構造解析及びＣＦＤソルバ（例えば、構造解析ソルバＦｒｏｎｔＩＳＴＲ及びＣＦＤソルバＯｖｅｒｔｕｒｅ）は、複数のメッシュを内部的に結合することができ、よって、外部メッシュ・マージを不要にする。セクションのメッシュをマージする代わりに、各パート内で、複数のメッシュを内部的に結合する機能を有する前述の現代のソルバが使用された場合に、本発明の第２の局面を実施する方法は、メッシュのサイズを削減し、セクションのメッシュをマージする必要性によるスケーラビリティの削減を避けることが可能である。
【００４５】
好ましくは、セクションは、本発明の第１の局面を実施する方法を使用してメッシュ化される。
【００４６】
本発明の第３の局面の実施例によれば、コンピュータ支援設計（ＣＡＤ）又はコンピュータ支援エンジニアリング（ＣＡＥ）システムにおいて使用するためのメッシュ化装置が提供され、上記装置は、複数のＣＡＤメッシュ化プロセスを並列に行って、上記ＣＡＤドメインの１つ又は複数のメッシュを生成する工程であって、上記複数のＣＡＤメッシュ化プロセスのうちのＣＡＤメッシュ化プロセスそれぞれは、上記複数のＣＡＤメッシュ化プロセスにおけるその他のメッシュ化プロセスと異なる工程と、上記生成されたメッシュのどれが、上記メッシュの品質を示す１つ又は複数の予め設定されたメッシュ化基準を充足するかを判定する工程と、上記１つ又は複数の予め設定されたメッシュ化基準を充足する上記生成されたメッシュのうちの１つを、後続ＣＡＤ／ＣＡＥプロセスにおいて使用するために選択する工程とを含む手順を行うことにより、単一のＣＡＤソリッド、あるいは、アセンブリ・タイプのＣＡＤモデルにおける複数のＣＡＤパートの１つ、あるいは、アセンブリ・タイプのＣＡＤモデルにおけるＣＡＤパートの複数のセクションの１つを含むＣＡＤドメインをメッシュ化するよう構成される。
【００４７】
本発明の第３の局面を実施する装置では、複数のメッシュ化プロセスが、第１のタイプのメッシュ要素を生成する少なくとも１つの一次メッシュ化プロセス、及び上記第１のタイプとは異なる第２のタイプのメッシュ要素を生成する少なくとも１つの更なるメッシュ化プロセスを含み、上記一次メッシュ化プロセスが、上記１つ又は複数の予め設定されたメッシュ化基準を充足するメッシュを生成し、上記メッシュの要素タイプが、メッシュ化されている上記ドメインに適している場合、上記一次メッシュ化プロセスによって生成された上記メッシュが、上記後続ＣＡＤ／ＣＡＥプロセスにおける使用のために選択される。上記少なくとも１つの一次メッシュ化プロセスは六面体要素を生成し得る。上記少なくとも１つの一次メッシュ化プロセスはプリズム要素を生成し得る。上記少なくとも１つの更なるメッシュ化プロセスは四面体要素を生成し得る。
【００４８】
上記装置の一実施例では、上記複数のメッシュ化プロセスは、六面体要素を生成する第１の一次メッシュ化プロセス、プリズム要素を生成する第２の一次メッシュ化プロセス、及び四面体要素を生成する更なるメッシュ化プロセスを含み得る。
【００４９】
一実施例では、上記複数のメッシュ化プロセスは、六面体要素を生成する第１の一次メッシュ化プロセス、プリズム要素を生成する第２の一次メッシュ化プロセス、及び四面体要素を生成する更なるメッシュ化プロセスを含む。
【００５０】
本発明の第３の局面を実施する装置では、上記複数のメッシュ化プロセスにおける上記メッシュ化プロセスのうちの少なくとも一部は別々のメッシュ化コードを利用し得る。
【００５１】
本発明の第３の局面を実施する装置では、上記複数のメッシュ化プロセスにおける上記メッシュ化プロセスのうちの少なくとも一部は、同じメッシュ化コードを利用し得るが、別々のメッシュ化アルゴリズムを利用し得る。
【００５２】
本発明の第３の局面を実施する装置では、上記予め設定されたメッシュ化基準、又は上記複数の予め設定されたメッシュ化基準のうちの１つは、上記生成されたメッシュにおける各要素の歪度、アスペクト比、又は要素の体積が所定の値範囲内に収まるか否かである。上記生成されたメッシュの２つ以上が、上記１つ又は複数の予め設定されたメッシュ化基準を充足する場合、後続ＣＡＤ／ＣＡＥにおける使用のために上記メッシュを選択する工程は、最低数の要素を有する上記メッシュを、使用のために選択する工程を含み得る。
【００５３】
本発明の第３の局面を実施する装置は、上記ＣＡＤドメインが、アセンブリ・タイプＣＡＤモデルにおける複数のＣＡＤパートの１つである場合、上記複数のＣＡＤパートにおける各パートについて上記手順を反復するよう動作可能であり得る。
【００５４】
本発明の第３の局面を実施する装置では、上記ＣＡＤドメインが、アセンブリ・タイプＣＡＤモデルにおけるＣＡＤパートの複数のセクションの１つである場合、上記複数における各パートのセクション毎に上記手順を反復するよう動作可能であり得る。
【００５５】
前述の場合、複数のメッシュ化プロセスが、複数のメッシュ化プロセスが、第１のタイプのメッシュ要素を生成する少なくとも１つの一次メッシュ化プロセス、及び上記第１のタイプとは異なる第２のタイプのメッシュ要素を生成する少なくとも１つの更なるメッシュ化プロセスを含む場合に、セクション毎にメッシュが選択された後、同じメッシュ要素タイプを有する他の１つ又は複数のセクションとインタフェースを共有するセクションのメッシュがそのインタフェースでマージされ、別のメッシュ要素タイプを有する他の１つ又は複数のセクションとインタフェースを共有するセクションの何れかのメッシュについて、制約条件が、上記セクションのメッシュ間の各インタフェース上の要素の選択された１つ又は複数のノードに割り当てられ、上記セクションは、それらの間で、上記選択されたノードにおいて結合されているかのように上記セクションを扱うために上記制約条件を使用して、ＣＡＤ／ＣＡＥソルバにおいて、マージされていない状態で処理されるよう動作可能な装置が提供され得る。
【００５６】
本発明の第４の局面の実施例によれば、コンピュータ支援設計（ＣＡＤ）又はコンピュータ支援エンジニアリング（ＣＡＥ）システムにおける使用のための装置が提供され、上記装置は、アセンブリ・タイプＣＡＤモデルのパートのセクションについて、メッシュが、マージされていないが、生成された後、上記パートの隣接セクション・メッシュ間の各インタフェース上の要素の１つ又は複数の選択されたノードに制約条件を割り当てる制約条件割当手段と、それらの間の上記インタフェース上の上記選択されたノードにおいて結合されているかのように隣接セクションを扱うために上記制約条件を使用して、上記マージされていない受け取られたセクションを処理するＣＡＤ／ＣＡＥソルバとを備える。
【００５７】
好ましくは、本発明の第３の局面を実施する装置を使用してセクションがメッシュ化されている。
【００５８】
本発明の第５の局面の実施例によれば、コンピュータ上で実行されると、コンピュータに本発明の第１又は第２の局面を実施する方法を行わせるか、又はコンピュータを本発明の第３又は第４の局面を実施する装置となるようにするコンピュータ・プログラムが提供される。
【００５９】
ここでは、別々のメッシュ化プロセスとは、別々のメッシュ化アルゴリズムを使用した同じメッシュ化コードのインスタンス、又は別々のメッシュ化コードを意味するものとする。例えば、限定列挙でないが、メッシュ化プロセスの１つは、六面体要素を生成するＳＡＬＯＭＥ−Ｈｅｘａｈｅｄｒｏｎアルゴリズムを使用することが可能であり、別のメッシュ化プロセスは、ＳＡＬＯＭＥ−３Ｄ  Ｅｘｔｒｕｓｉｏｎメッシュ化アルゴリズムを使用することが可能であり、別のメッシュ化プロセスは、四面体要素を生成するＮｅｔｇｅｎメッシュ化コードを使用することが可能であり、別のメッシュ化プロセスは、Ｇｍｓｈと、２Ｄメッシュ化のためのＭｅｓｈＡｄａｐｔアルゴリズム及び３ｄメッシュ化のためのＦｒｏｎｔａｌアルゴリズム（何れも四面体要素を生成する）を使用することが可能であり、別のメッシュ化プロセスは、Ｇｍｓｈと、２Ｄメッシュ化及び３Ｄメッシュ化のためのＦｒｏｎｔａｌアルゴリズム（四面体要素を生成する）とを使用することが可能であり、更に別のメッシュ化プロセスは、Ｇｍｓｈと、２Ｄメッシュ化のためのＤｅｌａｕｎａｙ及び３Ｄメッシュ化のためのＭＭＧ３Ｄアルゴリズム（何れも四面体要素を生成する）とを使用することが可能である。
【図面の簡単な説明】
【００６０】
【図１】上述のＣＡＥプロセスを示すフローチャートである。
【図２】上述の減結合並列メッシュ化システムを示すフローチャートである。
【図３】本発明の実施例をＣＡＤシステムにおいて使用することが可能な対象を示す図である。
【図４】本発明の第１の局面を実施する第１のメッシュ化方法を示すフローチャートである。
【図５】本発明の第１の局面を実施する第２のメッシュ化方法を示すフローチャートである。
【図６】本発明の第１の局面を実施する第３のメッシュ化方法を示すフローチャートである。
【図７】本発明の第１の局面及び第２の局面を実施する減結合並列メッシュ化システムを示すフローチャートである。
【図８】本発明の第２の局面を実施する方法において使用するためのメッシュ・アセンブリ動作を示す図である。
【図９】本発明の第１の局面を実施する別の減結合並列メッシュ化システムを示すフローチャートである。
【図１０】本発明の第１の局面及び第２の局面を実施する方法において使用するためのメッシュ・アセンブリ動作を示す図である。
【図１１】本発明の第１の局面及び第２の局面を実施する方法において使用するためのメッシュ・アセンブリ動作を示す図である。
【図１２】本発明の第１の局面及び第２の局面を実施する方法において使用するためのメッシュ・アセンブリ動作を示す図である。
【発明を実施するための形態】
【００６１】
図３は、本発明を実施するメッシュ化方法又はメッシュ化装置が、市販のＣＡＤエンジン、複数のｎメッシャ、及びソルバを備えるＣＡＤシステムにおいて利用することが可能である対象を示す。図示された実施例では、メッシャのうちの１つであるメッシャ１は、タイプＡの要素を生成し、メッシャのうちの別のものであるメッシャ２はタイプＢの要素を生成し、メッシャのうちの更なるものであるメッシャｎはタイプＣの要素を生成し、要素タイプＡ、Ｂ、及びＣは互いに異なる。例示に過ぎないが、要素タイプＡは六面体要素であり得、要素タイプＢはプリズム要素であり得、要素タイプＣは四面体要素であり得る。しかし、図示していないが、メッシャが各種要素を生成することは必須でない。例えば、メッシャは全て、四面体要素を生成し得るか、又は全て、六面体要素を生成し得る。
【実施例】
【００６２】
本発明の実施例は次いで、以下の３つのメッシュ化シナリオ毎に説明する。
【００６３】
１．  アセンブリがなく、ＣＡＤ分割がない単一のＣＡＤファイル
２．  ＣＡＤ分割がない、アセンブリＣＡＤファイル
３．  ＣＡＤ分割（２つのバージョン）を有するアセンブリＣＡＤファイル
（シナリオ１：  組立がなく、ＣＡＤ分割がない単一のＣＡＤファイル）
図４は、単一のＣＡＤソリッドを含むＣＡＤドメインについて３Ｄメッシュが生成される（すなわち、ＣＡＤドメインはセクションに分割されない）シナリオの場合のメッシュ化手順のフローを表す。単一のＣＡＤソリッドを有するＣＡＤドメインを表すＣＡＤファイルが、それぞれが、ｎ個の別々のＣＡＤメッシュ化プロセスを複数、行う複数のｎメッシャ（すなわち、メッシャ１、メッシャ２、…、メッシャｎ）への入力として与えられる。上述のように、別々のメッシュ化プロセスとは、別々のメッシュ化アルゴリズムを使用した同じメッシュ化コードのインスタンス又は別々のメッシュ化コードとして理解するものとする。例えば、限定列挙でないが、メッシャ１はＮｅｔｇｅｎメッシュ化コードを使用し得、メッシャ２は、Ｇｍｓｈと、２Ｄメッシュ化のためのＭｅｓｈＡｄａｐｔアルゴリズム及び３ｄメッシュ化のためのＦｒｏｎｔａｌアルゴリズムとを使用し得、メッシャ３は、Ｇｍｓｈと、２Ｄメッシュ化及び３Ｄメッシュ化のためのＦｒｏｎｔａｌアルゴリズムとを使用し得、メッシャ４は、Ｇｍｓｈと、２Ｄメッシュ化のためのＤｅｌａｕｎａｙ及び３Ｄメッシュ化のためのＭＭＧ３Ｄアルゴリズムとを使用し得る。好ましくは、更に、メッシャの少なくとも１つ（例えば、メッシャｎ）は、複数個における他のメッシャのうちの少なくとも１つによって生成されるものと別のタイプのメッシュ要素を生成するメッシュ化プロセスを使用する。以下では、前述のメッシュ化プロセスは、一次メッシュ化プロセスとして表す。一次メッシュ化プロセスによって生成されるメッシュは、少なくとも特定の場合において、他のメッシュ化プロセスによって生成されるタイプに優先されるタイプのものである。特定の一例では、限定列挙でないが、メッシャｎは六面体メッシュ要素を生成する一方、他のメッシャは四面体要素を生成する。限定でない別の例では、少なくとも１つのメッシャは一次メッシュ化プロセスを使用して六面体メッシュ要素を生成し得、少なくとも別のメッシャはプリズム要素（特定の場合には、四面体要素に優先し得る）、少なくとも更なるメッシャは四面体要素を生成し得る。
【００６４】
入力ＣＡＤファイルとともに、更なる情報が、メッシュ化パラメータ（例えば、最大要素サイズ）の形式でメッシャに与えられる。ＥＰ１２１７３４６９．３に記載されたメッシュ化システムと同様に、メッシュ化パラメータを、例えば、動的ランタイム情報、メッシュ化される対象のオブジェクトの幾何学的特性、及びデフォールト設定の関数として、自動的に設定することが可能である。すなわち、メッシュ化パラメータは、メッシュ化する対象のパート毎に別個に決定し、
（メッシャ構成ファイル：  これは、使用する対象の要素のタイプ（例えば、四面体又は六面体）及び、及びその次数（例えば、一次又は二次）のような、メッシュ化プロセスを通して変わらない状態に留まるメッシュ化パラメータを含む。
【００６５】
パート情報ファイル：  ＣＡＤ分解モジュールによって生成されるこのファイルは、合計体積又はバウンディング・ボックスのサイズのような、メッシュ化される対象のパートに関する幾何学的情報を提供する。
【００６６】
ランタイム情報：  これは、メッシュ化プロセス（例えば、（先行してメッシュ化が首尾よく行われなかったので）このパートがメッシュ化されているのがｉ回目であるということ））についてのライブ情報である。ランタイム情報は、例えば、別のパラメータの組（例えば、より小さな最大要素サイズ）を使用して、先行してメッシュ化することが可能でなかったパートのメッシュ化を再起動するために、メッシュ化障害から回復するために使用される。）
という３つのソースからの情報を使用して設定することが可能である。
【００６７】
図５に示すように、メッシャ毎の初期値が工程１で設定され、図４を参照して説明したようにメッシュ化動作が工程２で行われる。メッシュ化動作が首尾よく行われなかった場合、プロセスは工程１に戻り、工程１では、新たなパラメータ値（例えば、より小さな最大要素サイズ）が選ばれ、プロセスが続行する。
【００６８】
別々のメッシュ化プロセスを使用して複数のメッシュを生成し、所望のメッシュ品質を最も近い状態で充足する複数のメッシュのうちの１つを選ぶことにより、出力メッシュの品質を潜在的に増加させる一方でメッシュ化プロセスをよりロバストにする。１つのメッシュ化プロセスがメッシュを首尾よく作成することが可能でなくても、メッシュを別のメッシュ化プロセスによって首尾よく作成することが可能である限り、メッシュ化プロセスは首尾よく完了する。よって、複数のメッシャは、より高い品質のメッシュを提供する、よりロバストでない一部のメッシャを含み得る。上記プロセスは、よりロバストでないメッシャが首尾よく行われなかった場合、複数個における、よりロバストなメッシャによって提供される、より低い品質のメッシュに頼り得るからである。更に、ユーザは、ジョブに最善のメッシャを選ぶ時間及び労力を費やさなくてよい。
【００６９】
ｎメッシャを使用して同じＣＡＤドメインをメッシュ化し、結果のうちの１つのみを使用することにより、作業負荷がｎ倍増加し得るが、現代のマルチコア・コンピュータ上、及び前述のコンピュータのクラスタ上では、前述のスケーラブルな計算は比較的安価であり、改善された自動化、増加したロバスト性、及びより高い品質のメッシュを得ることができることによって十二分に正当化される。
【００７０】
上述のように、好ましくは、複数のメッシュ化プロセスは、第１のタイプのメッシュ要素を生成する少なくとも１つの一次メッシュ化プロセス、及び第１のタイプとは別の第２のタイプのメッシュ要素を生成する少なくとも１つの更なるメッシュ化プロセスを備える。一次メッシュ化プロセス（例えば、六面体又はプリズムのタイプの要素を生成するメッシュ化プロセス）が、予め設定された１つ又は複数のメッシュ化基準を充足するメッシュを生成し、そのメッシュの要素タイプが、メッシュ化されているドメインに適している場合、一次メッシュ化プロセスによって生成されるメッシュが、後続ＣＡＤ／ＣＡＥプロセスにおける使用のために選択される。すなわち、一次メッシュ化プロセスによって生成されるメッシュは、一次メッシュ化プロセスによって生成されていない、他のメッシュのうちの１つ又は複数が、更に近い状態でメッシュ化基準を充足する場合でも、後続ＣＡＤ／ＣＡＥプロセスにおいて使用される対象のメッシュとして他のものを上回るものとして選択される。よって、別のメッシュのタイプと別のタイプのものである要素でその少なくとも１つが構成される複数のメッシュを生成することにより、別のタイプの要素を有するメッシュを得る可能性が、全て、同じタイプの要素を生成する複数のメッシュ化プロセスを使用する上記メッシュ化方法のロバスト性を維持する一方で提供される。
【００７１】
（シナリオ２：  ＣＡＤ分割がない、組立ＣＡＤファイル）
このシナリオでは、複数のＣＡＤソリッド（パートして表される）を含むアセンブリ・タイプのＣＡＤモデルの３Ｄメッシュを作成する作業を説明する。パートはセクションに分割されない。
【００７２】
このシナリオについて説明されるプロセスはシナリオ１において説明し、図６において表したプロセスを利用する。組立タイプの入力ＣＡＤモデルがまず、工程１で分解される。分解プロセスに続き、パートの数に等しい数の多くのＣＡＤファイルが生成される。前述のファイルはそれぞれ、単一のソリッドを含むＣＡＤドメインを含む。分解に続き、図５において表されるプロセスがパート全てに適用される。すなわち、別々の複数のメッシュ化プロセスが各パートに対して並列に実行され、（使用され、首尾良く行われた場合に、一次メッシュ化プロセスによって生成されるものになる）最善のメッシュがパート毎に選ばれる。パート全てが、首尾よくメッシュ化された場合、アセンブリ・メッシュが、（工程４において）個々のパートのメッシュを結合することによって作成される。
【００７３】
増加したロバスト性、及び向上したメッシュ品質が、アセンブリ・モデルの個々のパート毎に最善のメッシュを、作成された複数のメッシュから選択することによって得られる。アセンブリ・モデルにおけるＣＡＤ形状のサイズ及び複雑度はパートによって大きく変わるが、この手法では、パート毎に、利用可能な最善のメッシュを使用することが自動的に可能である。
【００７４】
（シナリオ３Ａ：  ＣＡＤ分割（２つのバージョン）を有する組立ＣＡＤファイル）
このシナリオでは、複数のＣＡＤソリッドを含むアセンブリ・タイプのＣＡＤモデルの３Ｄメッシュを作成する作業を説明する。
【００７５】
まず、ＥＰ１２１７３４６９．３において説明したものと同様なやり方で、パートがセクションに分割される。例えば、これは、第１のセクションの体積が最大許容体積を超えた場合、パートは第１のセクションとみなされ、（ａ）セクションの慣性Ａの主軸を求める工程、（ｂ）セクションの重心を求める工程、（ｃ）その交差が、重心を通り、Ａに垂直である一面であり、その和が、セクションのバウンディング・ボックス全体である、第１のソリッド・ボックス及び第２のソリッド・ボックスを画定する工程、（ｄ）セクション及び第１のボックスのＣＡＤブール演算と、セクション及び第２のボックスのＣＡＤブール演算とを行って、それぞれの中間セクションを取得する工程、及び、（ｅ）工程（ｄ）において得られたセクションの体積が最大許容体積を超えた場合、最大許容体積をその体積が超えない最終セクションが得られるまで、工程（ｄ）において取得されたセクション毎に工程（ｂ）乃至（ｄ）を反復する工程が行われる第１の再帰的二分法を使用して行い得る。別の再帰的二分法は、（ａ）（ｉ）Ｘ方向における分割点Ｎｘの数、（ｉｉ）Ｙ方向における分割点Ｎｙの数、及び（ｉｉｉ）Ｚ方向における分割点Ｎｚの数を求める工程であって、Ｘ、Ｙ、及びＺ方向が相互に平行であり、  （Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）≧ＤＮである工程、（ｂ）（Ｎｘ＋１）個のセクションが得られるまでＸ方向においてパートを再帰的に二分する工程、（ｃ）工程（ｂ）で得られたセクション全てについて、（Ｎｘ＋１）（Ｎｙ＋１）個のセクションが得られるまでＹ方向においてセクションを再帰的に二分する工程、及び、（ｄ）工程（ｃ）で得られたセクション全てについて、（Ｎｘ＋１）（Ｎｙ＋１）（Ｎｚ＋１）個のセクションが得られるまでＺ方向においてセクションを再帰的に二分する工程を含む。
【００７６】
シナリオ２を参照して説明したものと同様に、分割に続いて、図４に表すプロセスをパート全てのセクション全てに適用する。すなわち、別々の複数のメッシュ化プロセスが、独立して各パートの各セクションに対して並列に実行され、最善のメッシュがセクション毎に選ばれる。
【００７７】
最も一般的なケースでもあるこのシナリオのメッシュ化方法は図７に表す、このプロセスは、図２に示す先行して提案された方法の単純化され、修正されたバージョンであるとみなし得る。図２の方法と異なり、図７の方法では、２Ｄメッシュ（図２の工程６）で始まる３Ｄメッシュ化は、図４及び図５を参照して説明した手順を含む。
【００７８】
図２を参照して説明した方法では、メッシュ化アルゴリズム及びメッシュ化分解能に対して制約を課す、ＥＰ１２１７３４６９．３に記載した手法により、メッシュ・セクションのマージ（ニット）が効率的になる。他の手法は、セクションのメッシュをパートのコヒーレントなメッシュにマージするために、特化されているが、より効率的でないメッシュ・ニット手法を使用する。マージ手法に応じて、これは、メッシュ化アルゴリズム及びメッシュ化分解能に対する制約を課すことも課さないこともあり得るが、この手法は一般に、より効率的でない。
【００７９】
しかし、本実施例では、次に説明するように、セクション・メッシュをマージする必要がない。このメッシュ・アセンブリはソルバ・レベルで処理される（すなわち、図２の工程４、５、及び７はもう必要でなく、メッシュ・アセンブリが、違ったふうに処理される）からである。
【００８０】
現代の構造解析及びＣＦＤソルバ（例えば、ＦｒｏｎｔＩＳＴＲ及びＯｖｅｒｔｕｒｅなど）は、単一のソリッドのパートを扱うように複数のセクションのそれぞれのメッシュを内部的に扱う機能を有する。前述の機能は、隣接セクション・メッシュ間のインタフェース上の要素のノードのリストをユーザが特定することを必要とする。ソルバは次いで、互いに「接着」された状態に保たれなければならないノードの内部マップを作成し、多点拘束（ＭＰＣ）法などの特別な数値手法を使用してこの制約を実施する。本発明のメッシュ・アセンブリ・モジュールは、互いにメッシュ・セクションをコヒーレントなパート・メッシュに直接、マージ（ニット）することに対する効率的な代替策として前述のソルバのこの機能を直接利用する。
【００８１】
前述のモジュールが、構造解析の場合にどのようにして機能するかの例を図８に示す。おもちゃの車を例として用いれば、おもちゃの車のモデルのパート全てが１つの組立メッシュに結合されるが、最大のパート（車体）のセクションは、１つのコヒーレントなメッシュにマージされない。マージされる代わりに、多点拘束条件が、隣接セクション間のインタフェースにおいて追加される。前述の条件はソルバによって解釈され、ソルバは、セクションを互いに接着された状態に保つことが分かる。
【００８２】
よって、本発明を実施する方法において、上記機能を有する現代のソルバを使用することにより、メッシャに対して制約を課さない一方で、効率的なメッシュ・アセンブリを得ることが可能になる。特に、まず、セクション又はパートをマージする必要性によってもたらされるデータ依存性が避けられ、並列性の増大が可能になる。第２に、最終メッシュは、より少ない要素を有し得る。同じ分解能におけるパートのセクション全てをメッシュ化する旨の要件が除外される。
【００８３】
（シナリオ３Ｂ：  ＣＡＤ分割（２つのバージョン）を有する組立ＣＡＤファイル）
この代替的なシナリオでは、複数のＣＡＤソリッドを含む組立タイプのＣＡＤモデルの３Ｄメッシュを作成する別のやり方を説明する。
【００８４】
まず、例えば、ＥＰ１２１７３４６９．３に説明されたものと同様なやり方で、パートがセクションに分割される。
【００８５】
シナリオ３Ａを参照して説明したものと同様に、分割に続いて、図４に表すプロセスをパート全てのセクション全てに適用する。すなわち、別々の複数のメッシュ化プロセスが、独立して各パートの各セクションに対して並列に実行され、最善のメッシュがセクション毎に選ばれる。しかし、ここで説明するケースでは、複数のメッシュ化プロセスのうちの１つは一次メッシュ化プロセス、すなわち、複数個における他のプロセスと別のタイプの要素を生成するメッシュ化プロセスであるので、メッシュ化されているパートを形成するよう選択されたメッシュの１つ又は複数は、別のタイプの要素を有し得る。この例は図１０に表し、３及び４とラベリングされたメッシュが、２つのセクションの六面体要素を使用して首尾よく作成されているが、１、２、５、及び６とラベリングされた最善の六面体メッシュが残りのセクションについて選択されている。
【００８６】
このシナリオのメッシュ化方法は図９に表しており、図７のものと同様であるが、例外として、セクション毎にメッシュが選択された後、同じメッシュ要素タイプを有する他の１つ又は複数のセクションとインタフェースを共有するセクションのメッシュがそのインタフェースでマージされ、別のメッシュ要素タイプを有する他の１つ又は複数のセクションとインタフェースを共有するセクションの何れかのメッシュについて、制約条件が、前述のセクション・メッシュ間の各インタフェース上の要素の選択された１つ又は複数のノードに割り当てられ、前述のセクションは、それらの間で、上記選択されたノードにおいて結合されているかのように当該セクションを扱うために上記制約条件を使用して、（シナリオ３Ａを参照して説明したものなどの）ＣＡＤ／ＣＡＥソルバにおいて、マージされていない状態で処理される。
【００８７】
この方法は、図１１に示し、図１１では、メッシュ１がメッシュ２とマージされ、メッシュ３がメッシュ４とマージされ、メッシュ５がメッシュ６とマージされている。マージの結果として、より大きな３つのメッシュ（１−２、３−４、及び５−６）が作成される。メッシュ３−４は、その２つの隣接メッシュ１−２及び５−６と別の要素タイプを有するので、マージにより、前述のメッシュに結合することは可能でない。したがって、前述の３つのメッシュの場合、装置は、（上述のような）多点（ＭＰＣ）法のような手法を使用してソルバの情報を自動的に作成して、独立メッシュを一ソリッドとして扱う。図１２は、上記例についてこの方法の結果を示す。
【００８８】
本発明の実施例は、１つ又は複数のプロセッサ上で実行するソフトウェア・モジュールとして、ハードウェアにおいて、又は前述の組み合わせで実現し得る。すなわち、マイクロプロセッサ又はディジタル信号プロセッサ（ＤＳＰ）は、実際には、上記機能の一部又は全部を実現するために使用し得るということを当業者は認識するであろう。
【００８９】
本発明は、更に、本明細書及び特許請求の範囲記載の方法の一部又は全部を行うために１つ又は複数のデバイス又は装置のプログラム（例えば、コンピュータのプログラム、及びコンピュータ・プログラム・プロダクト）として実施し得る。本発明を実施する前述のプログラムはコンピュータ読み取り可能な媒体上に記憶し得るか、又は、例えば、１つ又は複数の信号の形式を有し得る。前述の信号は、インターネット・ウェブサイトからダウンロード可能であるか、キャリア信号上で供給されるか、又は、何れかの他の形式を有するデータ信号であり得る。
【符号の説明】
【００９０】
１  ＣＡＤモデル
【図１】
2015007976.tif 000003
【図２】
2015007976.tif 000004
【図３】
2015007976.tif 000005
【図４】
2015007976.tif 000006
【図５】
2015007976.tif 000007
【図６】
2015007976.tif 000008
【図７】
2015007976.tif 000009
【図８】
2015007976.tif 000010
【図９】
2015007976.tif 000011
【図１０】
2015007976.tif 000012
【図１１】
2015007976.tif 000013
【図１２】
2015007976.tif 000014