(57)【要約】【課題】コンピュータベースのシミュレーションにおいて有限要素メッシュを修復するための手動手順に依存する既存の方法とは異なり、実施形態は実世界のオブジェクトのシミュレーションに使用する有限要素メッシュを自動的に修復する。【解決手段】そのような一実施形態は、有限要素メッシュ内の不適合メッシュ要素を識別し、識別された不適合メッシュ要素を含む有限要素メッシュからメッシュパッチを抽出することで開始する。続いて、抽出されたメッシュパッチに関するインバリアントパッチ記述が生成され、生成されたインバリアントパッチ記述に対応する修復解を所定の修復解を記憶するデータベースから取得する。次に、取得された修復解を用いて有限要素メッシュ内のメッシュパッチを修復する。【選択図】図１
2019106187.tif 000002
【特許請求の範囲】
【請求項１】
有限要素メッシュによって表される実世界の物理的オブジェクトのシミュレーションにおいて有限要素メッシュを修復するコンピュータ実装方法であって、
実世界の物理的オブジェクトを表す有限要素メッシュ内の不適合メッシュ要素を識別するステップと、
前記識別された不適合メッシュ要素を含む前記有限要素メッシュ内のメッシュパッチを抽出するステップと、
前記抽出されたメッシュパッチに関するインバリアントパッチ記述を生成するステップと、
所定の修復解を記憶するデータベースと通信し、前記生成されたインバリアントパッチ記述に対応する修復解を前記データベースから取得するステップと、
前記データベースからの前記取得された修復解を用いて前記有限要素メッシュ内の前記メッシュパッチを修復するステップであって、当該修復の結果により修復された有限要素メッシュを得るステップと
を含むことを特徴とする方法。
【請求項２】
前記不適合メッシュ要素は、有限要素シミュレーションプリプロセッサによって識別されることを特徴とする請求項１に記載の方法。
【請求項３】
前記不適合メッシュ要素は、前記不適合メッシュ要素の角度、スキュー、アスペクト比、および幾何学的特性のうちの少なくとも１つに基づいて識別されることを特徴とする請求項１に記載の方法。
【請求項４】
前記抽出されたメッシュパッチは、前記不適合メッシュ要素および前記不適合メッシュ要素に隣接する前記有限要素メッシュ内の各メッシュ要素を含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記インバリアントパッチ記述は、前記抽出されたメッシュパッチの周囲に沿ったエッジのエッジタイプに基づくことを特徴とする請求項１に記載の方法。
【請求項６】
前記修復された有限要素メッシュを有限要素シミュレーションソルバに提供し、前記有限要素シミュレーションソルバは、実世界のオブジェクトの有限要素シミュレーションにおいて前記修復された有限要素メッシュを応答可能に使用するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記有限要素メッシュ内の前記メッシュパッチを修復するステップは、前記メッシュパッチ内のノード位置を最適化するステップを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記データベースが、前記生成されたインバリアントパッチ記述に対応する修復解を有していない場合において、前記方法は、
前記抽出されたメッシュパッチの表現または表示を訂正のためにユーザに提供するステップと、
前記抽出されたメッシュパッチに関する修復解を前記ユーザから受信するステップと、
前記受信した修復解を、前記生成されたインバリアントパッチ記述と共に前記データベース内に格納するステップと
を含むことを特徴とする請求項１に記載の方法。
【請求項９】
有限要素メッシュによって表される実世界の物理的オブジェクトのシミュレーションにおいて有限要素メッシュを修復するためのシステムであって、
プロセッサと、
内部にコンピュータコード命令が記憶されているメモリとを含み、前記プロセッサおよび前記コンピュータコード命令を有する前記メモリは、前記システムに、
実世界の物理的オブジェクトを表す有限要素メッシュ内の不適合メッシュ要素を識別させ、
前記識別された不適合メッシュ要素を含む前記有限要素メッシュからメッシュパッチを抽出させ、
前記抽出されたメッシュパッチに関するインバリアントパッチ記述を生成させ、
所定の修復解を記憶するデータベースと通信させ、前記データベースから前記生成されたインバリアントパッチ記述に対応する修復解を取得させ、
前記データベースからの前記取得された修復解を使用して前記有限要素メッシュ内の前記メッシュパッチを修復させ、当該修復の結果により修復された有限要素メッシュが得られる、
ように構成されたことを特徴とするシステム。
【請求項１０】
前記不適合メッシュ要素は、有限要素シミュレーションプリプロセッサによって識別されることを特徴とする請求項９に記載のシステム。
【請求項１１】
前記不適合メッシュ要素を識別する際において、前記プロセッサおよび前記コンピュータコード命令を有する前記メモリはさらに、前記システムに、前記不適合メッシュ要素を前記不適合メッシュ要素の角度、スキュー、アスペクト比、および幾何学的特性のうちの少なくとも１つに基づいて識別させるように構成されたことを特徴とする請求項９に記載のシステム。
【請求項１２】
前記抽出されたメッシュパッチは、前記不適合メッシュ要素および前記不適合メッシュ要素に隣接する前記有限要素メッシュ内の各メッシュ要素を含むことを特徴とする請求項９に記載のシステム。
【請求項１３】
前記インバリアントパッチ記述を生成する際において、前記プロセッサおよび前記コンピュータコード命令を有する前記メモリはさらに、前記システムに、前記インバリアント記述を前記抽出されたメッシュパッチの周囲に沿ったエッジのエッジタイプに基づいて生成させるように構成されたことを特徴とする請求項９に記載のシステム。
【請求項１４】
前記プロセッサおよび前記コンピュータコード命令を有する前記メモリはさらに、前記システムに、前記修復された有限要素メッシュを有限要素シミュレーションソルバに提供させるように構成され、前記有限要素シミュレーションソルバは、実世界のオブジェクトの有限要素シミュレーションにおいて前記修復された有限要素メッシュを応答可能に使用することを特徴とする請求項９に記載のシステム。
【請求項１５】
前記有限要素メッシュ内の前記メッシュパッチを修復する際に、前記プロセッサおよび前記コンピュータコード命令を有する前記メモリはさらに、前記システムに、前記メッシュパッチ内のノード位置を最適化させるように構成されたことを特徴とする請求項９に記載のシステム。
【請求項１６】
前記プロセッサおよび前記コンピュータコード命令を有する前記メモリはさらに、前記システムに、前記データベースが、前記生成されたインバリアントパッチ記述に対応する修復解を有していない場合において、
前記抽出されたメッシュパッチの表現または表示を訂正のためにユーザに提供させ、
前記抽出されたメッシュパッチに関する修復解を前記ユーザから受信させ、
前記受信した修復解を、前記生成されたインバリアントパッチ記述と共に前記データベース内に格納させる
ように構成されたことを特徴とする請求項９に記載のシステム。
【請求項１７】
シミュレーションにおいて有限要素メッシュを修復するための非一過性のコンピュータプログラム製品であって、前記コンピュータプログラム製品は、ネットワークを介して１つまたは複数のクライアントと通信するサーバによって実行されまた、
コンピュータ可読媒体を含み、前記コンピュータ可読媒体は、プロセッサによって実行されると、前記プロセッサに、
実世界の物理的オブジェクトを表す有限要素メッシュ内の不適合メッシュ要素を識別させ、
前記識別された不適合メッシュ要素を含む前記有限要素メッシュからメッシュパッチを抽出させ、
前記抽出されたメッシュパッチに関するインバリアントパッチ記述を生成させ、
所定の修復解を記憶するデータベースと通信させ、前記データベースから前記生成されたインバリアントパッチ記述に対応する修復解を取得させ、
前記データベースからの前記取得された修復解を使用して前記有限要素メッシュ内の前記メッシュパッチを修復させるプログラム命令を含み、当該修復の結果により修復された有限要素メッシュが得られる、コンピュータプログラム製品。
【請求項１８】
前記不適合メッシュ要素は、有限要素シミュレーションプリプロセッサによって識別される、請求項１７に記載のコンピュータプログラム製品。
【請求項１９】
前記命令は、実行されると、前記プロセッサに、前記不適合メッシュ要素を前記不適合メッシュ要素の角度、スキュー、アスペクト比、および幾何学的特性のうちの少なくとも１つに基づいて識別させる、請求項１７に記載のコンピュータプログラム製品。
【請求項２０】
前記抽出されたメッシュパッチは、前記不適合メッシュ要素および前記不適合メッシュ要素に隣接する前記有限要素メッシュ内の各メッシュ要素を含む、請求項１７に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【背景技術】
【０００１】
部品または部品のアセンブリの設計およびシミュレーションのための、多数の既存の製品およびシミュレーションシステムが市場で提供されている。そのようなシステムは、典型的には、コンピュータ支援設計（ＣＡＤ）および／またはコンピュータ支援技術（ＣＡＥ）プログラムを使用する。これらのシステムにより、ユーザはオブジェクトまたはオブジェクトのアセンブリの複雑な３次元モデルを構築し、操作し、シミュレートすることができる。これらのＣＡＤシステムおよびＣＡＥシステムは、エッジまたはラインを使用して、場合によっては面を使用して、モデル化されたオブジェクトの表現を提供する。線、エッジ、面、または多角形は、様々な方法、例えば非一様有理Ｂスプライン（ＮＵＲＢＳ）で表現してよい。
【０００２】
ＣＡＤシステムは、主にジオメトリの仕様である、モデル化されたオブジェクトの部品または部品のアセンブリを管理する。特に、ＣＡＤファイルにはジオメトリが生成される仕様が含まれている。ジオメトリから、表現が生成される。仕様、ジオメトリ、および表現は、単一のＣＡＤファイルまたは複数のＣＡＤファイルに格納してよい。ＣＡＤシステムは、モデリングされたオブジェクトをデザイナーに示すグラフィックツールを含み、これらのツールは複雑なオブジェクトの表示専用である。例えば、アセンブリには何千もの部品が含まれていることもある。ＣＡＤシステムは、電子ファイルに格納されたオブジェクトのモデルを管理するために使用されることができる。
【０００３】
ＣＡＤシステムとＣＡＥシステムの出現は、オブジェクトの広範な表現可能性を可能にする。そのような表現の１つは、有限要素解析（ＦＥＡ）モデルである。ＦＥＡモデル、有限要素モデル（ＦＥＭ）、有限要素メッシュおよびメッシュという用語は、本明細書では区別なく使用される。ＦＥＭは、典型的にはＣＡＤモデルを表し、したがって１つまたは複数の部品またはアセンブリ全体を表してよい。ＦＥＭは、メッシュと呼ばれるグリッドを作るために相互接続されたノードと呼ばれる点のシステムである。ＦＥＭは、ＦＥＭが基礎となるオブジェクトまたはそれが表す１つのオブジェクトまたは複数のオブジェクトの特性を有するようにプログラムしてよい。当該分野で知られているＦＥＭまたは他のそのようなオブジェクト表現がそのような方法でプログラムされている場合、それは、自身が表すオブジェクトのシミュレーションを実行するために使用してよい。例えば、ＦＥＭは、車両の内部キャビティ、構造を囲む音響流体、および任意の数の実世界のオブジェクトと物理的システムを表すために使用されてもよい。さらに、ＦＥＭと共にＣＡＤおよびＣＡＥシステムを利用して、エンジニアリングシステムをシミュレートすることができる。例えば、ＣＡＥシステムは、車両のノイズや振動をシミュレートするために使用することが可能である。
【発明の概要】
【０００４】
本発明の実施形態は、一般に、コンピュータプログラムおよびシステムの分野に関し、特に製品設計およびシミュレーションの分野に関する。本発明の実施形態は、ビデオゲーム、エンジニアリングシステムの設計および製作、共同意思決定、および映画などの娯楽に使用してよい。
【０００５】
より具体的には、実施形態は、実世界の物理的物体をシミュレートするための改良された方法およびシステムを提供する。上述のように、シミュレートされるオブジェクトを表す有限要素メッシュを使用してシミュレーションが実行される。現代のメッシュは複雑であり、したがって、メッシュは、典型的には、ＣＡＤモデル、すなわちソリッドモデルに基づいて自動的に生成される。これらの生成されたメッシュは、通常、エラー、例えば特定（ｓｐｅｃｉｆｉｃ）品質メトリックに準拠しないメッシュ要素を含む。たとえば、自動的に作成された（ロー）メッシュは、ヒューリスティックルールを使用して、メッシュノードの位置（ｘ、ｙ、ｚ）最適化と組み合わせてメッシュトポロジーを作成し、特定アプリケーション要件を満たすことがよくある。これらのヒューリスティックベースのエンドユーザのルールは競合することがあり、アプリケーションに適した自動メッシュが常に生成されるわけではない。
【０００６】
Ｃａｍｐｅｎ他の「Ａ  Ｐｒａｃｔｉｃａｌ  Ｇｕｉｄｅ  ｔｏ  Ｐｏｌｙｇｏｎ  Ｍｅｓｈ  Ｒｅｐａｉｒｉｎｇ」、Ｅｕｒｏｇｒａｐｈｉｃｓ、２０１２年、に記載されているようなこれらのエラーを修正する方法が存在するが、これらの既存の方法は、エキスパートユーザーによる手動介入を要する。この手動介入は複雑であり、シミュレーションを実行するのにかかる時間が大幅に増加する。本発明の実施形態は、これらの課題を克服し、有限要素メッシュによって表される実世界の物理的オブジェクトのシミュレーションにおいて、有限要素メッシュを自動的に修復する方法およびシステムを提供する。実施形態は、既存の方法が手動／ユーザアクションを介してのみ修復可能な有限要素メッシュを自動的に修復するために以前にはなかったルールを使用する。
【０００７】
このような一例示的な実施形態が、有限要素メッシュによって表される実世界の物理的オブジェクトのシミュレーションにおいて有限要素メッシュを修復するコンピュータ実装のシミュレーション方法である。このような実施形態は、実世界の物理的オブジェクトを表す有限要素メッシュ内の不適合メッシュ要素を識別し、識別された不適合メッシュ要素を含む有限要素メッシュからメッシュパッチを抽出することで開始する。続いて、抽出されたメッシュパッチに関するインバリアントパッチ記述（ｉｎｖａｒｉａｎｔ  ｐａｔｃｈ  ｄｅｓｃｒｉｐｔｉｏｎ）が生成され、生成されたインバリアントパッチ記述に対応する修復解がデータベースから取得される。次に、データベースからの取得された修復解を用いて有限要素メッシュ内のメッシュパッチが修復され、この結果、修復された有限要素メッシュが得られる。
【０００８】
実施形態において、不適合メッシュ要素は、許容される幾何学的形状、例えばアスペクト比、スキュー、角度、コーナ角などに関する特定の規則に基づいて、有限要素シミュレーションプリプロセッサによって識別される。別の実施形態によると、不適合メッシュ要素は、記不適合メッシュ要素の角度に基づいて識別される。さらに別の実施形態によると、抽出されたメッシュパッチは、不適合メッシュ要素および不適合メッシュ要素に隣接する有限要素メッシュ内の各メッシュ要素を含む。他の有限要素シミュレーションプリプロセッサおよび／またはソルバが適している。
【０００９】
実施形態によると、インバリアントパッチ記述は、抽出されたメッシュパッチの周囲に沿ったエッジのエッジタイプに基づいている。別の実施形態によると、メッシュを修復するステップは、データベース内の取得された修復解を使用するだけではなく、メッシュパッチのノードの位置を最適化するステップを含む。本方法の代替の実施形態は、生成されたインバリアントパッチ記述に対応する所定の修復解が利用できない場合でもメッシュを修復する機能をさらに含む。そのような実施形態では、メッシュを修復するために、（１）抽出されたメッシュパッチの表現または表示（ｉｎｄｉｃａｔｉｏｎ）がユーザに提供され、（２）抽出されたメッシュパッチに関する修復解がユーザから受信され、（３）受信した修復解が、生成されたインバリアントパッチ記述と共にデータベースに格納される。取得され記憶された修復解は、次に、メッシュパッチを修復するために使用される。さらに、格納された修復解は、同様の欠陥を修復するために将来の実装において採用されてもよい。
【００１０】
さらに、実施形態は、有限要素メッシュが表す実世界のオブジェクトを最適化してシミュレートする機能を提供する。このような一実施形態では、修復された有限要素メッシュが有限要素シミュレーションソルバに提供され、有限要素シミュレーションソルバは、実世界のオブジェクトの有限要素シミュレーションにおいて修復された有限要素メッシュを使用する。そのようなシミュレーションは、有限要素モデルが表す実世界のオブジェクトの設計を最適化することを含んでよい。またさらに、実施形態は、修復された有限要素メッシュを使用して実行されたシミュレーションの結果に基づいて、基礎となる実世界のオブジェクトを作成するように製造装置を制御してよい。このような実施形態では、シミュレーションは設計変更を識別し、これらの変更が識別された後、製造装置は、これらの設計変更を反映する実世界のオブジェクト自体を作成するように制御してよい。
【００１１】
本発明の別の実施形態は、有限要素メッシュによって表される実世界の物理的オブジェクトのシミュレーションにおいて有限要素メッシュを修復するためのシステムを対象としている。本システムは、プロセッサと、内部にコンピュータコード命令が記憶されているメモリとを含み、本命令はシステムに、本明細書で説明される任意の実施形態による有限要素モデルを修復させる。本システムの実施形態において、プロセッサと、内部にコンピュータコード命令が記憶されているメモリは、システムに有限要素メッシュ内の不適合メッシュ要素を識別させ、識別された不適合メッシュ要素を含む有限要素メッシュからメッシュパッチを抽出させる。次に、システムは、抽出されたメッシュパッチに関するインバリアントパッチ記述を生成する。システムは、所定の修復解を記憶するデータベースと通信して生成されたインバリアントパッチ記述に対応する修復解を取得するように構成される。データベースから取得された修復解は次に、有限要素メッシュを修復するためにシステムにより使用される。
【００１２】
本システムの例示的な実施形態において、不適合メッシュ要素は、有限要素シミュレーションプリプロセッサによって識別される。本システムのさらに別の実施形態によると、不適合メッシュ要素を識別する際に、プロセッサおよびコンピュータコード命令を有するメモリはさらに、システムに、不適合メッシュ要素を不適合メッシュ要素の角度に基づいて識別させるように構成される。さらに別の実施形態において、抽出されたメッシュパッチは、不適合メッシュ要素および当該不適合メッシュ要素に隣接する有限要素メッシュ内の各メッシュ要素を含む。
【００１３】
本システムの別の実施形態は、インバリアント記述（ｉｎｖａｒｉａｎｔ  ｄｅｓｃｒｉｐｔｉｏｎ）を前記抽出されたメッシュパッチの周囲に沿ったエッジのエッジタイプに基づいて生成するように構成される。別の実施形態によると、有限要素メッシュ内の前記メッシュパッチを修復する際に、プロセッサおよびコンピュータコード命令を有するメモリはさらに、システムに、メッシュパッチのノード位置を最適化させるように構成される。システムの実施形態はまた、修復解が存在しないときに有限要素メッシュを修復するように構成される。そのような一実施形態では、システムは、（ｉ）抽出されたメッシュパッチの表現または表示を訂正のためにユーザに提供し、（ｉｉ）抽出されたメッシュパッチに関する修復解をユーザから受信し、（ｉｉｉ）受信した修復解を、前記生成されたインバリアントパッチ記述と共に前記データベースに格納し、（ｉｖ）格納された修復解を使用してメッシュを修復する。システムのさらに別の実施形態は、修復された有限要素メッシュを使用してシミュレーションを実装するように構成される。このような実施形態では、システムは、修復された有限要素メッシュを有限要素シミュレーションソルバに提供するように構成され、有限要素シミュレーションソルバは、実世界のオブジェクトの有限要素シミュレーションにおいて修復された有限要素メッシュを応答可能に使用する。
【００１４】
本発明の別の実施形態は、有限要素メッシュを自動的に修復するクラウドコンピューティング実装を対象とする。このような実施形態は、シミュレーションにおいて有限要素メッシュを修復するための非一過性のコンピュータプログラム製品であって、コンピュータプログラム製品は、コンピュータ可読媒体を含み、コンピュータ可読媒体は、プロセッサによって実行されると、プロセッサに、有限要素メッシュ内の不適合メッシュ要素を識別させ、識別された不適合メッシュ要素を含む有限要素メッシュからメッシュパッチを抽出させる。さらに、実行されたプログラム命令は、プロセッサに（ｉ）抽出されたメッシュパッチに関するインバリアントパッチ記述を生成させ、（ｉｉ）データベースと通信させて生成されたインバリアントパッチ記述に対応する修復解を取得させ、（ｉｉｉ）取得された修復解を使用して有限要素メッシュ内のメッシュパッチを修復させる。
【図面の簡単な説明】
【００１５】
上記は、添付図面に示されている例示的な実施形態の以下のより詳細な説明から明らかになるであろう。同様の参照符号は異なる図を通して同様の部分を指す。図面は必ずしも縮尺通りではなく、むしろ実施例の説明に重点を置いている。
【００１６】
【図１】図１は、実施形態による有限要素メッシュを修復する方法のフローチャートである。
【図２】図２は、実施形態における有限要素メッシュを修復するためのワークフローを示す概略図である。
【図３】図３は、有限要素メッシュのパッチに関するインバリアント記述を決定する方法のステップを示す図である。
【図４】図４は、実施形態で使用され、インバリアント記述および対応する（関連する）解を含む記憶装置内のエントリを有する例示的なデータ構造を示す。
【図５】図５は、実施形態による修復された有限要素パッチを示す図である。
【図６】図６は、図３に示された方法を検証するインバリアント記述を生成する方法を示す。
【図７】図７は、実施形態による有限要素メッシュを修復するためのコンピュータシステムの簡略ブロック図である。
【図８】図８は、本発明の実施形態を実施してよいコンピュータネットワーク環境の簡略図である。
【発明を実施するための形態】
【００１７】
例示的な実施形態の説明は以下の通りである。
【００１８】
本明細書で引用した全ての特許、公開された出願および引用文献の教示は、引用することによりその全体が盛り込まれているものとする。
【００１９】
デジタル３次元（３Ｄ）モデル、例えば有限要素モデルおよびメッシュは、多くの産業および科学分野において重要な要素である。数多くの領域では、ポリゴンメッシュはモデル表現、したがって実世界の物理的オブジェクトの表現、のための事実上の標準となった。実際には、メッシュには、メッシュを特定のアプリケーションの要件に対応させない多くの欠陥や欠点があることが多い。したがって、互換性を達成するためにそのような欠陥を修復することは、有限要素メッシュに依存する学術的および産業的アプリケーションの両方において重要な課題である。
【００２０】
しかしながら、メッシュ修復問題は厄介である、すなわち、唯一の解は存在せず、解は、メッシュ化されるオブジェクトに関する小さな変化で劇的に変化してよい。メッシュ修復の問題には、固有の位相幾何学的な曖昧さがあり、ドメインの知識、経験則、対話的なユーザ入力が必要である。さらに、前述の問題はすべてアプリケーション特有である。したがって、自動プロセスによって作成されたローメッシュモデルを特定のアプリケーション要件に適合させるＣａｍｐｅｎ他の「Ａ  Ｐｒａｃｔｉｃａｌ  Ｇｕｉｄｅ  ｔｏ  Ｐｏｌｙｇｏｎ  Ｍｅｓｈ  Ｒｅｐａｉｒｉｎｇ」に記載されているようなこれらのエラーを修正する既存の方法を使用してメッシュを修復するには、メッシュ修復および各特別のアプリケーションおよび業界両方の本質的な知識が必要である。メッシュを修復すると他のエラーが発生する可能性があるため、メッシュ修復の問題も困難である。したがって、修復解は、アプリケーションの要件を満たす解を提供するために適切なトレードオフを行うためにアプリケーションコンテキストを検討し、修復されたメッシュに関する保証を提供する必要がある。
【００２１】
さらに、メッシュには様々な欠陥が含まれることが多いが、有限要素シミュレーションソルバなどの多くのアプリケーションは、欠陥や欠点がない理想的なメッシュを想定している。しかし、通常、自動的に生成されるメッシュ要素の１％は、アプリケーション固有の要件に準拠していない。これにより、ユーザは、高度な労働集約型のヒューマンマシンプロセスである既存のメッシュ修復プロセスに頼ることになり、全体的なシミュレーション処理時間の３分の１を要する可能性がありる。この手動ステップが各設計インスタンスに必要であるという事実は、自動的に作成されたシミュレーション設計ジオメトリバリアントの研究を制限する。
【００２２】
本発明の実施形態は、これらの問題を解決し、有限要素メッシュを自動的に修復する機能性を提供する。そのような一実施形態では、特別の用途（例えば、ホワイトボディ）の個々のメッシュ修復解は、位相幾何学的に類似するメッシュを修復するためのノード位置最適化を通して特定の条件に対して最適化される不変のトポロジー解に変換される。実施形態は、この機能を提供するために解のライブラリを活用する。例えば、特定の実施形態では、エンドユーザは、将来の修理に自動的に適用されるインバリアントメッシュ修復解のプールを構築することができる。したがって、必要とされる手動修復の回数は、実施形態が利用されると、時間の経過に伴って減少する。
【００２３】
図１は、実施形態による有限要素メッシュを修復するための方法１００のフローチャートである。方法１００は、コンピュータ実装され、当技術分野で知られているように、ハードウェアとソフトウェアの任意の組み合わせを介して実行してよい。例えば、方法１００は、プロセッサに方法１００を実施させるコンピュータコード命令を格納するメモリに関連する１つまたは複数のプロセッサを介して実装してよい。
【００２４】
方法１００は、実世界の物理的オブジェクトを表す有限要素メッシュ内の不適合メッシュ要素を識別するステップ１０１で開始する。実施形態では、不適合メッシュ要素は、とりわけ、業界、アプリケーション、またはソルバ（ｓｏｌｖｅｒ）要件に適合しない有限要素メッシュの任意の構成要素である。例えば、非準拠のメッシュ要素は、ノード、エッジ、およびノードとエッジの任意の組み合わせとしてもよい。実施形態によれば、不適合メッシュ要素は、メッシュが使用されている有限要素シミュレーションソルバの要件に関して非準拠である。例えば、ソルバは、メッシュが準拠すべき特別の要件、例えばアングル、位置、トリあるいはクォッド面コーナ角、アスペクト比、スキュー、サイズ、トポロジー、およびジオメトリを持つ場合があり、所与のメッシュ要素が当該要件に適合しない場合、メッシュ要素は不適合とみなされる。このような実施形態では、不適合メッシュ要素は、有限要素シミュレーションソルバによって自動的に識別することができる。別の例示的な実施形態では、コンプライアンスの基準は、ユーザまたはアプリケーション要件の製品であってもよい。例えば、特定のアプリケーションは、要素が特定の角度またはスキューにあることが必要な場合があり、指定されたメッシュ要素がこれらの境界内にない場合、不適合とみなされる。さらに、非コンプライアンスは、その内容は参照により本明細書に盛り込まれている、Ｋｎｕｐｐの「Ａｌｇｅｂｒａｉｃ  ｍｅｓｈ  ｑｕａｌｉｔｙ  ｍｅｔｒｉｃｓ  ｆｏｒ  ｕｎｓｔｒｕｃｔｕｒｅｄ  ｉｎｉｔｉａｌ  ｍｅｓｈｅｓ］、Ｆｉｎｉｔｅ  Ｅｌｅｍｅｎｔｓ  ｉｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｄｅｓｉｇｎ，第３９巻、第３号、２００３年１月、に記載される通りに決定されてよい。Ｋｎｕｐｐでは、三角形、四面体形、四辺形、および六面体の有限要素について、サイズ、形状、スキューおよび複合メッシュ品質メトリックの明示的な公式が与えられており、公式は、本質的な特性が効果的なメトリクスの策定を導く役割を果たす、抽象的に定義されたメトリクスの例である。
【００２５】
続いて、ステップ１０２において、ステップ１０１で識別された不適合メッシュ要素を含む有限要素メッシュからメッシュパッチが抽出される。実施形態によれば、不適合メッシュ要素を修正できるように、メッシュパッチが抽出される。実施形態では、メッシュパッチを抽出するステップは、有限要素メッシュからメッシュパッチを除去するステップを含む。別の例示的な実施形態では、メッシュパッチのノードの円周のコピーが作成され、最終的にこの円周内で修復が行われ、修復され抽出されたパッチが元のパッチを置き換えるか、または元のパッチが修正されて修復されたパッチを反映する。例示的な実施形態では、抽出されたメッシュパッチは、不適合メッシュ要素と、ステップ１０１で識別された不適合メッシュ要素に隣接する、例えば隣りにあるまたは接触している有限要素メッシュ内の各メッシュ要素を含む。さらに、実施形態は、様々な方法で抽出されるメッシュパッチを識別してよい。例えば、１つの例示的な実施形態では、欠陥メッシュ要素からの共有頂点を有するメッシュの要素がメッシュパッチを含む。別の実施形態では、メッシュパッチは、欠陥のあるメッシュ要素とノードを共有する要素を含む。別の実施形態では、メッシュパッチを「抽出する」ことは、メッシュパッチを再作成して格納することを含み、したがって、修復が、必要な変更が識別された後に有限要素メッシュ内のメッシュパッチに複製されることが可能である。さらに別の実施形態では、ステップ１０２でメッシュパッチを「抽出する」ことは、メッシュパッチを単に識別することを含むので、ステップ１０３において、以下に説明するように、メッシュパッチに関するインバリアント記述が生成することができる。
【００２６】
次に、ステップ１０３において、抽出されたメッシュパッチに関するインバリアントパッチ記述が生成される。実施形態によれば、ステップ１０３において、抽出されたメッシュパッチのインバリアント記述が、各固有のパッチが対応する固有の記述を有するように他のパッチに適用されることができる１つまたは複数のルールに基づいて生成される。しかし、実施形態によれば、ステップ１０３で使用されるインバリアント記述を生成するためのルールは、サイズおよび回転などの、ある動作に対してインバリアントである記述を生成する。したがって、２つのメッシュパッチが同一であるがサイズは同一ではない場合、これらのメッシュパッチは、インバリアント記述を生成する目的で「ユニーク」ではなく、したがって、それぞれが同じインバリアント記述を有することになる。
【００２７】
方法１００の実施形態では、インバリアントパッチ記述は、任意の方法論を使用して生成される。例えば、実施形態では、ステップ１０３で生成されるインバリアントパッチ記述は、抽出されたメッシュパッチの周囲に沿ったエッジのエッジタイプに基づく。さらに、別の実施形態では、インバリアントパッチ記述は、図３に示す方法３３０を使用して生成され、本明細書で以下に説明される。
【００２８】
ステップ１０４では、方法１００が継続され、ステップ１０３で生成されたインバリアントパッチ記述は、生成されたインバリアントパッチ記述に対応する修復解を得るために、所定の修復解を記憶するデータベースと通信することによって活用される。そのような実施形態では、修復解の本体、すなわちメッシュパッチを修復する有限要素メッシュパッチへの変更がデータベースに格納される。これらの既存の修復解は、ユーザおよびサービスプロバイダによって保存された、事前に識別された解である可能性がある。実施形態によれば、各修復解は、ステップ１０３と同じ方法を使用して生成された対応するインバリアント記述とともにデータベースに格納される。ステップ１０４でデータベースに記述がある場合、ステップ１０４で検索されたインバリアント記述がステップ１０３で使用されたのと同じ方法を使用して生成されるので、抽出されたメッシュパッチを修復するためにデータベース内で見つかった記述に対応する修復解を使用することができる。簡単に説明すると、実施形態では、ステップ１０４において、データベースが検索され、ステップ１０３で生成されたインバリアント記述におそらく正確に一致するインバリアント記述を識別し、一致するインバリアント記述とともに格納された修復解は、次に、取得される。
【００２９】
方法１００はまた、ステップ１０３で生成されたインバリアントパッチ記述に対応するインバリアントパッチ記述がステップ１０４で見つからない場合、すなわちデータベースが生成されたインバリアントパッチに対応する修復解を持たない場合にメッシュを修復する機能を含んでよい。このような機能を提供するために、データベースに修復解が見つからない場合、抽出されたメッシュパッチの表示または指示は、修正のためにユーザに提供される。ユーザは、方法１００を実施するコンピューティングデバイスで取得された抽出されたメッシュパッチの解を提供する。この取得された解は、有限要素メッシュを修正するために本明細書で後述するようにステップ１０５で使用される。さらに、取得された解は、ステップ１０３で生成されたインバリアント記述と共にデータベースに格納されることもできる。このようにして、本方法が実施されると解の本体が増加し、同じインバリアント記述を持つ不適合のメッシュ要素を有する有限要素メッシュを自動的に修復するために、これらの生成された解は将来使用の目的で格納されることができる。
【００３０】
別の実施形態では、ステップ１０４で修復解が見つからなければ、方法はステップ１０２に戻り、不適合メッシュ要素を含む異なるメッシュパッチを抽出する。このような実施形態では、例えば、メッシュパッチが初期段階で欠陥メッシュ要素に隣接する頂点を有するメッシュ要素を含む場合、この新しい試行において、メッシュパッチは、欠陥メッシュ要素とノードを共有するすべてのメッシュ要素を含むように拡張される。続いて、ステップ１０３において、この新しいメッシュパッチに対して新しいインバリアントパッチ記述が生成され、ステップ１０４においてデータベースが再び検索されて、新しいメッシュパッチに対して修復解が存在するかどうかが判定される。メッシュパッチを変更することにより、インバリアント記述が変化し、したがって、ステップ１０４において、メッシュ要素の修復解を再度見つけるために検索が変更される。
【００３１】
方法１００はステップ１０５に進み、有限要素メッシュ内のメッシュパッチがステップ１０４で取得された修復解を用いて修復される。ステップ１０５でメッシュを修復すると修復された有限要素メッシュが得られる。ステップ１０５でメッシュパッチを修復することは、ステップ１０１で取得された修復解に基づいてメッシュの要素、例えばエッジおよびノードを修正することを含んでよい。このような操作は、メッシュ内にある要素のノードおよび角度の数、位置、および幾何学的位置を変更することを含んでよい。さらに、ステップ１０５でメッシュを修復することはまた、メッシュパッチ内のノード位置を最適化することも含んでよい。ノード最適化は、トポロジー（ノードのネットワーク）を維持してよいが、個々のノードの（ｘ、ｙ、ｚ）位置を変更してよい。実施形態では、ノード最適化は、非線形最適化方法を使用して実行される。
【００３２】
上述したように、ステップ１０５で実行されるようにメッシュを修復することは、新しいエラーを導入することがある。したがって、実施形態では、方法１００は、エラーがなくなるまで繰り返されてもよい。別の実施形態では、メッシュコンプライアンスに関連するルール、例えば、メッシュ要素が不適合である場合を示すルールは、例えば、エラーのないメッシュが取得されることができない場合、より大きいアスペクト比、スキュー角度などを許容することによって緩和される。
【００３３】
方法１００はまた、ステップ１０５から得られた修復されたメッシュを使用して実世界の物理的オブジェクトの有限要素シミュレーションを実行するステップも含んでよい。そのような例示的な一実施形態では、方法１００は、修復された有限要素メッシュを有限要素シミュレーションソルバに提供することで続行し、有限要素シミュレーションソルバは、実世界のオブジェクトの有限要素シミュレーションにおいて修復された有限要素メッシュを応答可能に使用する。別の実施形態では、方法１００は、シミュレーション実行の一部として有限要素シミュレーションソルバによって実施され、したがって、修復が完了すると、ソルバが進行し、シミュレーションが実行される。
【００３４】
図２は、有限要素メッシュを修復するためのワークフロー２２０を示す図である。ステップ２２１で、角度、スキューなどのアプリケーション要件に準拠しないローメッシュ上のメッシュ要素が識別される。ステップ２２１はまた、メッシュ２３０および不適合メッシュ要素２３１を表示することを含んでよい。表示されたメッシュ２３０およびメッシュ要素２３１は、ディスプレイ内で着色または強調表示してもよい。ワークフロー２２０が続行し、ステップ２２２では、不良メッシュ要素２３１および不良メッシュ要素２３１に隣接する要素を含む有限要素メッシュ２３０からメッシュパッチ２３２が抽出される。実施形態では、有限要素メッシュ２３０のその他のすべての要素が、抽出プロセス２２２および修復プロセス２２０中は変化がないままである。次に、ステップ２２３において、インバリアントメッシュパッチ記述２３３が作成される。例示的な実施形態では、ステップ２２３で作成されたインバリアント記述は、抽出されたメッシュパッチ２３２の周囲のエッジのエッジタイプに基づいて生成される。そのような実施形態では、エッジタイプは、別の要素と共有される、エッジは穴の一部である、エッジが他の部分と結合しているなどの状態を含む。
【００３５】
続いて、ステップ２２４において、同じインバリアントインバリアントメッシュパッチトポロジー記述を有する既存の解があるか否かを判定するためのチェックが行われる。このチェックは、ワークフロー２２０を実装するコンピューティングデバイスに通信可能に結合された任意の数のメモリストレージデバイス、例えばデータベース、をスキャンすることを含んでよい。解が存在する場合、ワークフローはステップ２２５に進み、ステップ２２５において、特定アプリケーション要件に依然として準拠しつつノード位置を最適化することが可能か否かを判定することを含むノード最適化が実行される。さらに、ステップ２２４で複数の解が識別された場合、これら複数の解はステップ２２５で順次適用されて有限要素メッシュが修復される。
【００３６】
しかしながら、ステップ２２４で解が識別されない場合、ワークフロー２２０は、有限要素メッシュを修復するためにステップ２２６またはステップ２２７のいずれかに進む。ステップ２２６において、ユーザ２３４は、ノードおよび／またはエッジをメッシュパッチ２３２に加算または減算することによって、手動で解を作成する。ユーザ２３４はまた、ノード位置を最適化してもよい。ステップ２２７で、ユーザ２３４は、不適合メッシュ要素を治癒するために、メッシュ規則に対する局所的な変更のセットを作成する。このような実施形態では、ステップ２２７において、ユーザ２３４は、１つまたは複数の既存のルールで開始し、このルールを変更して、不適合メッシュ要素を修正する。このような実施形態では、使用された元のメッシュルールは元の形態で維持されてもよく、変更されたルールは、将来の使用目的でステップ２２３で作成されたインバリアント記述とともに新ルールとして格納されてもよい。
【００３７】
図３は、方法１００およびワークフロー２２０のような、本発明の実施形態で採用されるインバリアントメッシュパッチ記述を生成するためのプロセス３３０を示す。プロセス３３０は、メッシュパッチの回転、サイズ、ミラー化／反転などの変化に対してインバリアントである数、例えばバイナリシーケンスであるメッシュ記述を作成する。数学では、インバリアントは、オブジェクトのクラスによって保持される特性であり、あるタイプの変換がオブジェクトに適用されるときは変更されない。オブジェクトの特別のクラスおよび変換のタイプは、通常、オブジェクトが使用されるコンテキストによって示される。プロセス３３０の場合、メッシュパッチ記述は、回転、リサイズ、ミラー化、および反転を含む変化に対してインバリアントである。したがって、回転、サイズ、ミラー化、および反転が要因で異なるメッシュパッチの任意の数は、同じパッチ記述を依然として有する。
【００３８】
プロセス３３０は、ノード３３２ａ−ｅおよびエッジ３３３ａ−ｅを含む、不適合メッシュパッチ３３１、すなわち不適合のクワッドまたはトリ要素を用いてステップ３５０から開始する。次に、ステップ３５１において、エッジ３３３ａ−ｅには、任意のエッジから開始して、所与の方向、例えば反時計回りに番号（１−５）が付される。図３に示すように、エッジ３３３ａ−ｅは、それぞれ番号２、３、４、５、および１である。続いいて、ステップ３５２において、所与の２進値が各エッジタイプに割り当てられる。方法３３０では、ホールの一部を形成するエッジに１が割り当てられ、他のメッシュ要素と共有されるエッジには０が割り当てられる。ステップ３５２では、エッジ番号３３４および対応するバイナリ値３３５が得られる。最後に、ステップ３５３では、インバリアント記述は、エッジ番号３３４および対応するバイナリ値３３５を繰り返して番号シーケンス３３６および３３７を生成することによって識別される。次に、シーケンス３３７を調べて、メッシュパッチ３３１の対応するエッジ３３８のすべてを含む作成可能な最高２進数３３９を識別する。実施形態によれば、バイナリシーケンス３３９の２進数１０１００または対応する１０進値２０は、メッシュパッチ３３１に関するインバリアント記述（分類番号）として使用され、インバリアント記述３３９がメッシュパッチ３３１を修復するための修復解と共に格納される。
【００３９】
2019106187.tif 000003
【００４０】
図４は、インバリアント記述４４１と、インバリアント記述４４１に対応するメッシュパッチを修正するために使用される修復解４４２とを含むストレージデバイス（その内部のデータ構造）内のエントリ４４０を示す。エントリ４４０は、図３に示す方法３３０で決定される分類番号４４１および図３に示すメッシュパッチ３３１に関する修復解４４２を格納する。上述したように、分類番号は、バイナリシーケンス４４１ａまたは１０進値４４１ｂとして格納されてもよく、実施形態は同様に値４４１ａおよび４４１ｂの両方を格納してもよい。さらに、エントリ４４１は、分類番号４４１に対応する修復解４４２を格納する。修復解４４２は、分類番号４４１に対応するメッシュパッチを修正するために必要な修復の記述である。修復解は、修復ノード６がノード１と２との間に追加され、修復ノード７がノード３と４との間に追加され、修復ノード８がノード７とノード４との間に追加されることを示す。さらに、修復解４４２は、クワッド１−５−４−８、６−１−８−７および２−６−７−３が形成される。クワッドを形成する指示は、形成するエッジ接続と付加する追加エッジを示す役割を果たす。修復解４４２は、代替的には、クワッド（ＱＵＡＤ）指示を介してエッジ接続を示すのではなく、解の一部であるエッジ接続自体を指示してもよい。さらに、修復解は、解によって定義されたトポロジー、すなわち、形成された他のノードとクォッドラントとの間のノード位置内でノード位置が最適化されることを示してよい。図４は、単一の修復解を示すが、実施形態は、任意の数の修復解を格納する任意の数のストレージデバイスを活用することができる。
【００４１】
図５は、修復解４４２がメッシュパッチ３３１上で実行された後のメッシュパッチ５５１を示す。図５に示す修復メッシュでは、ノード５３２ｆがノード５３２ａと５３２ｂとの間に追加され、ノード５３２ｇがノード５３２ｃと５３２ｄとの間に追加され、ノード５３２ｈがノード５３２ｇと５３２ｄとの間に追加される。さらに、エッジが追加されてクワッド５５２ａ−ｃを形成する。実施形態では、修復は、修復解を構成する一連の修復のセットを使用することによって、順番に実行される。
【００４２】
図６は、インバリアント記述を生成するためのプロセス３３０を検証するプロセス６６０を示す。上述したように、プロセス３３０は、メッシュパッチの回転、サイズ、ミラー化、および反転などの変化に対して不変であるインバリアント記述を作成する。図６において、メッシュパッチ３３１は、水平ｘ内のノード位置が負のｘに変更されてメッシュパッチ６３１を生成するように反転されている。次に、プロセス６６０がプロセス３３０と同様に実行される。
【００４３】
プロセス６６０は、ノード６３２ａ−ｅおよびエッジ６３３ａ−ｅを含む、不適合メッシュパッチ６３１を用いてステップ６６１から開始する。次に、ステップ６６２において、エッジ６３３ａ−ｅには、任意のエッジから開始して、所与の方向、例えば計回りに番号（１−５）が付される。図６に示すように、エッジ６３３ａ−ｅは、それぞれ番号４、５、１、２、および３である。続いて、ステップ６６３において、所与の２進値が各エッジタイプに割り当てられる。方法６６０では、ホールの一部を形成するエッジに１が割り当てられ、他のメッシュ要素と共有されるエッジには０が割り当てられる。ステップ６６３では、エッジ番号６３４および対応するバイナリ値６３５が得られる。最後に、ステップ６６４では、インバリアント記述は、エッジ番号６３４および対応するバイナリ値６３５を繰り返してシーケンス６３６および６３７を生成することによって識別される。次に、シーケンス６３７を調べて、メッシュパッチ６３１の対応するエッジ６３８のすべてを含む作成可能な最高２進数６３９を識別する。図３に示すプロセス同様、最大２進数６３９は１０１００である。したがって、メッシュ６３１はメッシュ３３１の反転バージョンであるが、インバリアント記述を生成するプロセス６６０は、同じインバリアント分類番号６３９を発生する。
【００４４】
図７は、本明細書で説明される本発明の実施形態の任意の様々な実施形態に従って実世界のオブジェクトを生成し最適化するために使用されるコンピュータベースシステム７７０の簡略ブロック図である。システム７７０は、バス７７３を含む。バス７７３は、システム７７０の様々な構成要素間の相互接続として機能する。バス７７３に接続されるのは、キーボード、マウスなどの様々な入出力デバイスを接続するための入出力デバイスインタフェース７７６である。ディスプレイ、スピーカなどをシステム７７０に供給する。中央処理装置（ＣＰＵ）７７２は、バス７７３に接続され、コンピュータ命令の実行を提供する。メモリ７７５は、図１から図６で上述された実施形態を実行するコンピュータ命令を実行するために使用されるデータのための揮発性記憶装置を提供する。ストレージ７７４は、オペレーティングシステム（図示せず）および実施形態構成などのソフトウェア命令のための不揮発性ストレージを提供する。システム７７０はまた、ワイドエリアネットワーク（ＷＡＮ）およびローカルエリアネットワーク（ＬＡＮ）を含む当技術分野で知られている任意の様々なネットワークに接続するためのネットワークインタフェース７７１を含む。
【００４５】
本明細書で説明される例示的な実施形態は、多くの異なる方法で実施されることを理解されたい。いくつかの例では、本明細書で説明される様々な方法および機械は、それぞれ、コンピュータシステム７７０などの物理的、仮想的またはハイブリッド汎用コンピュータ、または以下に図８との関係で説明するコンピュータ環境８８０などのコンピュータネットワーク環境によって実施される。コンピュータシステム７７０は、例えば、ソフトウェア命令をＣＰＵ７７２による実行のためにメモリ７７５または不揮発性ストレージ７７４にロードすることによって、本明細書で説明される方法を実行する機械に変換してよい。当業者であればシステム７７０およびその様々な構成要素が、本明細書で説明される本発明の実施形態の任意の実施形態または組合せを実施するように構成されることをさらに理解すべきである。さらに、システム７７０は、システム７７０に内部的または外部的に動作可能に結合されたハードウェア、ソフトウェア、およびファームウェアモジュールの任意の組み合わせを利用して、本明細書で説明される様々な実施形態を実装してよい。さらに、システム７７０は、本明細書で説明されるような物理的オブジェクトを作成するために装置を制御するように、製造装置に通信可能に結合されても、あるいは装置内に組み込まれてもよい。
【００４６】
図８は、本発明の実施形態を実装するコンピュータネットワーク環境８８０を示す。コンピュータネットワーク環境８８０において、サーバ６６１は、通信ネットワーク８８２を介してクライアント８８３ａ−ｎにリンクされる。環境８８０を使用して、クライアント８８３ａ−ｎを単独で、またはサーバ８８１と組み合わせて、本明細書で説明される方法のうちのいずれかを実行してもよい。非限定的な例として、コンピュータネットワーク環境８８０は、クラウドコンピューティングの実施形態、サービスとしてのソフトウェア（ＳＡＡＳ）の実施形態などを提供する。
【００４７】
実施形態またはその態様は、ハードウェア、ファームウェア、またはソフトウェアの形態で実装されてもよい。ソフトウェアで実装される場合、ソフトウェアは、プロセッサがそのソフトウェアまたはその命令のサブセットをロードすることができるように構成された任意の非一過性のコンピュータ可読媒体に格納される。プロセッサは次に、命令を実行し、本明細書で説明されるような方法で動作するか、または装置をそのような方法で動作させるように構成される。
【００４８】
さらに、ファームウェア、ソフトウェア、ルーチン、または命令は、本明細書ではデータプロセッサの、ある動作および／または機能を実行するものとして説明してもよい。しかしながら、本明細書に含まれるそのような説明は、単に便宜上のものであり、そのような動作は実際には、ファームウェア、ソフトウェア、ルーチン、命令などを実行するコンピューティングデバイス、プロセッサ、コントローラ、または他のデバイスから生じることを理解されたい。
【００４９】
流れ図、ブロック図、およびネットワーク図は、より多くのまたはより少ない要素を含んでもよく、異なって配置されてもよく、または異なって表されてもよいことを理解されたい。しかし、ある実装形態がブロック図およびネットワーク図を指示し、実施形態の実行を示すブロック図およびネットワーク図の数が特別の方法で実施されることをさらに理解されたい。
【００５０】
したがって、さらなる実施形態は、様々なコンピュータアーキテクチャ、物理的、仮想的、クラウドコンピュータ、および／またはそれらのいくつかの組み合わせで実装されてもよく、したがって、本明細書で説明されるデータプロセッサは、説明の目的のみを意図しており、実施形態の限定としては意図していない。
【００５１】
例示的な実施形態が特に示され説明されたが、添付の特許請求の範囲によって包含される実施形態の範囲から逸脱することなく、形態および詳細における様々な変更がなされることが、当業者によって理解されるだろう。
【図１】
2019106187.tif 000004
【図２】
2019106187.tif 000005
【図３】
2019106187.tif 000006
【図４】
2019106187.tif 000007
【図５】
2019106187.tif 000008
【図６】
2019106187.tif 000009
【図７】
2019106187.tif 000010
【図８】
2019106187.tif 000011
【手続補正書】
【提出日】平成30年12月12日(2018.12.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
有限要素メッシュによって表される実世界の物理的オブジェクトのシミュレーションにおいて有限要素メッシュを修復するコンピュータ実装方法であって、
実世界の物理的オブジェクトを表す有限要素メッシュ内の不適合メッシュ要素を識別するステップと、
前記識別された不適合メッシュ要素を含む前記有限要素メッシュ内のメッシュパッチを抽出するステップと、
前記抽出されたメッシュパッチに関するインバリアントパッチ記述を生成するステップと、
所定の修復解を記憶するデータベースと通信し、前記生成されたインバリアントパッチ記述に対応する修復解を前記データベースから取得するステップと、
前記データベースからの前記取得された修復解を用いて前記有限要素メッシュ内の前記メッシュパッチを修復するステップであって、当該修復の結果により修復された有限要素メッシュを得るステップと
を含むことを特徴とする方法。
【請求項２】
前記不適合メッシュ要素は、有限要素シミュレーションプリプロセッサによって識別されることを特徴とする請求項１に記載の方法。
【請求項３】
前記不適合メッシュ要素は、前記不適合メッシュ要素の角度、スキュー、アスペクト比、および幾何学的特性のうちの少なくとも１つに基づいて識別されることを特徴とする請求項１に記載の方法。
【請求項４】
前記抽出されたメッシュパッチは、前記不適合メッシュ要素および前記不適合メッシュ要素に隣接する前記有限要素メッシュ内の各メッシュ要素を含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記インバリアントパッチ記述は、前記抽出されたメッシュパッチの周囲に沿ったエッジのエッジタイプに基づくことを特徴とする請求項１に記載の方法。
【請求項６】
前記修復された有限要素メッシュを有限要素シミュレーションソルバに提供し、前記有限要素シミュレーションソルバは、実世界のオブジェクトの有限要素シミュレーションにおいて前記修復された有限要素メッシュを応答可能に使用するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記有限要素メッシュ内の前記メッシュパッチを修復するステップは、前記メッシュパッチ内のノード位置を最適化するステップを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記データベースが、前記生成されたインバリアントパッチ記述に対応する修復解を有していない場合において、前記方法は、
前記抽出されたメッシュパッチの表現または表示を訂正のためにユーザに提供するステップと、
前記抽出されたメッシュパッチに関する修復解を前記ユーザから受信するステップと、
前記受信した修復解を、前記生成されたインバリアントパッチ記述と共に前記データベース内に格納するステップと
を含むことを特徴とする請求項１に記載の方法。
【請求項９】
有限要素メッシュによって表される実世界の物理的オブジェクトのシミュレーションにおいて有限要素メッシュを修復するためのシステムであって、
プロセッサと、
内部にコンピュータコード命令が記憶されているメモリとを含み、前記プロセッサおよび前記コンピュータコード命令を有する前記メモリは、前記システムに、
実世界の物理的オブジェクトを表す有限要素メッシュ内の不適合メッシュ要素を識別させ、
前記識別された不適合メッシュ要素を含む前記有限要素メッシュからメッシュパッチを抽出させ、
前記抽出されたメッシュパッチに関するインバリアントパッチ記述を生成させ、
所定の修復解を記憶するデータベースと通信させ、前記データベースから前記生成されたインバリアントパッチ記述に対応する修復解を取得させ、
前記データベースからの前記取得された修復解を使用して前記有限要素メッシュ内の前記メッシュパッチを修復させ、当該修復の結果により修復された有限要素メッシュが得られる、
ように構成されたことを特徴とするシステム。
【請求項１０】
前記不適合メッシュ要素は、有限要素シミュレーションプリプロセッサによって識別されることを特徴とする請求項９に記載のシステム。
【請求項１１】
前記不適合メッシュ要素を識別する際において、前記プロセッサおよび前記コンピュータコード命令を有する前記メモリはさらに、前記システムに、前記不適合メッシュ要素を前記不適合メッシュ要素の角度、スキュー、アスペクト比、および幾何学的特性のうちの少なくとも１つに基づいて識別させるように構成されたことを特徴とする請求項９に記載のシステム。
【請求項１２】
前記抽出されたメッシュパッチは、前記不適合メッシュ要素および前記不適合メッシュ要素に隣接する前記有限要素メッシュ内の各メッシュ要素を含むことを特徴とする請求項９に記載のシステム。
【請求項１３】
前記インバリアントパッチ記述を生成する際において、前記プロセッサおよび前記コンピュータコード命令を有する前記メモリはさらに、前記システムに、前記インバリアント記述を前記抽出されたメッシュパッチの周囲に沿ったエッジのエッジタイプに基づいて生成させるように構成されたことを特徴とする請求項９に記載のシステム。
【請求項１４】
前記プロセッサおよび前記コンピュータコード命令を有する前記メモリはさらに、前記システムに、前記修復された有限要素メッシュを有限要素シミュレーションソルバに提供させるように構成され、前記有限要素シミュレーションソルバは、実世界のオブジェクトの有限要素シミュレーションにおいて前記修復された有限要素メッシュを応答可能に使用することを特徴とする請求項９に記載のシステム。
【請求項１５】
前記有限要素メッシュ内の前記メッシュパッチを修復する際に、前記プロセッサおよび前記コンピュータコード命令を有する前記メモリはさらに、前記システムに、前記メッシュパッチ内のノード位置を最適化させるように構成されたことを特徴とする請求項９に記載のシステム。
【請求項１６】
前記プロセッサおよび前記コンピュータコード命令を有する前記メモリはさらに、前記システムに、前記データベースが、前記生成されたインバリアントパッチ記述に対応する修復解を有していない場合において、
前記抽出されたメッシュパッチの表現または表示を訂正のためにユーザに提供させ、
前記抽出されたメッシュパッチに関する修復解を前記ユーザから受信させ、
前記受信した修復解を、前記生成されたインバリアントパッチ記述と共に前記データベース内に格納させる
ように構成されたことを特徴とする請求項９に記載のシステム。
【請求項１７】
コンピュータに請求項１ないし８のいずれか１つに記載の方法を実行させることを特徴とするコンピュータプログラム。
【請求項１８】
請求項１７記載のコンピュータプログラムを記録したことを特徴とするコンピュータ可読記憶媒体。