JP2022023010A - 2点接触曲線による乗り物衝撃解析 - Google Patents
2点接触曲線による乗り物衝撃解析 Download PDFInfo
- Publication number
- JP2022023010A JP2022023010A JP2021109609A JP2021109609A JP2022023010A JP 2022023010 A JP2022023010 A JP 2022023010A JP 2021109609 A JP2021109609 A JP 2021109609A JP 2021109609 A JP2021109609 A JP 2021109609A JP 2022023010 A JP2022023010 A JP 2022023010A
- Authority
- JP
- Japan
- Prior art keywords
- point
- rep
- pair
- contact
- algorithm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 40
- 238000000034 method Methods 0.000 claims abstract description 229
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 158
- 230000007704 transition Effects 0.000 claims description 119
- 230000008569 process Effects 0.000 claims description 51
- 238000012545 processing Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 10
- 230000010354 integration Effects 0.000 description 38
- 230000006870 function Effects 0.000 description 30
- 238000012360 testing method Methods 0.000 description 28
- 238000004364 calculation method Methods 0.000 description 17
- 238000013461 design Methods 0.000 description 16
- 238000000115 helium ionisation detection Methods 0.000 description 15
- 238000007689 inspection Methods 0.000 description 14
- 238000004519 manufacturing process Methods 0.000 description 12
- 210000003127 knee Anatomy 0.000 description 10
- 238000012800 visualization Methods 0.000 description 9
- 238000012938 design process Methods 0.000 description 8
- 238000003745 diagnosis Methods 0.000 description 6
- 238000011179 visual inspection Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000007667 floating Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000002620 method output Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/15—Vehicle, aircraft or watercraft design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
- G06F17/13—Differential equations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/66—Analysis of geometric attributes of image moments or centre of gravity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/21—Collision detection, intersection
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Automation & Control Theory (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Operations Research (AREA)
- Processing Or Creating Images (AREA)
- Automobile Manufacture Line, Endless Track Vehicle, Trailer (AREA)
Abstract
【課題】乗り物衝撃解析のための乗り物衝撃解析のための方法、システム及びプログラムを提供する。【解決手段】方法は、乗り物の外面を表す面を有するB-Repを提供することと、接触球の半径値を提供することと、半径値についてのB-Repの1つ以上の2点接触曲線を決定することと、を含む。この決定は、B-Repの複数の部分対の各部分対について、各2点接触曲線計算アルゴリズムを含む。計算アルゴリズムは、部分のそれぞれの対に基づく。計算アルゴリズムは、複数対の部分にわたって並列化される。【選択図】図1
Description
本発明は、コンピュータプログラム及びシステムの分野に関し、より具体的には、乗り物衝撃解析のための方法、システム、及びプログラムに関する。
物体の設計、エンジニアリング及び製造のために、多数のシステム及びプログラムが市場に提供されている。CADはコンピュータ支援設計の頭字語であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。CAEはコンピュータ支援エンジニアリングの頭字語であり、例えば、将来の製品の物理的挙動をシミュレートするためのソフトウェアソリューションに関連する。CAMはコンピュータ支援製造の頭字語であり、例えば、製造処理及び動作を定義するためのソフトウェアソリューションに関する。そのようなコンピュータ支援設計システムでは、グラフィカルユーザインターフェースが技法の効率に関して重要な役割を果たす。これらの技術は、製品ライフサイクル管理(PLM)システム内に組み込まれてもよい。PLMとは、企業が製品データを共有し、共通の処理を適用し、企業知識を活用して、長期的な企業のコンセプトを越えて、コンセプトから生涯にわたる製品の開発に役立てることを支援するビジネス戦略のことをいう。(CATIA、ENOVIA及びDELMIAの商標で)ダッソーシステムズによって提供されるPLMソリューションは、製品工学知識を編成するエンジニアリングハブと、製造工学知識を管理する製造ハブと、エンタープライズハブ及びエンジニアリングハブ及び製造ハブの両方への接続を可能にする企業ハブとを提供する。全体として、システムは最適化された製品定義、製造準備、生産、及びサービスを駆動する動的な知識ベースの製品作成及び意思決定サポートを可能にするために、製品、プロセス、リソースをリンクするオープンオブジェクトモデルを提供する。
CADソリューションは、特に、外面を表す乗り物のCADモデルに基づいて、乗り物の(内面又は外面)外面に生じやすい人間の部分(頭部又は膝など)の衝撃を分析するために、乗り物衝撃分析に使用することができる。ダッソーシステムズによって提供されるソフトウェアソリューションは、特に、(ICEM Surfの商標で)そのような機能性を提供する。
乗り物衝撃分析は、本質的に頭部衝撃診断(以下では「HID」とも呼ばれ、便宜上、膝などの頭部以外の人間の部分との衝撃を考慮する場合にも同じ頭字語が使用される)とすることができる乗り物衝撃診断を含んでもよい。このような診断は、自動車、又は他の乗用車及び商用車の安全解析の範囲内にある。これに関連して、自動車会社は、特定の仕様及び/又は規定に準拠しなければならない。このような規定の例は、以下の規則によりEU及び米国において定められている。
ECE-R 26乗用車(EU、エクステリア)。
ECE-R 61商用車(EU、エクステリア)。
FMVSS 208 正面衝撃(米国、外観)。
ECE-R21 コックピット構造(EU、内装)。
FMVSS 201 ダッシュボード(米国、内部)。
ECE-R 26乗用車(EU、エクステリア)。
ECE-R 61商用車(EU、エクステリア)。
FMVSS 208 正面衝撃(米国、外観)。
ECE-R21 コックピット構造(EU、内装)。
FMVSS 201 ダッシュボード(米国、内部)。
これらの仕様は、各新車の設計プロセス内で徹底的に確認する必要があり、乗り物がシリアル生産で承認される前に、それぞれの当局による管理プロセスに従う必要がある。仕様は、特に、人体部分(例えば、頭部又は膝)が適切なサイズを有する球体としてモデル化される、乗り物の内部及び外部の静的幾何学的解析に焦点を当てている。次に、この分析は、乗り物の外部/内部に取り付けられた接触球として記述される幾何学的状況を考察する。接触球は、乗り物に対する歩行者又は乗客の頭部/膝の衝撃をモデル化する。これらの状況は、接触点の数、互いに対するそれらの距離、及び接触点における乗り物の外表面の曲率に基づいて人体に加えられる力を推定することができる時間における正確な点を表すので、特に重要である。
このように、ソフトウェアソリューションは、乗り物衝撃解析のためのコンピュータで実装された方法を提供するために開発された。この方法は、乗り物の外面を表すCADモデルを提供すること、接触球に対する半径値を提供すること、及び半径値に対するCADモデルの1つ以上の接触形状を決定することを含む。
特定の既存の解決策は、特に、乗り物の外面を表すメッシュの1点接触頂点及び非接触頂点を自動的に決定することを可能にする。これらの特定の既存のソリューションは、グローバルHIDを提供し、このグローバルHIDは、入力ジオメトリのテッセレーションにのみ作用する。他の特定の既存の解決策は、乗り物の外面を表すメッシュの2点接触位置を決定することを可能にする。しかしながら、これらの他の特定の既存の解決策は、特に、広範な手動の前処理及び後処理に依存するため、不正確であり、人間工学的ではない。
これに関連して、乗り物衝撃分析のための改善された解決策が依然として必要とされている。
したがって、乗り物衝撃解析のためのコンピュータ実施方法が提供される。この方法は、乗り物の外面を表すB-Repを提供するステップを含み、B-Repは面を有する。この方法は、接触球の半径値を提供するステップを含む。この方法はまた、半径値についてのB-Repの1つ以上の2点接触曲線を決定するステップを含む。この決定は、B-Repの複数の部分対の各部分対について、各2点接触曲線計算アルゴリズムを含む。計算アルゴリズムは、部分のそれぞれの対に基づく。計算アルゴリズムは、複数対の部分にわたって並列化される。
この方法は、以下の少なくとも1つを含んでもよい。
前記複数の部分対の間の各部分対の各部分が、前記B-Repのそれぞれの面である。
前記決定するステップ(S30)が、
B-Repをテッセレーションするステップと、
前記テッセレーションを処理するステップであって
前記半径値に対して、1点接触頂点と非接触頂点を識別し、
遷移エッジを定義し、各遷移エッジは、それぞれの1点接触頂点及びそれぞれの非接触頂点によって境界付けられる
ことを含み、
前記計算アルゴリズムは、入力として、部分のそれぞれのペアについて、部分のそれぞれのペアの遷移エッジのそれぞれのセットをとる
B-Repをテッセレーションするステップと、
前記テッセレーションを処理するステップであって
前記半径値に対して、1点接触頂点と非接触頂点を識別し、
遷移エッジを定義し、各遷移エッジは、それぞれの1点接触頂点及びそれぞれの非接触頂点によって境界付けられる
ことを含み、
前記計算アルゴリズムは、入力として、部分のそれぞれのペアについて、部分のそれぞれのペアの遷移エッジのそれぞれのセットをとる
前記テッセレーションが、前記部分のセットにわたって並列化され、前記処理および前記計算アルゴリズムは、前記テッセレーションが終了した後に実行される。
前記処理は、前記部分のセットにわたって並列化され、前記計算アルゴリズムは、前記処理が終了した後に実行される。
前記計算アルゴリズムは、前記部分の各ペアについて、前記遷移エッジのそれぞれのセットが空になるまで以下を反復することを含む。
遷移エッジのそれぞれのセットからの遷移エッジを選択し、
選択された遷移エッジに基づいて2点接触曲線をトレースの試みをし、
前記トレースの試みが成功した場合、トレースされた2点接触曲線と交差する全ての遷移エッジを、遷移エッジのそれぞれのセットから削除し、
それぞれの遷移エッジのセットから、選択された遷移エッジを削除する。
遷移エッジのそれぞれのセットからの遷移エッジを選択し、
選択された遷移エッジに基づいて2点接触曲線をトレースの試みをし、
前記トレースの試みが成功した場合、トレースされた2点接触曲線と交差する全ての遷移エッジを、遷移エッジのそれぞれのセットから削除し、
それぞれの遷移エッジのセットから、選択された遷移エッジを削除する。
前記B-Repの各面は、それぞれの表面パラメータ化によって支持され、前記トレースは、それぞれの微分方程式を積分することを含み、前記微分方程式は、前記それぞれの対の部分の前記表面パラメータ化の対に基づく。
前記決定するステップ(S30)が、
候補開始点の1つ以上のペアを確立することを試み、各候補開始点は、部分のそれぞれのペアのそれぞれの部分に属し、候補開始点のそれぞれのペアは、部分のそれぞれのペアのそれぞれの遷移エッジに基づいて確立されることを試みられ、
前記確立の試みが成功した場合、前記計算アルゴリズムが、
選択された遷移エッジが、それぞれの遷移エッジであり、当該遷移エッジに基づいて、前記決定するステップ(S30)において候補開始点のそれぞれのペアを確立することに成功し、
前記トレースの試みが、
それぞれの一対の候補開始点から2点接触曲線に属するそれぞれの初期点を見つけることを試みること、及び
発見の試みが成功した場合、それぞれの初期点から2点接触曲線をトレースすること
を含む。
候補開始点の1つ以上のペアを確立することを試み、各候補開始点は、部分のそれぞれのペアのそれぞれの部分に属し、候補開始点のそれぞれのペアは、部分のそれぞれのペアのそれぞれの遷移エッジに基づいて確立されることを試みられ、
前記確立の試みが成功した場合、前記計算アルゴリズムが、
選択された遷移エッジが、それぞれの遷移エッジであり、当該遷移エッジに基づいて、前記決定するステップ(S30)において候補開始点のそれぞれのペアを確立することに成功し、
前記トレースの試みが、
それぞれの一対の候補開始点から2点接触曲線に属するそれぞれの初期点を見つけることを試みること、及び
発見の試みが成功した場合、それぞれの初期点から2点接触曲線をトレースすること
を含む。
前記確立する試みは、前記それぞれの対の部分のそれぞれの遷移エッジを二分することを含む。
前記確立の試みは、前記複数の部分のペアにわたって、又は前記部分のセットにわたって並列化される。
さらに、プロセッサによって実行されると、プロセッサに上記の方法を実行させる命令を含むコンピュータプログラムを提供する。
さらに、上記のコンピュータプログラムを記録したコンピュータ可読媒体を提供する。
さらに、上記のコンピュータプログラムが記録されたメモリと結合されたプロセスを含むシステムを提供する。
図1を参照すると、乗り物衝撃解析のためのコンピュータ実施方法が提供される。この方法は、乗り物の外面を表すB-Repを提供するステップS10を含む。B-Repには面がある。この方法はまた、接触球に対して半径値を与えるステップS20を含む。次いで、この方法は、半径値についてのB-Repの1つ以上の2点接触曲線を決定するステップS30を含む。これは、既に、乗り物衝撃解析のための改善された解決策を形成している。
半径値に対する1つ又は複数の2点接触曲線のS30においての決定のおかげで、この方法は乗り物への2点接触衝撃の分析を可能にする。多点接触衝撃は、これらが衝突中の時点の幾何学的モデルであり、衝突力の主要部分が人体の考慮された部分に除荷されるので、解析するのに特に重要である。
この方法は、特にB-Repである乗り物の外表面のCADモデルをS10で提供するという事実のおかげで、決定された曲線はB-Repの曲線である。その結果、この方法は2点接触衝撃の比較的正確な幾何学的表現を出力する。実際、B-Repは、乗り物の外面の連続的な、したがって特に正確な表現であり、その結果、この方法の出力は、曲線が前記正確な表現上に少なくとも正確に位置決めされるという点で、比較的正確である。精度は、外側表面のメッシュ表現に比べて著しく改善される。実際、メッシュはしばしばより精密なCADモデル(B-Repであっても構わない)のテッセレーションに由来し、どんな場合でも近似/離散化誤差、つまりテッセレーション精度を構築することによって提示する。
本方法の第1の態様によれば、決定ステップS30は、対応する2点接触曲線(S30において決定される)に対して、対応する微分方程式を解くことを含んでもよい。対応する微分方程式はB-Repに基づいている。これにより、乗り物衝撃解析がさらに改善される。
各2点接触曲線に対する微分方程式を解くことのおかげで、この方法は明確に定義された方法で各2点接触曲線を決定し、従って正確な結果をもたらす。さらに、微分方程式がB-Repに基づいていること、すなわち、乗り物の外側表面の連続的であるために、特に正確に表現されていることのおかげで、2点接触曲線は、2点接触衝撃の特に正確な表現を形成する。実際、解決は、前記正確な表現に基づいており、したがって、特に正確な結果をもたらす。
精度は、外表面のメッシュ表現に基づく解法と比較して著しく改善された。これは、特に、2点衝撃解析に関連する。
本方法の第2の態様によれば、決定するステップS30は、B-Repの複数の部分対の各部分対について、各部分対に基づく各2点接触曲線計算アルゴリズムを含んでもよい。計算アルゴリズムは、複数対の部分にわたって並列化される。これにより、乗り物衝撃解析がさらに改善される。
計算アルゴリズムの並列化のおかげで、この方法は計算効率を達成する。並列化が特にB-Repの部分の複数の対にわたって行われるという事実のおかげで、並列計算からの利得は特に高く、計算アルゴリズムの並列スレッドは特に安全である。実際、乗り物の外面の一対の部分の間に2点接触衝撃が発生する。この方法は、計算を適切に並列化するためにこれを考慮に入れる。
方法の第1の態様と第2の態様とを組み合わせることができる。そのような場合、決定するステップS30は、第2の態様によれば、B-Repの部分の複数のペアの部分のそれぞれのペアについて、部分のそれぞれのペアに基づくそれぞれの2点接触曲線計算アルゴリズムを含む。そして、決定するステップは、第1の態様によれば、計算アルゴリズムの並列化されたスレッド内で決定された1つ以上のそれぞれの2点接触曲線について(例えば、それぞれのそのようなそれぞれの2点接触曲線について)、B-Repに基づいてそれぞれの微分方程式を解くことをさらに含む。
あるいは、方法は、第1の態様を提示することができるが、第2の態様を提示することはできない。そのような場合、計算アルゴリズムは、異なるスレッドにわたって非並列化又は並列化されてもよい。さらに代替的に、方法は、第1の態様ではなく第2の態様を提示することができる。そのような場合、2点接触曲線計算アルゴリズムは、B-Repに基づく任意の微分方程式、又は任意の微分方程式さえも全く解くことを除外することができる。
この方法は、コンピュータで実施される。これは、該方法のステップ(又は実質的に全てのステップ)が少なくとも1つのコンピュータ又は任意のシステムによって実行されることを意味する。方法のコンピュータ実装の典型的な例は、この目的のために適合されたシステムを用いて方法を実行することである。このシステムはメモリに結合されたプロセッサを含み、このメモリは、この方法を実行するための命令を含むコンピュータプログラムに記録されたものであってもよい。メモリはまた、データベースを記憶してもよい。メモリはそのような記憶装置に適合された任意のハードウェアであり、場合によっては、いくつかの物理的に別個の部分(例えば、プログラムのための部分、及び場合によってはデータベースのための部分)を備える。システムは、プロセッサに結合されたグラフィカルユーザインターフェースをさらに備えることができる。
したがって、本方法のステップはコンピュータによって、場合によっては完全に自動的に、又は半自動的に実行される。例では、方法のステップのうちの少なくともいくつかのトリガがユーザ/コンピュータ対話を介して実行され得る。必要とされるユーザ/コンピュータ対話のレベルは予測される自動化のレベルに依存し、ユーザの希望を実施する必要性とバランスをとることができる。例では、このレベルがユーザ定義及び/又は事前定義され得る。
特に、本方法は、ユーザ対話を介して、B-Repの提供ステップS10及び半径の提供ステップS20を実行することができる。次いで、本方法は、決定ステップS30を完全に自動的に実行することができる。言い換えれば、本方法は、第1の態様による微分方程式の設定及び/又は解法、及び/又は第2の態様による並列スレッドの設定(B-Repの部分の一組の定義を含む)、及び/又は点接触曲線計算アルゴリズムの実行(各並列スレッド内で、すなわち、各定義された一組にわたって)を完全に自動的に実行することができる。
例では、本方法は、以下を含んでもよい:
ユーザ対話によるB-Repの提供ステップS10。
ユーザによる乗り物衝撃分析機能のトリガ。
ユーザ対話を介して半径を提供するステップS20。
全自動判定ステップS30。
ユーザ対話によるB-Repの提供ステップS10。
ユーザによる乗り物衝撃分析機能のトリガ。
ユーザ対話を介して半径を提供するステップS20。
全自動判定ステップS30。
B-Repは、3DCADモデル化オブジェクト、すなわち、CADシステムで設計又は設計された3Dモデル化オブジェクトである。このように、この方法は、それ自体が製造プロセスの一部である3DCAD設計プロセスの一部である。
モデル化されたオブジェクトは、例えばデータベースに格納されたデータによって定義される任意のオブジェクトである。広い意味で、表現「モデル化オブジェクト」は、データ自体を指定する。システムのタイプに応じて、モデル化されたオブジェクトは、異なる種類のデータによって定義されてもよい。システムは、実際にはCADシステム、CAEシステム、CAMシステム、PDMシステム、及び/又はPLMシステムの任意の組み合わせであってもよい。これらの異なるシステムでは、モデル化されたオブジェクトが対応するデータによって定義される。したがって、CADオブジェクト、PLMオブジェクト、PDMオブジェクト、CAEオブジェクト、CAMオブジェクト、CADデータ、PLMデータ、PDMデータ、CAMデータ、CAEデータについて言うことができる。しかしながら、モデル化オブジェクトはこれらのシステムの任意の組み合わせに対応するデータによって定義され得るので、これらのシステムは他のシステムのうちの1つを排他的にするものではない。したがって、システムは、CAD及びPLMシステムの両方であってもよい。
CADシステムとは、さらに、CATIAのような、モデル化オブジェクトのグラフィック表現に基づいてモデル化オブジェクトを少なくとも設計するように適合された任意のシステムを意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にするデータを含む。CADシステムは例えば、ある場合には、面又は表面を有するエッジ又は線を使用してCADモデル化オブジェクトの表現を提供することができる。線、エッジ、面、又は表面は、様々な方法、例えば、不均一有理Bスプライン(NURBS)で表すことができる。具体的には、CADファイルは仕様を含み、そこから幾何学的形状を生成することができ、これにより表現を生成することができる。モデル化されたオブジェクトの仕様は、単一のCADファイル又は複数のCADファイルに格納することができる。CADシステム内のモデル化オブジェクトを表すファイルの典型的なサイズは、部品当たり1メガバイトの範囲内である。そして、乗り物は、典型的には、何千もの部品のアセンブリであってもよい。
CADの文脈では、モデル化されたオブジェクトが典型的には3Dモデル化されたオブジェクトであり得る。「3Dモデル化オブジェクト」とは、その3D表現を可能にするデータによってモデリングされる任意のオブジェクトを意味する。3D表現は、全ての角度からオブジェクトを見ることを可能にする。例えば、3Dモデル化オブジェクトは3D表現される場合、その軸のいずれかの周り、又は表現が表示される画面内のいずれかの軸の周りで取り扱われ、回転され得る。これは特に、3Dモデル化されていない2Dアイコンを除外する。
3Dモデル化オブジェクトは、乗り物衝撃解析の完了後に、現実世界で製造される乗り物の形状を表すことができる。乗り物は、乗用車及び/又は商用車であってもよい。乗り物は、自動車、トラック、オートバイ、バス、又は列車などの地上の乗り物であってもよい。乗り物は、航空機、ヘリコプター、又は航空宇宙乗り物などの空中の乗り物であってもよい。乗り物は、商用船、オフショア装置、ヨット、又は作業船などの海の乗り物であってもよい。
図2はシステムのGUIの一例を示し、システムはCADシステムである。図では、3Dモデル化オブジェクトは、乗り物の外面ではなくブレーキアセンブリである。しかしながら、図は、単にCADシステム及びその機能を示すためのものである。
GUI2100は、標準的なメニューバー2110、2120、ならびに底部及び側部ツールバー2140、2150を有する、典型的なCAD様インターフェースであり得る。このようなメニューバー及びツールバーはユーザが選択可能なアイコンの組を含み、各アイコンは当技術分野で知られているように、1つ又は複数の操作又は関数に関連付けられている。これらのアイコンのいくつかは、GUI2100に表示された3Dモデル化オブジェクト2000を編集及び/又は作業するように適合されたソフトウェアツールに関連付けられる。ソフトウェアツールは、ワークベンチにグループ化されることができる。各ワークベンチは、ソフトウェアツールの部分集合を含む。特に、ワークベンチの1つは、モデル化された製品2000の幾何学的特徴を編集するのに適した編集ワークベンチである。動作中、設計者は例えば、オブジェクト2000の一部を事前に選択し、次いで、適切なアイコンを選択することによって、動作(例えば、寸法、色などを変更する)又は幾何学的制約を編集することができる。例えば、典型的なCAD動作は、画面上に表示される3Dモデル化オブジェクトの打ち抜き加工又は折り畳みのモデル化である。GUIは例えば、表示された製品2000に関連するデータ2500を表示することができる。図の例では「特徴木」として表示されるデータ2500、及びそれらの3D表現2000はブレーキキャリパ及びディスクを含むブレーキアセンブリに関する。GUIは編集された製品の動作のシミュレーションをトリガするために、又は表示された製品2000の様々な属性をレンダリングするために、例えば、オブジェクトの3D配向を容易にするための様々なタイプのグラフィックツール2130、2070、2080をさらに示すことができる。カーソル2060はユーザがグラフィックツールと対話することを可能にするために、触覚デバイスによって制御され得る。
図3は、システムがクライアントコンピュータシステム、例えばユーザのワークステーションであるシステムの一例を示す。
この例のクライアントコンピュータは、内部通信バス1000に接続された中央処理装置(CPU)1010と、やはりバスに接続されたランダムアクセスメモリ(RAM)1070とを備える。クライアントコンピュータには、さらに、BUSに接続されたビデオランダムアクセスメモリ1100に関連するグラフィカルプロセッシングユニット(GPU)1110が設けられている。ビデオRAM 1100は、当技術分野ではフレームバッファとしても知られている。大容量記憶装置コントローラ1020は、ハードドライブ1030などの大容量記憶装置へのアクセスを管理する。コンピュータプログラム命令及びデータを有形に具現化するのに適した大容量メモリデバイスは、例として、EPROM、EEPROM、及びフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスク及びリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMディスク1040を含む、すべての形態の不揮発性メモリを含む。前述のいずれも、特別に設計されたASIC(特定用途向け集積回路)によって補足されるか、又はその中に組み込まれてもよい。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータは、カーソル制御デバイス、キーボードなどの触覚デバイス1090も含んでもよい。ユーザがディスプレイ1080上の任意の所望の位置にカーソルを選択的に位置決めすることを可能にするために、カーソル制御装置がクライアントコンピュータ内で使用される。さらに、カーソル制御装置はユーザが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための多数の信号発生装置を含む。典型的にはカーソル制御装置がマウスであってもよく、マウスのボタンは信号を生成するために使用される。代替的に又は追加的に、クライアントコンピュータシステムは、センシティブパッド及び/又はセンシティブスクリーンを含んでもよい。
コンピュータプログラムはコンピュータによって実行可能な命令を含むことができ、命令は、上記装置に該方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラムは例えば、デジタル電子回路において、又はコンピュータハードウェア、ファームウェア、ソフトウェアにおいて、又はそれらの組み合わせにおいて実装されてもよい。プログラムは装置、例えば、プログラマブルプロセッサによる実行のための機械可読記憶デバイスに有形に具現化された製品として実装されてもよい。方法のステップは入力データに対して動作し、出力を生成することによって、方法の機能を実行するための命令のプログラムを実行するプログラマブルプロセッサによって実行されてもよい。したがって、プロセッサはプログラム可能であり、データ記憶システム、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスからデータ及び命令を受信し、それらにデータ及び命令を送信するように結合され得る。アプリケーションプログラムは、高レベルの手続き型、オブジェクト指向プログラミング言語、又は関数型プログラミングで、又は必要に応じてアセンブリ言語又は機械語で実装することができる。いずれの場合も、言語は、コンパイルされた言語又は解釈された言語であってもよい。プログラムはフルインストールプログラムであってもよいし、更新プログラムであってもよい。システム上にプログラムを適用すると、いずれにしても、この方法を実行するための命令が得られる。
本方法は、製造プロセスに含まれてもよく、製造プロセスは、本方法を実行した後に、B-Repに対応する物理的なビヒクルを生成することを含んでもよい。この方法は、乗り物の衝撃解析を改善するので、乗り物の製造工程も改善する。
乗り物衝撃解析は、乗り物のCADモデルに基づいて、乗り物の外面で発生しやすい衝撃のあらゆる解析を指定する。CADモデルは、ここでは、S10において提供されるB-Repである。S30において1つ以上の2点接触曲線を決定することによって、本方法は既にこのような分析を可能にしている。実際、決定するステップS30は、B-Rep上の球体の2点接触のそれぞれの連続した発生をそれぞれ表す1つ又は複数のデータ片(すなわち、曲線)を出力する。これらの出力されたデータは、次に、任意の乗り物衝撃分析目的で使用することができる。
接触球は、人間の部分、例えば頭部又は膝などの、乗り物の外面によって衝撃を受けやすい物体の球表現である。球体表現は、人間の間の形状及び挙動の変動性を十分に捕捉し、しかも比較的簡単な計算を可能にするので、頭部及び膝を表現するために長い間著しく使用されてきた。乗り物衝撃解析では、球の外面とのポテンシャル接触を考慮するため、一般に「接触」球と呼ばれる。接触球は、保護されていない又は保護されている人間の部分を表すことができる。例えば、接触球は、人間が着用するヘルメットを表すことができる。
乗り物の「外側」表面によって、接触球によって衝撃を受けやすい乗り物の任意の表面を意味した。外面は、乗り物の外側部分の外面(例えば、乗り物の本体表面、又は自動車のクラスA表面)であってもよい。このような場合、乗り物は、地上の乗り物(自動車など)であってもよく、乗り物衝撃分析は、歩行者に生じやすい衝撃の分析であってもよい。代替的に、外面は、乗り物の内側部分の外面であってもよい。そのような場合、乗り物は、任意の乗用車であってもよく、乗り物衝撃分析は、乗客に生じやすい衝撃の分析であってもよい。
本方法は、特に、例えば、乗り物の外面のグラフィック表現(例えば、B-Repのテッセレーション)上に重ね合わされた、1つ以上の2点接触曲線のグラフィック表現を表示することを含んでもよい。1つ又は複数の2点接触曲線のこのような可視化は、乗り物衝撃解析を可能にする。
代替的に又は追加的に、本方法は、目視検査機能を実行することを含んでもよい。目視検査機能性は、S20において提供された半径値を有する球体を表示することと、外表面のグラフィック表現に接触することとを含み得る。次いで、この方法は、例えば、ユーザによって、及び触覚デバイス(マウスなど)を用いて、例えば、球をドラッグすることによって、例えば、外面のグラフィカル表現に沿って球をスライドさせることによって、接触球を(例えば、ユーザによって、又は自動的に)移動させることを含んでもよい。このような滑りは、乗り物ー人間の衝撃の発生を表す。特に、ユーザは、S30において決定された任意の2点接触曲線に沿って球体をスライドさせることができる。実際に、乗り物によって衝撃を受けた人間は、1点接触領域上を自由に滑ると考えられ、そのような曲線が満たされると、次に3点接触点が満たされるまで、2点接触曲線に沿って滑ると考えられる。決定ステップS30のおかげで、システムは、湾曲を表示することによって視覚的に、及び/又は湾曲に沿った摺動をロック又は半ロックすることによって、そのような摺動においてユーザを案内することができる。目視検査中、外面及び球体は、外面上の球体の摺動がリアルタイムで表示されるように、常に表示される(ユーザは、球体の動きを見ることができる)。
代替的に又は追加的に、本方法は、これらの点がS30において決定された2点接触曲線に属するか否かに応じて、外面の点における表面の曲率を分析することを含んでもよい。
代替的に又は追加的に、本方法は、S30において決定された1つ又は複数の2点接触曲線に基づいて衝撃シミュレーションを実行することを含んでもよい。
すべての場合において、この方法は、得られた結果に応じて、乗り物が安全基準を満たすかどうかを評価すること、及び/又は乗り物の設計を修正することによって乗り物の安全性を改善することを含んでもよい。
提供するステップS10は、以前に設計されたB-RepのライブラリからB-Repを取り出すステップを含んでもよい。あるいは、提供するステップS10は、B-Repを、最初から、又は以前の設計から開始して設計するステップを含んでもよい。
「3Dモデル化オブジェクトを設計する」は、3Dモデル化オブジェクトを作成するプロセスの少なくとも一部である任意のアクション又は一連のアクションを指定する。したがって、この方法は、3Dモデル化オブジェクトをスクラッチから作成することを含んでもよい。あるいは、本方法が以前に作成された3Dモデル化オブジェクトを提供するステップと、次いで、3Dモデル化オブジェクトを修正するステップとを含んでもよい。
この方法は、決定ステップS30の後に、決定ステップS30に基づいて(例えば、安全性を改善するために)B-Repの設計変更(その設計を修正することによって)を含んでもよい。設計変更は、S30において決定された1つ以上の2点接触曲線に直接基づいて、又は乗り物衝撃解析の一部であるその任意の後処理に基づいて実行されてもよい。設計変更は、S30において決定された1つ以上の2点接触曲線の位置で外面を滑らかにすること(すなわち、その曲率を低減すること)を含んでもよい。
この方法は、提供するステップS10、提供するステップS20、及び決定するステップS30が繰り返されることを繰り返すことができる。
各反復において、提供するステップS10は、前の反復のステップS10において提供されたB-Repを取り出し、設計変更を実行するステップを含んでもよい。反復のうちの1つ又は複数において、設計変更は、前の反復のS30において決定された1つ又は複数の2点接触曲線に直接基づいて、又は乗り物衝撃解析の一部であるその任意の後処理に基づいて実行され得る。これにより、この方法で提案した乗り物衝撃解析に基づいて乗り物のB‐Rep表現を精緻化でき、かくして改良設計に向かって収束する。
代替的に又は追加的に、各反復において、S20において提供される半径値は、以前の反復と同じであってもよく、又は以前の反復と比較して修正されてもよい。後者の場合、B-Repは同じであってもよい。これは、異なる種類の接触球を考慮することにより、改良された衝撃解析を実行することを可能にする。とはいえ、この方法は、半径及びB-Repの両方が1つの反復から別の反復に修正された状態で反復することができる。
境界表現(「B-Rep」としても知られている)フォーマット及びこの方法によって使用されるその概念は広く知られているが、ここで説明する。
B-Repモデルは、位相的エンティティ及び幾何学的エンティティを含む。トポロジーエンティティは、面、エッジ、及び頂点である。幾何学的エンティティは3Dオブジェクト、すなわち、表面、平面、曲線、線、点である。
定義上、面は、支持表面と名付けられた、表面の有界部分である。エッジは曲線の有界部分であり、支持曲線と名付けられている。頂点は3D空間の点である。それらは、以下のように相互に関連している。曲線の境界部分は、曲線上にある2つの点(頂点)によって定義される。表面の境界部分は、その境界によって定義される。この境界は、表面上に横たわる曲線のエッジ(つまり、支持曲線の一部)の組である。面の境界のエッジは、頂点を共有することによって互いに接続される。面は、エッジを共有することによって互いに接続される。定義によれば、2つの面は、それらが前記縁部を共有する場合、縁部において隣接する。同様に、2つのエッジは、それらが頂点を共有する場合、隣接する。
図4及び5は、上面平面と2つの側面円筒面の3つの面で作られた円筒形スロットのB-Repモデルを示している。図4は、スロットの斜視図である。可視面、エッジ、及び頂点に番号を付ける。図5は、全ての面の分解図である。重複した数字は、エッジ及び頂点の共有を示す。面1は、平面の境界部分である。面1の境界はエッジ4及び5を含み、それらの各々は、頂点10及び11によって境界付けられる。これらの縁部は共に同じ支持円を有する。面2は、すべて無限円筒面上に横たわるエッジ6、8、5及び13によって境界される。面1と面2は、エッジ5を共有しているので、隣接している。面2及び3は、エッジ8及び13を共有しているので、隣接している。面1と面3は、エッジ4を共有しているので、隣接している。
図6は、B-Repモデルの「境界がある」トポロジー関係を示す。上位層のノードは面であり、中間層のノードはエッジであり、下位層のノードは頂点である。
図7及び8は、トポロジーエンティティ(面、エッジ、頂点)とサポート形状(無限円筒、無限平面、無限線、円、点)の関係を示している。
CADシステムでは、B-Repモデルは、適切なデータ構造において、「境界がある」関係、トポロジカルエンティティとサポート形状との間の関係、及びサポート形状の数学的記述を収集する。
以下では、表現「表面パッチ」又は「パッチ」は、B-Repの面又はその支持面のいずれかに関して使用することができ、表現「表面」自体は、面又はその支持面のいずれかを指すこともできる。
接触球に対する半径値(例えば、S20において提供される値)が与えられると、k点接触は、体積で外表面と交差することなく、接触球が組のk点で同時に正確に、かつ外表面に接触するB-Repの正確にk点の組である(より少なくない)。言い換えれば、接触球と外面との交点は、ちょうどk点の集合であり、接触球と乗り物との交点(すなわち、外面で区切られたようなB-Repの内部)は、ヌル/ゼロ体積である。接触球は、このような状況に関して「k点接触球」と呼ばれることがある。
決定するS30は、半径値についてB-Repの1つ又は複数の2点接触曲線を出力する。各2点接触曲線は、B-Rep上に横たわる曲線であり、外表面と半径値を有する2点接触球との間の2点接触のシーケンスを表す。各2点接触曲線は連続であってもよい。
各2点接触曲線は、半径値を有する2点接触球が外表面に接触する点の一組の(例えば連続的である)シーケンスを表すことができる。そのような場合、B-Repは3Dで定義され、各2点接触曲線は、
(すなわち、
)における出力値を有する関数に対応してもよい。言い換えれば、各2点接触曲線は、各々が
における値を有する一対の接触曲線であり、その一対の2つの接触曲線は、各々、球の一対の接触のそれぞれの1つのシーケンスを表す。S30において決定した2点接触曲線表現により、同じ2点接触球に対応する接触曲線を対ごとに2×2にグループ化することができる。言い換えれば、決定ステップS30は、1つ以上の2点接触曲線を出力することによって、前記グループ化に関する情報を出力する。
前記情報に基づいて、前記方法は、それぞれの2点接触曲線に対応する2点接触球の軌跡を計算することを含んでもよい。各2点接触曲線が、半径値を有する2点接触球が外面に接触する点の一組のシーケンスを表す場合、本方法は、シーケンスの点の一組の中間点をさらに計算してもよく、このような中間点は、2点球の中心を記述する。このような中点の曲線は、従って、2点球の中心の軌跡を表す。半径はS30において提供されるものであるので、先に言及した目視検査機能は、従って、判定ステップS30の出力に基づいてもよい。目視検査機能性は、特に、S20において提供され、計算された中点を中心とする半径値を有する球体を表示することを含んでもよい。構成により、このような球は、2点接触曲線で外面のグラフィック表現に接触するように表示される。
各2点接触曲線は、多角形によって表すことができる。多角形の各頂点は、それぞれの点の対であってもよい。これにより、2点接触曲線の効率的な表現とS30における効率的な決定が可能になる。一組の点の中点は、それ自体多角形を形成し、これは、2点球の中心の軌道を表す。R^3
次に、この方法の第1の態様について説明する。
第1の態様によれば、決定ステップS30は、対応する2点接触曲線について、B-Repに基づいて対応する微分方程式を解くことを含む。このような場合、S30において、B-Repの微分可能な部分において、それぞれの2点接触曲線が決定される。例では、B-Repは、どこでも区別可能であり得る。いずれにせよ、本方法は、半径値について、B-Repの微分可能部分の全ての2点接触曲線を決定することを含み得る。これは、徹底的な乗り物衝撃分析を可能にする。
既に述べたように、B-Repの各面は、それぞれの表面パラメータ化によってサポートされる。このような場合、S30において解かれる対応する微分方程式は、対応する一対の表面パラメータ化(すなわち、2点接触を支持するもの)に基づいてもよい。したがって、決定ステップS30は、B-Repによって伝えられる連続的で正確な幾何学的表現を完全に活用し、それによって正確な結果をもたらす。
表面パラメータ化のそれぞれの対は、異なるか、又は同一の面であり得る一対の面に対応する。後者の場合に関して、2点接触が、半径値を有する球について、B-Repの単一及び同一面に属するB-Repの2つの異なる部分の間で起こり得ることに留意されたい(例えば、前記面が十分に曲げられている場合)。
{s1,s2}は、表面パラメータ化のそれぞれの対である(ここで、接触が単一の面内で生じる場合、S1はS2はと等しくてもよい)。N1及びN2は、s1及びs2のそれぞれの法線マップである(したがって、s1及びs2によってパラメータ化された面の法線マップである)。(u,v)及び(a,b)は、s1及びs2それぞれのパラメータ対である。RはS20において提供される半径値である。最後に、
はtに関する、u,v,a,bそれぞれの導関数である。
このシステム関数は、B-Repの複数組の点
における球の2点接触を記述する。ここで、各接触は実質的にB-Repの接線であり、法線方向の半径値に等しい長さと、これらの組からの長さは、同じ位置、すなわち球の中心の位置を生み出すはずである。このような関数システムを解くことにより、特に正確な結果が得られる。
さて、対応する微分方程式を解くことは、対応する微分方程式を初期値から積分することを含んでもよい。統合は、ロバストな解決を可能にする。この方法は、任意の既知の方法に従って積分を実行することができる。積分は、2点接触曲線をトレースするので、「トレーシング」と呼ばれることがある。トレースの例は、後でT1と呼ばれる。
例えば、この方法は、数値積分を実行することができる。具体的には、積分は、それぞれがそれぞれの2点接触曲線のそれぞれのセグメント部分を生じる連続した数値積分ステップを含んでもよい。これは、ロバストな統合を可能にする。この方法は、特に、ルンゲ=クッタ法を実施することができる。
この方法は、(I)接触球がB-Repの残りと交差する、(II)面境界に達する、という2つの条件のうちの1つが満たされると評価されるまで、連続した数値積分ステップを実行することができる。これは、適切なときに統合を停止することを可能にする。
条件(I)の場合、「B-Repの残り」とは、2つの接触(すなわち、各ステップで積分によって得られる
)に対応するB-Repの2つの点から離れたB-Repの他のすべての位置を意味する。言い換えれば、積分は、半径値Rの接触球が、
においてB-Repに接触する場合において、B-Repの第3の部分と衝突すると評価されるときに停止する。これは、局所球の3点接触の発生、言い換えれば、3点接触球の発生に対応する。そのような場合、2点接触は、前記第3の部分の存在によって物理的に停止される。
条件(II)の場合、積分は、数値積分ステップが継続された場合、もはや面に位置する結果をもたらさない。したがって、条件(II)による積分の停止は、2点接触位置である2点接触曲線の末端をもたらす。面の境界は、B-Repの境界(したがって、開いたB-Repである)であり、そのような場合、積分の終わりは、曲線の終わりに対応するか、又は面の境界は、隣接する他の面の境界でもあり、そのような場合、2点接触曲線は、切り捨てられるが、前記隣接する面について同様に決定された別の2点接触曲線に接続することができる。
それぞれの微分方程式の解法は、例えば、各電流積分ステップにおいて、接触球と残りのB-Repとの交点をテストするステップ(I)と、テストが肯定的である場合に積分を停止するステップ(条件(I))とを含んでもよい。解くことは、(II)面境界に到達したかどうかをテストし、テストが肯定的である場合、積分を停止すること(条件(II))をさらに含んでもよい。この第2のテスト(II)を実施することは、否定的であった第1のテスト(I)(すなわち、第1のテストが肯定的であった場合、第2のテストの必要はない)に調整され得る。
条件(I)の場合、本方法は、最後の数値積分ステップの数にそれぞれ対応するセグメント部分を廃棄(及び任意選択的に置き換える)、又は代替的にかつ同等に切り捨てることができる。置換又は切断は、結果として得られる曲線が3点接触位置で正確に終わるようなものであってもよい。セグメント部分の数は、浮動小数点数であってもよく、すなわち、ステップ及び/又はステップの分数を切り捨てなければならない。そのような場合、方法は、半径値に対するB-Repの3点接触点の位置を出力すること、及び/又はそのような3点接触点のグラフィック表現を表示すること(例えば、1つ又は複数の2点接触曲線を表示することに加えて)をさらに含んでもよい。後に紹介される例に沿って、置き換えるステップの数の決定は、3ptの接触球(例えば、第2のトレーシングブロックT2)を配置する他の微分方程式解法によって行うことができる。条件(II)の場合、本方法は、例えば、面境界で正確に終了するように、セグメント部分を最後の数値積分ステップにそれぞれ任意選択で二分することができる。最初の検査が肯定的であるかどうかにかかわらず、2回目の検査が実施されており、2回目の検査が肯定的の場合、条件(I)が優勢となる可能性がある。
条件(I)のテストは、Rのオーダーであるがそれよりも小さい半径Rを有する局所球をB-Repのテッセレーションと交差させることを含んでもよい。局所球は、0.9*R又は0.95*Rより大きい半径、例えば、0.99*Rに等しい半径であってもよい。ローカル球は、接触球と同じ中心(すなわち、2点接触曲線の中間点)を有していてもよい。交差が非ヌルボリュームを有する場合、本方法は、条件(I)が満たされることを評価することができる。球をB-Repのテッセレーションと交差させることによって、条件(I)のテストを比較的高速に行うことができる。しかし、テッセレーションはB‐Repに対して、外表面の正確な形状に離散化誤差を導入する。この誤差は、モザイク分解能に対応する。接触球の半径値よりも小さい半径を有する局所球の交差をテストすることによって、テストは、誤った肯定的の結果を得る確率を減少させ、したがって、積分を不適切に停止させる。
接触球がB-Repの残りと交差するという条件(I)が満たされる場合、決定するステップS30は、B-Repに基づいて別のそれぞれの微分方程式を解くステップをさらに含んでもよい。前述したように、これは、最後の数値積分ステップに対応するセグメント部分を切り捨てることに置き換えることができる。この他の一組応する微分方程式は、同じ一組応する一組の表面パラメータ化{s1,s2}に基づいていてもよく、さらにs3と表される別の表面パラメータ化に基づいていてもよく、交差を支持する。パラメータ化s3は、第3の部分を含む面(交差が生じる面)を支持する面の1つである。この第3の面は、s1によって支持される面と同じであってもよく、及び/又は、s2によって支持される面と同じであってもよく、又は、B-Repの異なる面であってもよい。前者の場合に関して、半径値を有する球について、B-Repの単一の同じ面に属するB-Repの3つの異なる部分の間で、3点接触が生じ得ることに留意されたい(例えば、前記面が十分に曲げられている場合)。この他の対応する微分方程式を解くことにより、最後のセグメント部分を精緻化し、3点接触位置の数値的に正確な位置を得ることができる(これは、数値的公差、すなわち、対応する浮動小数点単位の精度までを意味する)。
初期解法に関しては、他の対応する微分方程式の解法は、対応する微分方程式を初期値から積分することを含み得る。他のそれぞれの微分方程式は、前の数値ステップ(切り捨ての場合には非常に最後のステップ、置換の場合にはより早いステップ)の終わりに、初期のそれぞれの微分方程式と共通のソリューションを有することができる。前記共通のソリューションは、他のそれぞれの微分方程式の数値積分を初期化することに依拠することができる。したがって、最後の数値積分ステップにおける曲線の終わりは、他のそれぞれの微分方程式の積分の初期値の一部となる。
他のそれぞれの微分方程式の解はまた、曲線(置換の場合には2点接触曲線の最終部分、切捨ての場合には消去されるべき2点接触曲線の部分)もトレースするので、「トレーシング」と呼ばれることがある。トレースの例は、後でT2と呼ばれる。また、初期積分に関しては、他の微分方程式の積分は、それぞれがそれぞれの2点接触曲線のそれぞれのセグメント部分を生じる連続的な数値積分ステップを含んでもよい。最後に、この方法は、3点接触位置で正確に停止するように、最後のそれぞれのセグメント部分を二等分することを含んでもよい。
以下に示すように、第1の微分方程式は、
に存在し、終わりに4つのパラメータ(u,v,a,b)を与える。第2の微分方程式は、追加のパラメータ(c,d,l)を有する
に存在する。後者のパラメータの初期値を得るために、本方法は、最後のパラメータ(u,v,a,b)に関連する球の中点から第3の面s3への直交射影を計算することができる。そして、(c,d)は直交射影がs3に当たる点のパラメータであり、lはこの直交射影の長さである。
他のそれぞれの微分方程式は、以下のとおりであってもよい。
DF*は、パラメータt*(すなわち、考慮される微分/ヤコビアンをパラメータ化する変数)に対する、以下によって提供される拡張システム関数
の微分(例えば、ヤコビアン)である。
s3は、他の表面パラメータ化である(ここで、3点接触が2つの面のみ、又は単一の面内でさえ生じる場合、s3はs1及び/又はs2と等しくてもよい)。N3は、s3のそれぞれの法線マップ(したがって、s3によってパラメータ化された面の法線マップ)である。(c,d)は、s3のそれぞれのパラメータ対である。lは、s1(u,v)及びs2(a,b)と接触する半径Rの球の中心の直交投影の長さである。直交投影は、他方の表面s3上にあってもよい。最後に、
は、t*に関するu,v,a,b,c,d,lのそれぞれの導関数である。
このシステム関数は、3点の組
における変形可能球の3点接触を記述する。ここで、変形は、3点接触位置を通過する、交差した面と直交する方向への後退又は伸長である、このような関数システムを解くことにより、特に正確な結果が得られる。
特に、最初に計算された軌跡の一部を切り捨てる方法の場合、決定するステップS30は、l(t*)が各数値積分ステップにおけるRよりも高いかどうかを評価するステップと、テストが否定的である限り積分を継続するステップとを含んでもよい。lがRよりも大きくなると、3点接触が経過したことを意味する。このような場合、この方法は、最後のセグメント部分を二等分して、曲線を正確に3点接触位置で停止させることができる。二等分されたセグメント部分の先端は、3点接触位置として出力されてもよい。この方法が最後のセグメントを置き換える場合、原理は同じであるが、テストが肯定的である限り、決定ステップS30は積分を継続することができる。
ゼロの発見は、任意の方法で実行することができる。例えば、ゼロの発見は、B-Repの一対の開始点からの、B-Rep上の根発見アルゴリズムを含んでもよい。これは、方法にロバスト性を提供する。特に、根発見アルゴリズムは、ニュートン反復であってもよい。
判定ステップS30は、根発見アルゴリズムの開始点の対を任意の方法で設定することができる。例えば、決定するステップS30は、B-Repをテッセレーションするステップと、テッセレーションを処理するステップとを含んでもよい。テッセレーション(すなわち、テッセレーションの結果)は、実施されるテッセレーションアルゴリズムに応じて任意の種類のメッシュであってもよい。
この処理は、半径値Rについて、1点接触頂点及び非接触頂点を識別することを含む。言い換えれば、ここでの方法は、グローバル離散的なHIDを実行する。これは、先行技術を含む任意の方法で実行することができる。例えば、識別するステップは、メッシュに垂直でメッシュから乗り物の外側に向かう方向(外側表面を表す)において、Rに等しい半径の接触球でテッセレーションの各頂点に接触することを含んでもよい。この方法は、任意の方法で、例えば、メッシュのタッチされた頂点に隣接するすべての面の法線ベクトルの手段として、法線方向を決定することを含んでもよい。次いで、識別するステップは、接触球が非ヌル体積を有するメッシュの他の部分と交差するかどうかを評価することを含んでもよい。非ヌル交差がある場合、頂点は非接触頂点である(交差は球が衝突によって頂点に接触することを禁止するため)。そうでない場合、交点がヌル体積の場合、頂点は1点コンタクト頂点になる。グローバル離散的なHIDは、任意選択で、頂点における外面の曲率に応じて、1点接触頂点をクリティカル頂点又は非クリティカル頂点としてマーキングすること、及び/又はそのようなクリティカル頂点の周りのメッシュを修正することなど、他の処理を実行することができる。
次に、この処理は、遷移エッジを定義するステップを含む。各定義された遷移エッジは、それぞれの1点接触頂点及びそれぞれの非接触頂点によって境界付けられたエッジである。例では、それぞれの1点接触頂点及びそれぞれの非接触頂点によって境界付けられるメッシュのすべてのエッジは、遷移エッジとして定義され得る。
次いで、決定するステップS30は、それぞれの遷移エッジに基づいて、根発見アルゴリズムのための開始点のペアを設定するステップを含んでもよい。遷移エッジは、2点接触が起こりやすいB-Repの領域に対応する。従って、それぞれの遷移エッジの位置は、Fのゼロを見つけるための、そしてそれから微分方程式を積分するための、良い出発点となり得る。
B-Repをテッセレーションするとき、メッシュの各タイル(すなわち、メッシュ面)は、B-Repのそれぞれの部分に対応し、テッセレーションアルゴリズムは、そのような対応をトレースし続けることができる。言い換えれば、テッセレーションアルゴリズムは、B-Rep面の位置とメッシュ上の位置との間の全単射を定義するための情報を出力することができ、B-Repの各点は、メッシュの一意の位置に解釈することができ、逆に、メッシュの各位置は、B-Repの一意の点に解釈することができる。
根発見アルゴリズムのための開始点の一組の設定は、根発見アルゴリズムがゼロを発見するまで反復されるスキームを含んでもよい。反復スキームは、遷移エッジを選択することを含んでもよい。遷移エッジは、表面パラメータ化
のそれぞれの対によってサポートされる面のうちの1つのテッセレーションのエッジであってもよい。反復スキームは、選択された遷移エッジに基づいて候補開始点のペアを確立することをさらに含んでもよい。例えば、確立することは、遷移エッジの第1の位置(遷移エッジの2つの頂点間の任意の位置、及び場合によっては前記頂点のうちの1つに限定されないが)に対応するB-Repの点として一組の第1の点を確立することと、第1の点と2点接触一組を実質的に形成するための候補であるB-Repの別の点として一組の第2の点を確立することとを含んでもよい。これは、例えば、選択された遷移エッジを二等分することを含んでもよい。一例は、後に提供される。反復スキームは、次いで、候補開始点の対から、B-Rep上で根発見アルゴリズムを実行することによって、Fのゼロを発見することを試みることを含んでもよい。試みが成功した場合、反復は停止することができる。さもなければ、新しい遷移エッジが選択されてもよい。候補開始点は、「近似接触点」と呼ばれることもある。
次に、この方法の第2の態様について説明する。
第2の態様によれば、決定するステップS30は、B-Repの複数の部分対のそれぞれの部分対について、それぞれの2点接触曲線計算アルゴリズムを含む。計算アルゴリズムは、部分のそれぞれの対に基づく。そして、計算アルゴリズムは、複数対の部分にわたって並列化される。
「2点接触曲線計算アルゴリズム」とは、それぞれの一組の部分(もしあれば)のすべての2点接触曲線を計算することを試みるアルゴリズムを意味し、前記それぞれの一組の部分は、アルゴリズムへの入力として提供される。部分の入力ペアについて、計算アルゴリズムは、例えば、単に、部分の入力ペアの間に2点接触曲線が存在しないことを決定するだけで、ヌル結果を十分に出力することができる。
B-Repの「部分の対」は、B-Repの部分の対のあらかじめ決められた組を意味し、B-Repの「部分の対」は、B-Repの正確に2つの部分(又は部分)の組である。一組の2つの部分は、異なるものであっても同じものであってもよい。後者の場合に関して、半径値Rを有する球について、B-Repの単一の同じ部分内で(例えば、前記部分が十分に曲げられている場合)、2点接触が起こり得ることに留意されたい。
ここで、計算アルゴリズムは、前記複数対の部分にわたって並列化される。これは、この方法が、同じ計算アルゴリズムの複数の並列スレッドを起動することを含み、各スレッドが、複数の部分のそれぞれのペアを入力として受け取ることを意味する。このような並列化は、超並列プロセッサ(MPP)又はGPUのような、並列処理のために構成された任意のハードウェアによって実行することができる。
複数の部分対のうちの各部分対の各部分は、B-Repのそれぞれの面であってもよい。言い換えれば、複数対の部分は、B-Repの複数対の面である。さらに言い換えれば、決定するステップS30は、複数対の面のそれぞれの対について、それぞれの対の面に基づくそれぞれの2点接触曲線計算アルゴリズムを含み、計算アルゴリズムは、複数対の面にわたって並列化される。
複数の部分対は、B-Repの区画を形成するB-Repの部分の組の全ての対から(正確に)構成されてもよい。B-Repの考慮される区分は、単にB-Repの面の組であってもよく、計算アルゴリズムは、B-Repの面のすべての一組の組(同じ面の2倍の一組を含む)にわたって並列化されてもよい。これは、並列化中に同時に実行される計算によって提供される時間の利得と、スレッドのデカップリング、待機、及び再カップリングによる時間の損失との間の良好なトレードオフを提供する。これは、乗り物のB‐Repに基づく乗り物衝撃解析の目的のための最も効率的な分割であることを証明した。
第1の態様におけるように、決定するステップS30は、B-Repをテッセレーションするステップと、テッセレーションを処理するステップとを含んでもよい。テッセレーション(すなわち、テッセレーションの結果)は、実施されるテッセレーションアルゴリズムに応じて任意の種類のメッシュであってもよい。
そのような場合、処理は、半径値Rについて、1点接触頂点及び非接触頂点を識別することを含む。言い換えれば、ここでの方法は、グローバル離散的なHIDを実行する。これは、先行技術を含む任意の方法で実行することができる。例えば、識別することは、頂点でメッシュに垂直でメッシュから乗り物の外側に向かう方向(外側表面を表す)に、R等しい半径の接触球で、テッセレーションの各頂点に接触することを含んでもよい。この方法は、任意の方法で、例えば、メッシュのタッチされた頂点に隣接するすべての面の法線ベクトルの手段として、法線方向を決定することを含んでもよい。次いで、識別することは、接触球が非ヌル体積を有するメッシュの他の部分と交差するかどうかを評価することを含んでもよい。非ヌル交差がある場合、頂点は非接触頂点である(交差は球が衝突によって頂点に接触することを禁止するため)。そうでない場合、交点がヌル体積の場合、頂点は1点コンタクト頂点になる。グローバル離散的なHIDは、任意選択で、頂点における外面の曲率に応じて、1点接触頂点をクリティカル頂点又は非クリティカル頂点としてマーキングすること、及び/又はそのようなクリティカル頂点の周りのメッシュを修正することなど、他の処理を実行することができる。
次に、この処理は、遷移エッジを定義することを含む。各定義された遷移エッジは、それぞれの1点接触頂点及びそれぞれの非接触頂点によって境界付けられたエッジである。例では、それぞれの1点接触頂点及びそれぞれの非接触頂点によって境界付けられるメッシュのすべてのエッジは、遷移エッジとして定義され得る。
さらに、そのような場合、計算アルゴリズムは、部分のそれぞれのペアについて、部分のそれぞれのペア(例えば、面)のそれぞれの遷移エッジのそれぞれの組を入力として取る。それぞれの組の遷移エッジは、それぞれの対の部分(例えば、面)のすべての遷移エッジ、又はそのサブパーツからなることができる。これにより、アルゴリズムの速度が向上する。サブパートは、2点接触曲線に導きやすいものとして検出された全ての遷移エッジから構成されてもよい。このような検出の例を以下に示す。そのような遷移エッジが検出されないか、又は遷移エッジが全くない場合、計算アルゴリズムは入力を有さず、したがって、それぞれの対についてヌル結果を単に出力することができる。
決定するステップS30が、B-Repをテッセレーションするステップと、テッセレーションを処理するステップとを含む場合、テッセレーションは、部分の組(例えば、面の組)にわたって並列化されてもよい。これは、B-Repの異なる部分(例えば、面)が安全なスレッドにおいて別々にテッセレーションされ得るので、方法の速度を増加させる。そのような場合、処理及び計算アルゴリズムは、テッセレーションが終了した後に実行されてもよい。これにより、処理前に固定メッシュを得ることができ、処理とメッシュ構成とが競合することがない。これは、スレッドの安全性を高める。
決定するステップS30が、B-Repをテッセレーションするステップと、テッセレーションを処理するステップとを含む場合、処理は、部分の組(例えば、面の組)にわたって並列化されてもよい。これは、B-Repの異なるモザイク状部分(例えば、面)が安全なスレッドにおいて別々に処理され得るので、方法の速度を増加させる。このような場合、演算アルゴリズムは、処理が終了した後に実行されてもよい。これは、計算アルゴリズムを実行する前に固定メッシュを得ることを可能にする。これは、スレッドの安全性を高める。
決定するステップS30が、B-Repをテッセレーションするステップと、テッセレーションを処理するステップとを含む場合、部分(例えば、面)のそれぞれのペアについて、コンピューティングアルゴリズムは、遷移エッジのそれぞれの組が空になるまで繰り返される反復スキームを含んでもよい。反復スキームは、(2点接触曲線計算アルゴリズムに入力された)遷移エッジのそれぞれの組から遷移エッジを選択することを含む。反復スキームはまた、選択された遷移エッジに基づいて、2点接触曲線のトレースを試みることを含む。トレースの試みが成功した場合、反復スキームは、トレースされた2点接触曲線と交差するすべての遷移エッジを、遷移エッジのそれぞれの組から削除することを含む。これにより、同じ2点接触曲線を2度トレースするリスクを低減することができる。トレースの試みが成功しなかった場合、何もトレースされず、したがって何も発生しない。反復スキームはさらに、遷移エッジのそれぞれの組から、選択された遷移エッジを削除することを含む。これは、反復の最終的な終了を確実にし、これは、同じ曲線の2倍をトレースするリスクを低減し、したがって、効率を向上させる。
決定するステップS30は、候補開始点の1つ又は複数の対を確立することを試みるステップを含んでもよい。各候補開始点は、それぞれの一組の部分(例えば、面)のそれぞれの部分に属する。言い換えれば、決定するステップS30は、考慮された部分のペア内の開始点の候補ペアを探し、部分毎に1つの候補開始点を有する。さらに、確立は、部分のそれぞれの一組のそれぞれの遷移エッジ(したがって、一組の2つの部分のいずれかに属する)に基づいて、候補開始点のそれぞれの一組について試みられ、確立する試みは、部分のそれぞれの一組のすべての遷移エッジ(たとえば、面)にわたってループすることができ、ループ自体が、テッセレーションのすべての遷移エッジにわたってよりグローバルなループ内にあることができる。これにより、網羅性が得られる。確立の試みは、複数の部分対にわたって、又は部分の組にわたって並列化され得る。両方の選択肢は、決定ステップS30の速度を増加させる。
計算アルゴリズムに入力された遷移エッジのそれぞれの組は、確立試行の結果に基づいてポピュレートされ得る。具体的には、判定ステップS30は、確立の試みが成功することを可能にする各遷移エッジを、遷移エッジのそれぞれの組に追加することができる。それぞれの組は、最初は空であり、最終的に、そのような追加されたすべての遷移エッジで埋められてもよい。
したがって、確立の試みが成功しなかった場合(すなわち、候補開始点のペアが確立されなかった場合)、決定ステップS30は、部分(例えば、面)のそれぞれのペアについて停止することができ、したがって、計算アルゴリズムは、計算アルゴリズムがヌル入力を有するので、それぞれのペアについてヌル結果を単に出力することができる。
逆に、確立の試みが、部分(例えば、面)のそれぞれのペアについて成功した場合、計算アルゴリズムは、以下のように実行されてもよい。
選択された遷移エッジは、定義上、計算アルゴリズムに入力される遷移エッジのそれぞれの組のそれぞれの遷移エッジであり、したがって、それぞれの遷移エッジに基づいて、候補開始点のそれぞれのペアを確立する際に判定ステップS30が成功した。
そのような場合、トレースの試みは、候補開始点のそれぞれの対から開始して、2点接触曲線に属するそれぞれの開始点を見つけることを試みることを含む。発見の試みが成功した場合、トレースの試みは、初期点から2点接触曲線をトレースすることを含み、したがって、成功する。そうでない場合、検索の試行が失敗すると、トレースの試行も失敗する。このような場合、スキームは、次の反復に進み、コンピュータアルゴリズムは、遷移エッジのそれぞれの組から別の遷移エッジを選択し、トレースを再試行する。これは、遷移エッジのそれぞれの組が空になるまで繰り返される。すべてのトレース試行が失敗した場合、計算アルゴリズムは、単に、対応するペアについて、ヌルの結果を出力する可能性がある。
本方法の第1の態様と同様に、トレース(成功した場合)は、対応する微分方程式を積分することを含み得る。このような場合、本方法の第1の態様のように、微分方程式は、対応する対の部分の一対の表面パラメータ化に基づく。微分方程式は、方法の第1の態様と同じもの、すなわち、
であってもよい。前記それぞれの微分方程式を解くことは、Fのゼロ
を見つけることを含んでもよい。それぞれの微分方程式を積分するための初期値は、次式で与えられる。
方法の第1の態様におけるように、ゼロの発見は、任意の方法で実行されてもよい。例えば、ゼロの発見は、(確立の試みが成功した場合に)確立されたB-Repの候補開始点のペアからの、B-Rep上の根発見アルゴリズムを含んでもよい。これは、方法にロバスト性を提供する。特に、根発見アルゴリズムは、ニュートン反復であってもよい。
方法の第1の態様におけるように、試みを確立することは、一組の第1の点を、それぞれの遷移エッジの第1の位置(それぞれの遷移エッジの2つの頂点の間の任意の位置、及び場合によっては、これらに限定されないが、これらの頂点のうちの1つ)に対応するB-Repの点として確立することと、一組の第2の点を、第1の点と2点接触一組を実質的に形成するための候補であるB-Repの別の点として確立することを試みることとを含んでもよい。これは、例えば、それぞれの遷移エッジを二等分することを含んでもよい。一例は、後に提供される。次いで、発見の試みは、候補開始点の対から、B-Rep上で根発見アルゴリズムを実行することによって、Fのゼロを発見することを試みることから成ることができる。
次に、図9~図50を参照して、本方法の実施形態を説明するが、ここで、図のいくつかは、前記実施形態に沿って、テストされたプロトタイプソフトウェアの実際のスクリーンショットを表す。
図9~10は、S10で提供され得る入力B-Repジオメトリの例を示す。図示のB-Repは、車体部分の特定の半分において、車の外側部分の外側表面を表す。以下の議論は、特に言及しない限り、この実施例に言及する。
議論された実装では、決定ステップS30は、B-Repをテッセレーションし、テッセレーションを処理することを含む。この処理は、半径値について、1点接触頂点及び非接触頂点を識別することを含む。前記識別は、任意の既知のグローバルヘッドインパクト診断(HID)に従って実行されてもよい。実装は、ダッソーシステムズのICEM Surfによって提供されるグローバルHIDを用いてテストされており、これは、入力B-Repジオメトリのテッセレーションのみに作用し、それが「離散的」と呼ばれる理由である。したがって、論じられた実装及びテストされたプロトタイプは、この既存のグローバル及び個別のHID機能を基礎とする。
グローバル及び個別のHID機能は、ユーザの1つの選択のみを含むことができ、したがって、使用が容易である。ただし、結果の精度は、離散化の精度、つまりメッシュの精度に依存する。これは、ランタイム複雑度がこれらのパラメータにおいて二次的にスケーリングされるように、それぞれ許容範囲、長さパラメータを介して任意に精緻化することができる。したがって、既存の機能は、(グローバル及び離散的なHID機能によって行われるように)1点接触頂点を決定するために許容可能であるが、2点接触曲線、及び孤立した3点接触球のS30においての決定にはあまり適していない(これは、提供される方法が介在し、既存の機能に追加する場合である)。
図11-12は、入力B-Rep上の離散的なHIDの結果を示し、図12は、図11の結果の頂点方向(ズームイン)視覚化を示す。図から分かるように、長さ=5ミリメートルで比較的高い精度を得ることができる。長さパラメータは、一般に、関係する特定の例に合わせて調整することができる。この場合、非常に短い長さ、すなわち、長さ=5ミリメートルが使用され、これは、一般に、非常に正確な結果を得るための良好な値であり得る。緑でマークされた領域112は、頂点である、いわゆるアクティブ頂点であり、それぞれの1点接触球は、その接続点(すなわち、1点接触頂点)を除いて、入力ジオメトリと交差しない。他のすべての頂点114は、非アクティブと呼ばれ、青色(すなわち、非接触頂点)とマークされる。このアルゴリズムは、頂点ごとに機能し(図12参照)、標準的なシェーディングを用いて、この方法は、図11の結果を得ることができる。
図13~14を参照すると、アルゴリズムの結果を理解し、制御するために、ユーザは、いわゆる視覚検査機能(又は「検査」)を実行するオプションを有し、ユーザは、頂点を選択し、その結果、それぞれの1点(半/半)接触球130、140が視覚化される:緑球130がアクティブであり、青球140が非アクティブである。図13では、1点接触球130が残りの形状と交差しないようにアクティブ頂点が選択され、図14では、1点接触球140が交差するように非アクティブ頂点が選択された。図14では、青色球140は、黄色マーカ142を介した視覚化によっても示されている幾何学的形状の残りの部分と明確に交差している。
いくつかの臨界領域を有する図11~12のフロントライトセクションのクローズアップを表す図15を参照すると、離散的なHIDの従来技術の機能性は、外部(主に車のフロント)及び内部(主にダッシュボード)のある領域に対する湾曲制限に対処するように調整され、それぞれの領域の点に取り付ける1点接触球に関連付けられる。仕様のこの部分に関するクリティカル領域は、個別のHIDによって赤色にマークされてもよい。これらは、一点接触球に対して臨界曲率を有するマーク領域150である。
しかしながら、
・離散的なHIDは1点接触球のみを考慮する。
・さらに、結果の精度はメッシュパラメータに依存し、基本的には連続B-Rep入力ジオメトリを使用する結果に対する近似のみである。図19~20を参照すると、これは、緑色領域112から青色領域114への遷移190において最も良く識別することができ、この場合、結果のメッシュ依存性がはっきりと見える。
・これらの遷移の近似は見えるが、2点又は3点接触球を検査する可能性はない。これは、アルゴリズムが頂点的に機能するため、2PCSに対応するエッジ上にポイントがあるにもかかわらず、遷移エッジ(1つのアクティブな頂点と1つの非アクティブな頂点を持つメッシュ内のエッジ)上では、このポイントは計算されず、結果のデータモデルには表されず、それによってユーザの検査のためにアクセスできないという事実に起因する。
・1点接触球は、第1の衝突点をモデル化するが、衝突が生じる角度に応じて、事故参加者の頭部又は膝は、典型的には、静的幾何学モデル内の2点接触球に対応する第2の接触点が生じる構成に達するまで、乗り物の表面上を滑る。この時点で、加えられる力は、1点接触の場合よりも厳しい。しかしながら、依然として1つの自由度があり、すなわち、第3の接触点が現れるまで、頭部/膝(やはり衝突角度に依存する)は、典型的には、2点接触球の曲線に沿って滑る。後者は、3点接触球に対応し、これは、衝撃のすべての力が事故犠牲者に負荷をかけない最終構成である。これにより、2点及び3点接触球は幾何学的構成であり、事故の解析及びシミュレーションに役立つ。
・離散的なHIDは1点接触球のみを考慮する。
・さらに、結果の精度はメッシュパラメータに依存し、基本的には連続B-Rep入力ジオメトリを使用する結果に対する近似のみである。図19~20を参照すると、これは、緑色領域112から青色領域114への遷移190において最も良く識別することができ、この場合、結果のメッシュ依存性がはっきりと見える。
・これらの遷移の近似は見えるが、2点又は3点接触球を検査する可能性はない。これは、アルゴリズムが頂点的に機能するため、2PCSに対応するエッジ上にポイントがあるにもかかわらず、遷移エッジ(1つのアクティブな頂点と1つの非アクティブな頂点を持つメッシュ内のエッジ)上では、このポイントは計算されず、結果のデータモデルには表されず、それによってユーザの検査のためにアクセスできないという事実に起因する。
・1点接触球は、第1の衝突点をモデル化するが、衝突が生じる角度に応じて、事故参加者の頭部又は膝は、典型的には、静的幾何学モデル内の2点接触球に対応する第2の接触点が生じる構成に達するまで、乗り物の表面上を滑る。この時点で、加えられる力は、1点接触の場合よりも厳しい。しかしながら、依然として1つの自由度があり、すなわち、第3の接触点が現れるまで、頭部/膝(やはり衝突角度に依存する)は、典型的には、2点接触球の曲線に沿って滑る。後者は、3点接触球に対応し、これは、衝撃のすべての力が事故犠牲者に負荷をかけない最終構成である。これにより、2点及び3点接触球は幾何学的構成であり、事故の解析及びシミュレーションに役立つ。
2点接触球関連仕様の例を表すECE R-26から抽出された図面を表す図16~18を参照すると、前述の仕様(例えば、EU及び米国規則で定義された)は、さらに、2点及び3点接触球の接触点に関連する、はるかに制限された領域における曲率基準に関して制限を課す。
新車の仕様に対する適合性を保証する検査プロセスは、広範囲にわたるプロセスであり、そのプロセスは、むしろ、複数の段階でその設計プロセスの間に組み込まれてもよい。これは、初期の設計から始まり、設計及び製造プロセスの後の段階では安全規則に沿って持ち込むことができない設計草案を提供することの落とし穴を回避することができる。設計プロセスの中間段階では、初期設計提案が現在いくつかの追加境界条件を満たさなければならないため、典型的には中小規模の再設計の複数のサイクルが存在し、それは技術的観点から車のエンジニアリングから誘導される。完全に機能するプロトタイプが利用可能な後の段階では、最終的に、地方自治体が、特に歩行者及び乗客の安全性を含む安全規制を遵守するためにプロトタイプをチェックする制御プロセスが存在する。
後者は、人体の重要な部分に焦点を当て、事故中の歩行者又は乗客に対する頭部又は膝の衝撃を推定するために、それぞれの仕様は、球体が乗り物の外部又は内部と衝突するときに球体(頭部又は膝のモデルとして)を考慮する静的な幾何学的構成を使用する。これらは、今度は、幾何学的に言えば、所与の幾何学的形状(この例では乗り物)に対して計算され得る、いわゆる接触球を指す。表面入力形状に対する一般的な形状学的状況は、1点、2点、3点それぞれの接触球の2次元、1次元、ゼロ次元集合がそれぞれ存在することである。この方法の実装によって扱われる最初の技術的問題は、それらの計算である。第2の技術的課題は、自動車会社が自動車開発のたびに保証しなければならないコンプライアンスプロセスに、どのように効果的に付随させるかということである。本方法の実施は、2点及び3点接触球に対する対話型検査機能と、幾何学的接触球問題が解決された後にリアルタイムで実行され得るそれぞれの視覚化とを提案する。
本方法の実施は、安全コンプライアンスのプロセスを容易にする複数の部分からなり、その中核において、全ての関連する2点及び3点接触球の計算から始まる。しかしながら、オペレータは実際にはるかに一般的である。これは、本質的に、オフセット面のための交差演算子である。例えば、(入力面のオフセットをゼロに設定することによって)表面-表面交差の結果をもたらすように容易に適合させることができる。
さらに、本方法の実施の検査機能は、乗り物の開発プロセスに関与する設計者及び技術者、ならびにそれぞれの当局の検査者が、2点及び3点接触球によって表される幾何学的状況に関連する重要な構成を分析することを可能にする。これらの検査機能は、典型的には、そのような幾何学的構成の手動構築をビットごとに含む複雑な手動プロセスによって実現され得る。これは、指定された専門家の労働時間に対応するだけでなく、複数の機会にそれぞれの開発プロセスを中断する。
本方法の実施の第1の特徴は、常微分方程式に関連する数値解法に依拠して、2点接触球の曲線を計算するためのアルゴリズムであり、これは、局所的な2点接触球及び直交投影の微分を記述するゼロセットをトレースする。数値積分処理の各ステップにおいてこの結果をグローバル化するために、複雑な交差アルゴリズムを使用することができ、このアルゴリズムは、入力ジオメトリの境界ボックス階層を構築し、所与の球体と入力ジオメトリとの交差問題を対数時間複雑度で解く。これは、(入力ジオメトリの微分可能な点で接触する)すべての2点及び3点接触球を計算する技術的問題を解決する。
本方法の実施形態の第2の特徴は、ユーザが計算された接触球をリアルタイムで対話式に調査することを可能にするそれぞれの検査機能によって与えられる。これは、特に、2点接触球を選択し、それを入力幾何学形状に沿ってリアルタイムで移動させる可能性を含む。後者は、ユーザが計算結果の精度を制御し、安全仕様への準拠を保証するための重要な手段を差し引くことを可能にする視覚化を伴う。これは、欧州、米国及びアジアの自動車会社によって実施されているような新しい乗り物の開発のための典型的な設計及びエンジニアリングプロセスにコンプライアンスプロセスを組み込むための効率的なプロセスを設計する技術的問題を解決する。
図19~20を参照すると、本方法の実施によって提供される連続HIDは、既存の離散的なHIDと比較して高い精度を提供する。これは、新しいアプローチに基づくすべての計算が、離散化ではなく連続入力ジオメトリに依存するという事実によるものである。これにより、最新のCPUの入力記述及び浮動小数点ユニットに使用されるB-Repの数値公差まで正確な計算が可能になる。
図19~20は、離散的なHIDと連続HIDとの比較を示しており、ここで2つは重ね合わせて表示されている。離散的なHIDは、青色領域114及び緑色領域112を生成し、その遷移190は、2点接触球の接触線を大まかに記述する。それらは、正確でもなく、検査のためにアクセス可能でもない。連続HIDは、数値公差に関して正確であるだけでなく、選択可能であり、徹底的な検査を可能にする黄色の接触線192を提供する。
図21~22に示されるように、連続HIDの結果の性質は、2点及び3点接触球を検査することを可能にし、これは、それらのエンティティが単に離散的アプローチによって計算されないので、離散的コンテキストでは不可能である。図21~22は、それぞれの尺度を視覚化した2点及び3点接触球検査の例を示す。これらの視覚化は、検査される接触球、すなわち球自体(半球又は半球として視覚化される)、接触点、及び関連する距離に関連するすべての幾何学的実体である。さらに、連続HIDの検査機能により、2点検査球の中点を、その関連する中間曲線に沿ってドラッグすることができる。
実装形態のグローバルコンタクトスフィアアルゴリズム(すなわち、「連続HIDアルゴリズム」とも呼ばれる判定ステップS30の一部)は、その開始値計算のため、ならびに可能な面ペア(潜在的な2点コンタクトスフィアを配置することができる)を迅速に見つけるために、通常のヘッドインパクト診断の結果を使用する。したがって、通常のヘッドインパクト診断のより正確な結果は、より良好なグローバルコンタクトスフィア結果を生成する。これは、精度と性能との間のトレードオフである。
次に、連続HIDアルゴリズムの実施について説明する。この議論は、それぞれのフローチャートを介して段階的な説明を提供する。
図23を参照すると、これは、以下で「コーナー」と呼ばれる、非常に単純な入力ジオメトリに適用される、接触球アルゴリズムの間の結果を与えることによって例示される。後者は、メッシュを組み込んだアルゴリズムの部分の説明を容易にするために、時々メッシュとして可視化される。図23は、単純な入力ジオメトリとして3つのB-Rep-表面からなるコーナーを示す。
図24を参照すると、接触球アルゴリズムの最上位レベルの流れは、5つのステップからなる。
図25~図26は、単純な例について、表面前処理(ステップ1及びステップ2)及びステップ2の後の結果のフローチャートをそれぞれ示す。
図25を参照すると、ステップ1及びステップ2は前工程であり、ステップ1はICEM Surfの1点接触離散的なHIDであり、ステップ2は遷移エッジの抽出である。ステップ1において、ユーザの単一の選択によって提供される入力は、境界ボックス階層を構築するために使用され、次に、交差演算子によって使用され、交差演算子は、最初に、離散化された入力ジオメトリ全体を有するメッシュ内の各頂点に取り付けられた1点接触球の交差テストを実行する。構築された交差演算子は、また、対数時間複雑性において、入力形状との任意の球の交差テストを実行するように、アルゴリズムの後のステップ内で使用される。これは、対数時間の複雑さで行われる。
図26を参照すると、結果はメッシュであり、各頂点は、入力ジオメトリ(すなわち、1点接触頂点)との交差がない場合にアクティブに、又はそうでない場合に非アクティブに(すなわち、非接触頂点)タグ付けされる。ステップ2において、アルゴリズムは、ステップ1の結果から、2つの頂点に異なるタグが付けられた遷移エッジの組を抽出する。
図27~図28は、それぞれ、2点接触球のタッチポイントの近似(ステップ3)とその結果の簡単な例についてのフローチャートを示している。ステップ2の後、各遷移エッジは、2点接触球の接触点のうちの1つの良好な候補を形成する。各遷移エッジに対する関連する第2タッチポイントは、ステップ3で近似される(図27参照)。このステップでは、まず、各遷移エッジに対して、先に構築した交差演算子の助けを借りて、二分断面をエッジ上で実行し、それにより、所望の2点接触球の最初の接触点に対する合理的な良好な近似を得る。このプロセスでは、交差演算子は、第2の接触点の良好な候補を生成する。ステップ3の結果は、各遷移エッジについて、図28に示されるように、一対のタッチング・点に対する妥当な近似である。
図29は、トレース処理(ステップ4)のフローチャートを示す。ステップ4において、近似された接触点の各対に対して、基礎となるシステム関数の真のゼロ(数値公差まで)を得るために、ゼロ発見又は根発見アルゴリズム(例えば、ニュートン法)を実行する。これは、次に、暗黙関数定理をシステム関数に適用することから得られる、通常のODEシステムを数値的に積分するための開始値として使用される。得られた軌道は、2点接触球の1次元ファミリーの2つの接触曲線と中間曲線を抽出するための全ての情報を含んでいる。しかしながら、全てのステップで大域的結果を得るために、最初に構築された交差演算子は、入力形状と現在の接触球の僅かに修正された(より小さい半径、同じ中点)バージョンの交差をチェックするために使用される。数値積分(例えば、ルンゲ=クッタ法を使用する)は、交差演算子が交差を検出するとすぐに停止する。この停止点において、交差演算子は衝突表面メッシュの合理的な候補頂点を提供し、これは衝突表面への球の中点の直交射影を提供するニュートン反復の出発点として使用される。
図30は、最後のセグメント部分を切り捨てることなく、このトレースステップを実行した結果を示す。
図31を参照すると、その後、このような切り捨てを行うために、アルゴリズムは、構築された直交射影の無限小変化を追加的に記述する拡張ODE-システムを使用して、以前の統合プロセスの停止点から後方にトレースすることができる。ここで、直交射影の長さがわれわれの接触球の元の半径よりも大きくなると、すぐに後方積分が停止する。これは、高精度をもたらすように適切に二等分される。
図31に示されるように、これは、2点接触球の曲線に対する数値的な正確な停止点をもたらすだけでなく、3点接触球にも対応する。
全てがステップ5で描かれ、接触曲線314は黄色で描かれ、中間点の関連する曲線312は赤で描かれる。
次に、図32A~Bについて説明する。
図32Aは、連続HIDの実装を全体として示す。その後、次の図を参照した議論は、それぞれのシステム機能、その関連するODE、二分に関するいくつかの説明、及び表記規則に関する仕様を提供する。
図32Aは、グローバルコンタクトスフィアアルゴリズムS340のフローチャートを示し、続いて、表示S40を示す。アルゴリズムS340は、決定ステップS30の一部を形成することができ、決定ステップS30が、上述のように、B-Repのテッセレーション及びテッセレーションの処理を実行した後に実行することができる。処理は、半径値について、1点接触頂点及び非接触頂点を識別したものとすることができる。そして、処理は、定義された遷移エッジを有することができ、各遷移エッジは、それぞれの1点接触頂点及びそれぞれの非接触頂点によって境界付けられる。
したがって、アルゴリズムS340は、離散的なHIDアルゴリズムから得られる全ての遷移エッジのコンテナである初期入力Eで入力されてもよい。
このアルゴリズムは、ループ内で動作し、まず、E内のすべての遷移エッジeが処理されたかどうかをテストする(S420)。答えがYesである場合、アルゴリズムは終了し、本方法は、S40において、ユーザ視覚化のために、アルゴリズムによって以前にトレースされたすべての2点接触曲線と、アルゴリズムによって以前に見出されたすべての3点接触点(前記曲線の末端における)とのグラフィカル視覚化を表示することができる。答えがNoの場合、アルゴリズムはむしろS342を実行することによって通常の反復を実行する。
S342は、Eの各遷移エッジeに基づいて、B-Repの候補開始(接触)点のそれぞれの対{p,q}を確立するプロセスS3422-3430である。
S3422で、アルゴリズムは、残りの遷移エッジeに対してバイセクションを行い、e上の点p’を得、p’をB-Rep上の点p=p(u,v)として解釈し、Gに注目した。ここで、pは、2点接触球の接触点の良い候補である。
S3424では、アルゴリズムは、半径R(S20においてより早く提供される)をpに持つ球体Sを取り付け、Sの中点(すなわち中心)を点mとして識別する。球Sは接触球である。
S3426において、アルゴリズムは、SをB-RepのテッセレーションTと交差させる。次いで、アルゴリズムは、Sと交差し(すなわち、球に含まれ)、mに最も近いTの頂点vを収集する。
S3428で、アルゴリズムは、vをB-RepG上の点q=q(a,b)と解釈し、p及びqは、2点接触球の2つの接触点の良好な候補である。
S3430で、アルゴリズムは、p=p(u,v)及びq=q(a,b)をeに添付し、三重項(e,p,q)をコンテナD(最初は空)に格納する。
これは、処理S342の現在の反復を終了し、アルゴリズムは、次に、2点接触曲線計算アルゴリズムS346を実行する。
S3462で、アルゴリズムは、Dから遷移エッジ(すなわち、三重項内)を選択し(すなわち、選択し)、三重項からの添付パラメータ(u,v,a,b)を初期推測として使用し、この推測に基づいて、すなわち、候補開始点p及びqの対から(先に論じ、さらに後に例示するように)、B-Rep上でニュートン反復を実行する。ここで、アルゴリズムは、候補開始点p及びqのそれぞれの対から2点接触曲線に属するそれぞれの初期点を見つけようと試みることによって、選択された遷移エッジeに基づいて2点接触曲線をトレースしようと試みる。
S3464において、アルゴリズムは、発見の試みが成功したかどうかをテストする。そうである場合、アルゴリズムはS3466に進み、ニュートン反復によって見つけられたそれぞれの初期点から2点接触曲線のトレースを開始する。このような場合、アルゴリズムの後のステップのおかげで、アルゴリズムは、2点接触曲線をロバストにトレースすることに成功する。そうでない場合、アルゴリズムはS3420に戻り、新しい遷移エッジで再試行する。
S3466では、アルゴリズムは、2点接触球の挙動を記述するそれぞれの常微分方程式を数値積分するための初期/開始値としてニュートン反復によって見出されたゼロを設定する(先に議論し、後にさらに例示するように)。
T1は、前記数値積分に対応するトレースプロセスである。
S3468において、T1は、現在の局所2点接触球がメッシュと交差するか(条件(I)と記す)、又は面境界に達するか(条件(II)と記す)(先に論じ、さらに後に例示するように)をテストする。
S3470において、いずれの条件も満たされていないと評価された場合、トレースT1は、1つのステップを継続し、積分して、数値ソルバから新たな2点接触球を得る。
さもなければ、トレースT1の連続した数値積分ステップが停止され、アルゴリズムはパラメータ(u,v,a,b)から成る
における多角形Pを出力し、これは(各積分ステップの連続した接触球の連続した接触点を表す頂点をもつ)
における曲線に接触する2つの多角形P_1、P_2と見なすことができ、アルゴリズムはさらにS3472とS3474に並列に進む。
S3472で、アルゴリズムは、多角形P_1又はP_2の線分によって交差する各遷移エッジをEから除去する。除去された各遷移エッジは、アルゴリズムにとってもはや利用可能ではない。非常にまれなケースでは、これは、情報の損失につながり得る(例えば、2つの遷移をその上に有する遷移エッジの場合、遷移のうちの1つは、S3472によって失われ得る)。離散モデル及び離散化は、実際には、時には、解集合の複数の成分を捕捉するには粗すぎることがある。そのような場合、ユーザは、単に、より微細な離散化を使用することができる。いずれにしても、これは、典型的な例及び適切なパラメータを使用する場合には、非常にまれにしか起こらないはずである。
[これは誤解を招き、フローチャートの単なる誤りであった。更新されたフローチャートでは、このステップは、以下に述べるステップの前に行われる]S3474において、アルゴリズムは、条件(I)又は(II)のどちらがトレースプロセスT1を停止したかを検証し、条件に応じて、それぞれS3476又はS3479に進む。
これが条件(I)であれば、このアルゴリズムは、B-Repに基づく別のそれぞれの常微分方程式であるトレーシング処理T2を用いて、3点接触球の挙動を記述する他の方程式を解く準備をする(先に議論し、後にさらに例示するように)と述べている。
そのために、S3476において、アルゴリズムは、積分T1の最後の接触球に対応する多角形Pの最後の頂点の中点mの、交差した面(すなわち、交差している第3の部分)への直交射影を構築する。直交射影の長さlが注目される。
次に、S3478で、アルゴリズムは、この拡張微分方程式の数値積分のために、交差面の最も近い交差頂点(テッセレーションされたものとして)から取られたパラメータ(c,d)、及びパラメータlを、既に提供されているパラメータ(u,v,a,b)を使用する。
T2は、前記数値積分に対応するトレースプロセスである。
S3480では、T2は、lの電流値が接触球の半径Rより大きいかどうかをテストする。これが当てはまる場合、T2は停止し、そうでなければトレースは続く、そしてS3482でT2は拡張微分方程式の1ステップを積分して、新たな2点接触球と長さlの新たな直交射影を数値ソルバから得た。
T2は、最終的には、テストS3480が肯定的になることによって停止する。
S3484で、アルゴリズムは、T2の最後のステップを二等分して、3点接触球で正確に停止するように、トレースされている曲線(Cで示す)を切断/切り捨てることができる。これは、p及びqを支持する面対(及び他の面)に対して3点接触球と、前記3点接触球に至る同一面対に対して2点接触曲線との両方を出力する。
T1がむしろ条件(II)で停止する場合、本方法はS3479に進み、曲線Cが面境界で正確に停止するように曲線Cを切断/切り捨てるように、T1の最後のステップを二等分することができる。これにより、同じ表面対に関する2点接触曲線が出力される。
どちらの場合も、アルゴリズムはS3420に戻り、新しい遷移エッジで再び開始する。
図32Bは、図32Aのフローチャートの変形例を示しており、唯一の違いは、S342’’’’ではコンテナDが使用されず、S3430’’’’ではコンテナDを格納せず、S3462’’’’ではコンテナDをピッキングしないことである。
図33を参照すると、S3422で実行される二分は、アクティブ頂点330と非アクティブ頂点331との間の遷移エッジTを二分する。テッセレーションの各頂点は、連続B-Rep入力ジオメトリG上の点であり、頂点間の遷移エッジ上の点を連続ジオメトリ上の点として解釈するために、本方法の実装は、頂点に添付されたパラメータ間を線形補間することができる。図33は、交差球332(青色)と非交差球334(緑色)との間の二分線を示し、これは2点接触球336(紫色)に収束する。このプロセス内で、遷移エッジ上の二等分点337は、初期非アクティブ頂点331(緑)及びアクティブ頂点330(青)の線形補間パラメータを介して、G上の点として再解釈される(破線ベクトル338参照)。
バイセクションは近似メッシュジオメトリを使用する交差アルゴリズムを使用するため、それぞれの結果は、システム関数の真のゼロを提供するのに十分な精度ではない場合がある。しかしながら、これらの結果は、ほとんどの場合、ニュートン反復がFの真のゼロに迅速に収束するように、ゼロに十分に近いことがある。
ニュートン反復は、システム関数
に適用される。
ここで、s1、s2は考慮される表面パッチの一組のパラメータ化であり、N1、N2はそれらの法線マップであり、(u,v)、(a,b)はそれぞれのパラメータであり、Rは接触球の半径である。これにより、以下のトレースプロセス[T1]の初期値
が得られる。
ここで、DFはFの微分(ヤコビアン)であり、ダッシュ付きの変数は、tに関するそれぞれの導関数を表す。これを明確にするために、この線形方程式系を
について解くことができる。初期値は
によって与えられる。
図34を参照すると、[T1]の各ステップにおいて、現在の2点接触球(わずかに小さい半径を使用する)は、完全な離散化された入力形状の残りの部分と交差する。交差[T1]がある場合、条件(I)で停止し、それぞれの交差面/表面パッチパラメータ化s3を提供する。さもなければ、[T1]は条件(II)で停止する。
図34は、数値積分[T1]の各ステップで解かれる交差問題を示しており、これは、同じ中点(中心)及びより小さい半径を有する球を使用することによって修正されてもよい。これは、球が、ある許容差340(バイオレット)を有する離散化された入力ジオメトリTに対して交差されるという事実による。元の半径を使用すると、離散化誤差のために、2つの考慮された接触面を持つ交差球が得られるであろう。半径は、メッシュの許容誤差に小さな安全マージン342(オレンジ)を加えた値だけ小さくなる。
ここで、s3、N3は、[T1]が(i)で停止したときに交差した面/表面パッチに関連するパラメータ化及び法線マップである。それぞれのODEは、陰関数定理から同様に得られる。その初期値
は[T1]が
を生み出す最後のステップから提供されるが、直交射影(ボックスc参照)は直交射影の基点と直交射影の長さl1のパラメータ(c1,d1)を提供する。
次に、接触球体の検査機能の実施について説明する。
図35~図36を参照すると、拡張ICEM Surf内の2点、それぞれ3点接触球を検査するために、まず、それぞれのダイアログ・ボックス内のボックスをチェックし、次に、それぞれ2Pt-、3Pt-検査ボタンのいずれかをクリックすることができる。追加のチェックボックスは、追加の視覚化(距離、点、線、球など)を制御することができる。図35及び図36は、それぞれ2点及び3点接触球を示す。
図37~39は、図9~10のB-Rep(すなわち、高度に複雑な形状)に適用された接触球アルゴリズムの結果を示しており、ここでは、上述のステップの各々が数百回適用されて、2点接触球の曲線に対応する多数のタッチング-及び中曲線が得られる。図37及び図38に示すように、中央の曲線372は赤色であり、接触する曲線370は黄色である。図39は、検出された3点接触球390を示す。
図40~43は、球400をその関連する中点(赤)の曲線402に沿ってドラッグすることによって得られる一連の2点検査を示す。2点接触球を検査するとき、それぞれの接触球の描かれた中間点は、リアルタイムでマウスを用いてそれぞれの中間曲線に沿ってドラッグすることができる。図は、このようにして得られた一連の2点検査を示す。前述のように、これは、歩行者との衝突において生じる実際の時間的プロセスを表し、球としてモデル化された人体の部分は、2点接触球に沿ってドラッグし、最終的に3点接触球によって表される構成に到達する。
次に、本方法の第2の態様の実施について、図44~図50を参照して説明する。
頭部衝撃診断の基礎となる計算、主に接触球アルゴリズムはかなり複雑であり、アルゴリズムの並列化による計算速度アップは、単純に多大な時間を節約するので、安全仕様の制御プロセスを改善する。これは、特に、典型的には、頭部衝撃診断によって検出された問題が、小さな再設計を強制し、これが、次に、頭部衝撃診断の再計算を強制し、その結果、より速い計算の利点が、安全コンプライアンス処理に複数回影響を及ぼすという事実に起因する。
図9~10に示すような複雑な入力形状に対して完全なHIDを実行するために必要な平均時間は高く、乗り物の設計プロセスを著しく遅らせる。特に、このプロセスは、しばしば、HIDの新しい計算に続く以前のHIDによって検出された課題に対処するような小さな設計変更から成るサイクルで実行されなければならないためである。典型的には、HID計算は、特に高精度で行わなければならない場合には、夜間に実行される。ただ1つのパラメータが不正確に入力された場合、又は何らかの他の問題が発生した場合、補正プロセスは著しく遅延される。さらに、例えばエンジニアリング目的のための、互いの設計変更は、しばしば、安全性分析の再チェックを含み得る。それによって、設計プロセスは、全体として、関与する複数のHIDのスピードアップから大幅に利益を得る。
ここで、この方法の実施は、この問題に取り組む。
最初に、連続HIDは、連続HIDの間に実行されるトレース処理のための開始値を近似するための離散的なHIDの結果を使用する。従って、離散的なHIDの高速化は、後者のみが使用される場合、連続HID性能も改善する。
離散的及び連続的HIDアルゴリズムの計算を高速化するために、本方法の実装は、離散的バージョンのためにその入力表面パッチにわたってアルゴリズムを並列化するアプローチに従うが、連続的HIDは、表面パッチの対にわたって並列化を可能にする。例えば、乗り物の典型的な幾何学的モデルは、数百、又は、よりありそうなことには、数千の表面パッチ(又は、より一般的には、面)から成るので、これは、使用されるCPUが可能な並列スレッドの因子によって(それらの順次バージョンとは対照的に)アルゴリズムの性能を改善する。
HIDアルゴリズムの並列化のために直面する課題は、最初に、アルゴリズムスレッドのデカップリングステップを安全にすることである。第2に、離散的で連続的なHIDのトップレベル制御フローの再設計であり、それぞれのタスクの作業負荷に関して異なるステップの合理的な同期を実現することがより複雑である。
いくつかの動作を並列に実行することは、HIDのランタイム全体に大きな影響を及ぼす。タスクは、それらの計算を独立して行うことができるので、アルゴリズムは、ハードウェア(すなわち、CPUの数及びそれらの並列スレッド能力)に関して良好なスケーリングを提供する。
ここで説明するように、本方法の実施は、離散的なHIDを並列化することを含む。
並列化を可能にするために、アルゴリズムのどのステップを切り離すことができるかをチェックすることができる。同期されるべき最小のステップ数は、並列化されるべきアルゴリズムの連続的なフローにおける時間によって決定され、次のステップは、前のステップの全結果を必要とする。
離散的なHIDのフロー図を示す図44を参照すると、このアプローチに続いて、離散的なHIDを3つの必須ステップに分割することができる。
・前処理S310:入力面(すなわち、B-Repの面)のテッセレーション。
・主な計算S320:入力ジオメトリ全体との1点接触球の交点計算。これは、いわゆる遷移エッジをもたらし、後者の各々は、1つのアクティブ頂点及び1つの非アクティブ頂点を有する。このステップでは、「球の交点」と「エッジがクリティカル点を持つ」という特別な処理を実行して、スレッドの安全性を保証することができる。
・後処理S330:アクティブ領域から非アクティブ領域への遷移を平滑化し、テッセレーションを介した入力ジオメトリの初期近似によって課される誤差影響を低減するように、遷移エッジをバイセクションする。
・前処理S310:入力面(すなわち、B-Repの面)のテッセレーション。
・主な計算S320:入力ジオメトリ全体との1点接触球の交点計算。これは、いわゆる遷移エッジをもたらし、後者の各々は、1つのアクティブ頂点及び1つの非アクティブ頂点を有する。このステップでは、「球の交点」と「エッジがクリティカル点を持つ」という特別な処理を実行して、スレッドの安全性を保証することができる。
・後処理S330:アクティブ領域から非アクティブ領域への遷移を平滑化し、テッセレーションを介した入力ジオメトリの初期近似によって課される誤差影響を低減するように、遷移エッジをバイセクションする。
第1に、3つのステップはすべて、共通の入力データ上の異なるスレッドの安全な読取り/書込みアクセスを保証するために、例えばミューテックスロック、又はより一般的にはセマフォを使用して、スレッドセーフな方法で実施することができる。ここで、これらのステップの各々は、表面パッチ上で分離され、それぞれ平行化されることができる。また、図44に示されるフローチャートは、離散的なHIDアルゴリズムの複雑性分布を反映している。ステップS310(入力テッセレーション)及びステップS330(遷移エッジの二等分)は、比較的簡単である。ステップ320は、アクティブ及び非アクティブな頂点をもたらすために不可欠な論理を含む。したがって、より多くの遷移エッジを見つけるために、ステップ320は、特定の基準(主に長すぎる場合)の下でエッジを分割し、それによって、基礎となるメッシュの変形例を導入する。
3つのステップのすべてにおいて、入力は面ごとに分割され、すなわち、各ステップにおいて、各スレッドは、入力B-Repの面にそれぞれ対応する1つの面パッチを処理する。これは、作業負荷がスレッドにわたって適切に分散され、3つのステップの間の結果の同期が不合理な待ち時間なしに行われることができるように、良好なバランスを達成する。
離散的なHIDを3つのステップに分割する正確な理由は、以下の通りである。ステップ320は、近似入力ジオメトリ全体に対して球を交差させるために、ステップ310で計算されたテッセレーション全体にアクセスすることができる。ステップ330は、一見すると、ステップ320と並列化することができる。しかしながら、ステップ320は、重要領域においてより高い精度を保証するようにメッシュを修正することができ、結果として得られるより微細なメッシュは、精度を向上させるために、全体としてステップ330で検討することができる。
図45は、離散的なHIDのための並列化アプローチのトップレベル制御フローを示す。図は、連続フローチャート452対個別HIDの平行フローチャート454を比較する。上記に沿って、本方法の実装は、次のフェーズに進む前に、各フェーズのすべてのスレッドの終わりを待つことができる。
図46~図47を参照すると、本方法の実施態様は、連続HIDを並列化することをさらに含んでもよい。言い換えれば、決定するステップS30は、B-Repの各対の面について、各対の面に基づく各2点接触曲線計算アルゴリズムを含み、計算アルゴリズムは、複数の対の面にわたって並列化される(図46の計算アルゴリズムS346’、図47の計算アルゴリズムS346'')。
図46は、大域的接触球アルゴリズムS340’の制御フローを示し、続いて、表示S40を示す。制御フローは、図32Aの制御フローに基づく。アルゴリズム図46は、以下に従う図32Aのアルゴリズムとは異なる。
入力は再び遷移エッジの集合Eである。そのため、連続HIDの基礎となる大域的接触球アルゴリズムを並列化するように、第一段階で、アルゴリズムの制御フローを二つの本質的並列化成分にグループ分けした。
第1の成分S342’は、遷移エッジ抽出からなる。図の数字の参照から明らかなように、それは、少しの差を除いて、図32AのプロセスS342と同一である。本質的に、S342’は、B-Repの表面パッチ/面の組にわたって平行化される。したがって、入力は、面ごとの遷移エッジのコンテナEである(インデックスkの面についても「E_k」と記される)。さらに、S342’は、計算アルゴリズムS346’にアルゴリズムを向ける前にS3430からS3420に戻ることを含み、これは、面のすべての遷移エッジが処理されるまで行われる。その結果、S342とは異なり、S342’は、三重項(e,p,q)を含むコンテナDを比較的広範囲に埋める。さらに、S342’は、アルゴリズムの次のステップのためにDを編成する。具体的には、S3430’において、アルゴリズムは、p=p(u,v)及びq=q(a,b)をeに付加し、3連符(e,p,q)をコンテナD_i(最初は空)に格納する。ここで、iは、qを含む面のインデックスである。
第2の成分S346’は、アルゴリズムの主要部分、すなわち、2点接触曲線計算アルゴリズムを構成する。図の数字の基準から明らかなように、それは、少しの差を除いて、図32AのプロセスS346と同一である。本質的に、S346''は、B-Repの表面パッチ/面の対の組にわたって平行化される。これは、局所接触球に対するODEの数値積分が2つの表面パッチ(それぞれの接触曲線を含む)を結合するので、2点接触球の計算の最大デカップリングである。この場合も、アルゴリズムの各構成要素は、個々のタスクで使用される共通データに関してスレッドセーフであってもよい。
S342’の出力は、第2の開始値が特定の面に限定されない開始値の組を有するコンテナDである。それにより、2つの並列化ボックス(最初は面上で並列化され、2番目は面対上で並列化される)の間には、同期ステップS344’があり、ここで、すべての結果E_1、…、E_n(nは面の数)は、コンテナD_1、…、D_m(mは面対の数の最大である、すなわちm<=n*(n-1)/2)を得るために処理される。しかしながら、各面一組は、ここで開始値に寄与する必要はなく、従って、mは、典型的には、nよりも小さい。この理由のために、S342’は、それぞれの面に属する1つ以上の候補開始点を確立する試みである(面の各対について成功することは確かではない)。
具体的には、S344’において、インデックスi,jを有する各面一組について、アルゴリズムは、S342’のi番目のスレッドからのD_jと、j番目のスレッドからのD_iとを使用して、面一組{i,j}のエッジ及びそれぞれの値を有するコンテナDを取得し、前記コンテナDは、S346’の各並列スレッドに入力される。
図47を参照すると、確立試行S342’’は、計算アルゴリズムS346’’と共に、複数対の面にわたって並列化することができる。
最初に全ての遷移エッジから初期値を計算し、次にそれらを処理して、2点接触球の結果として得られる曲線をトレースする線形構造は、別の最適化を可能にするように一緒にすることができる。後者は、各タスクに、このタスクで考慮される2つのそれぞれの表面上にある遷移エッジのみを提供することによって達成される。図47は、これに沿った大域的接触球アルゴリズムの修正制御フローS340''、言い換えると、連続HIDの基礎となる大域的接触球演算子の並列化バージョンのフローチャートを示す。すべてのコンポーネントはすでにスレッドセーフであり、表面パッチ上のデカップリングがうまくテストされている。
アルゴリズム図47は、以下に従う図46のアルゴリズムと異なる。
S342''は、B-Repの面の集合に対しては平行化されていないが、B-Repの面の集合に対して平行化されているので、S342''の入力は、各スレッドのそれぞれの面の対のすべての遷移エッジの集合である。S342’’はさらに、S3426で見つかった頂点vがスレッドのそれぞれの一組の第2の面(すなわち、入力エッジe及び結果として生じる点p以外の他の面)に属するかどうかをテストする追加のステップS3427’’を含む。テストが否定的である場合、アルゴリズムはエッジeで停止し、Eの次のエッジで試みるが、そうでなければ、スレッドのそれぞれの面一組の外側の1つの点を有する候補点の一組を考慮することになるので、アルゴリズムはEの次のエッジで試みる。したがって、同期ステップS344’’は除去され、S342’’と計算アルゴリズムS346’’との間の相互作用は、図32AのS342とS346との間の相互作用と同一であることに戻る。
図48は、完全なHID-アルゴリズム(離散的なHID及び連続HIDからなる)のスピードアップに対する、離散的なHIDの並列化の影響を示す表を示す。測定は、3,6GHz (4コア+ハイパースレッディング)及び64GB Ramで動作する、Intel Xeon W-2123 CPUを備えたDell Precision 5820タワーで行った。そのワークステーションで実行されているオペレーティングシステムは、Windows10 Enterprise 1809 である。異なる例B-Rep上のそれぞれのテッセレーションによって生成される頂点及び三角形の数が表に示されている(例1は図9~10のB-Repである)。離散的なHIDの並列バージョンを使用する実装のみがテストされた。それにもかかわらず、これは、性能向上のアイデアを得るのに十分であるべきである。完全なHIDアルゴリズムの最終的な並列化に達すると、少なくとも2の別の平均係数が期待される。
図49は、図48の例のうちの3つに適用される離散的なHIDの3つのステップの作業負荷パーセンテージを示す表を示す。スレッドの作業負荷は、Visual Studio Concurrency Profilerで測定した。並列化がいくつかの並列タスクに分割されたので、そのようなタスクの分布を以下に示す。「T」は、テッセレーションタスクであり、「H」は、通常のヘッド衝突タスクであり、「B」は、エッジ二等分タスクであり、「C」は、グローバル接触球タスクである。
表に示すように、ワークロードは使用例に大きく依存する。この時点での同期は、いくつかの例、特にヘッド衝撃タスク(「H」)にとって最適ではない。これは、簡単に対処できるコアライブラリ内のスレッドセーフでないルーチンの使用によるものである。
図50は、図9-10のB-Repに対するCPU利用図を示す。これにより、特定のタスクのワークロードに別のヒントが与えられる。
Claims (13)
- 乗り物衝撃解析のためのコンピュータ実施方法であって、
乗り物の外面を表し、面を有するB-Repを提供するステップ(S10)と、
接触球の半径値(R)を提供するステップ(S20)と、
前記半径値(R)に対する3Dモデル化オブジェクトの1つ以上の2点接触曲線を決定するステップ(S30)とを有し、
前記B-Repの複数の部分対の各部分対に対して、各部分対に基づいて各2点接触曲線の計算アルゴリズムを決定するステップを含み、
前記計算アルゴリズムは、複数の部分対にわたって並列化される
方法。 - 前記複数の部分対の間の各部分対の各部分が、前記B-Repのそれぞれの面である
請求項1に記載の方法。 - 前記決定するステップ(S30)が、
B-Repをテッセレーションするステップと、
前記テッセレーションを処理するステップであって
前記半径値に対して、1点接触頂点と非接触頂点を識別し、
遷移エッジを定義し、各遷移エッジは、それぞれの1点接触頂点及びそれぞれの非接触頂点によって境界付けられる
ことを含み、
前記計算アルゴリズムは、入力として、部分のそれぞれのペアについて、部分のそれぞれのペアの遷移エッジのそれぞれのセットをとる
請求項1又は2に記載の方法: - 前記テッセレーションが、前記部分のセットにわたって並列化され、
前記処理および前記計算アルゴリズムは、前記テッセレーションが終了した後に実行される
請求項3に記載の方法。 - 前記処理は、前記部分のセットにわたって並列化され、
前記計算アルゴリズムは、前記処理が終了した後に実行される
請求項3又は4に記載の方法。 - 前記計算アルゴリズムは、前記部分の各ペアについて、前記遷移エッジのそれぞれのセットが空になるまで以下を反復することを含む
遷移エッジのそれぞれのセットからの遷移エッジを選択し、
選択された遷移エッジに基づいて2点接触曲線をトレースの試みをし、
前記トレースの試みが成功した場合、トレースされた2点接触曲線と交差する全ての遷移エッジを、遷移エッジのそれぞれのセットから削除し、
それぞれの遷移エッジのセットから、選択された遷移エッジを削除する
請求項3、4、又は5に記載の方法。 - 前記決定するステップ(S30)が、
候補開始点の1つ以上のペアを確立することを試み、各候補開始点は、部分のそれぞれのペアのそれぞれの部分に属し、候補開始点のそれぞれのペアは、部分のそれぞれのペアのそれぞれの遷移エッジに基づいて確立されることを試みられ、
前記確立の試みが成功した場合、前記計算アルゴリズムが、
選択された遷移エッジが、それぞれの遷移エッジであり、当該遷移エッジに基づいて、前記決定するステップ(S30)において候補開始点のそれぞれのペアを確立することに成功し、
前記トレースの試みが、
それぞれの一対の候補開始点から2点接触曲線に属するそれぞれの初期点を見つけることを試みること、及び
発見の試みが成功した場合、それぞれの初期点から2点接触曲線をトレースすること
を含む
請求項6又は7に記載の方法。 - 前記確立する試みは、前記それぞれの対の部分のそれぞれの遷移エッジを二分することを含む
請求項8に記載の方法。 - 前記確立の試みは、前記複数の部分のペアにわたって、又は前記部分のセットにわたって並列化される
請求項8又は9に記載の方法。 - プロセッサによって実行されると、プロセッサに請求項1から10のいずれか一項に記載の方法を実行させる命令を含むコンピュータプログラム。
- 請求項11に記載のコンピュータプログラムを記録したコンピュータ可読媒体。
- 請求項11に記載のコンピュータプログラムが記録されたメモリと結合されたプロセスを含むシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20184097 | 2020-07-03 | ||
EP20184097.2A EP3933651A1 (en) | 2020-07-03 | 2020-07-03 | Parallelized vehicle impact analysis |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022023010A true JP2022023010A (ja) | 2022-02-07 |
Family
ID=71614682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021109609A Pending JP2022023010A (ja) | 2020-07-03 | 2021-06-30 | 2点接触曲線による乗り物衝撃解析 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220004674A1 (ja) |
EP (1) | EP3933651A1 (ja) |
JP (1) | JP2022023010A (ja) |
CN (1) | CN113888668A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4231248A1 (en) | 2022-02-17 | 2023-08-23 | Kabushiki Kaisha Shofu | Method for estimating and restoring edge of tooth changed by scanning |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3675063A1 (en) * | 2018-12-29 | 2020-07-01 | Dassault Systèmes | Forming a dataset for inference of solid cad features |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060288080A1 (en) * | 2000-09-12 | 2006-12-21 | Ibrix, Inc. | Balanced computer architecture |
US7299677B2 (en) * | 2005-12-07 | 2007-11-27 | Chrysler Llc | Vehicle occupant analysis model for vehicle impacts |
EP2521058A1 (en) * | 2011-05-06 | 2012-11-07 | Dassault Systèmes | Determining a geometrical CAD operation |
EP2921978B1 (en) * | 2014-03-19 | 2021-09-29 | Dassault Systèmes | Designing industrial products by using geometries connected by geometrical constraints |
JP6499572B2 (ja) * | 2015-12-17 | 2019-04-10 | 株式会社トヨタ車体研究所 | 設計支援装置および設計支援方法 |
EP3203394B1 (en) * | 2016-02-02 | 2021-10-20 | Dassault Systèmes | B-rep design with face trajectories |
US10862617B2 (en) * | 2017-05-30 | 2020-12-08 | Marvell Asia Pte, Ltd. | Flowlet scheduler for multicore network processors |
-
2020
- 2020-07-03 EP EP20184097.2A patent/EP3933651A1/en active Pending
-
2021
- 2021-06-30 JP JP2021109609A patent/JP2022023010A/ja active Pending
- 2021-07-02 CN CN202110748575.1A patent/CN113888668A/zh active Pending
- 2021-07-02 US US17/366,540 patent/US20220004674A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4231248A1 (en) | 2022-02-17 | 2023-08-23 | Kabushiki Kaisha Shofu | Method for estimating and restoring edge of tooth changed by scanning |
Also Published As
Publication number | Publication date |
---|---|
EP3933651A1 (en) | 2022-01-05 |
US20220004674A1 (en) | 2022-01-06 |
CN113888668A (zh) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bénière et al. | A comprehensive process of reverse engineering from 3D meshes to CAD models | |
US11100710B2 (en) | Extracting a feature tree from a mesh | |
EP2600315B1 (en) | Creating a surface from a plurality of 3D curves | |
JP6356378B2 (ja) | 幾何学的三次元モデルオブジェクトを設計する方法 | |
EP3340085B1 (en) | B-rep of the result of a two-axis 3d printing process | |
KR20160082481A (ko) | 워크피스의 가공의 시뮬레이팅 | |
JP6721333B2 (ja) | オブジェクトのセットの視点の選択 | |
CN103093036A (zh) | 工件加工仿真 | |
JP2016126794A (ja) | 3dモデル化されたアセンブリ上で境界ボックスを生成すること | |
EP3690682A1 (en) | Designing a part featuring a protrusion or a depression | |
JP2022023010A (ja) | 2点接触曲線による乗り物衝撃解析 | |
US11195330B2 (en) | Generation of a structured 3D model from a raw mesh | |
JP2022023009A (ja) | 2点接触曲線による乗り物衝撃解析 | |
JP2022186654A (ja) | 機械部品のcad 3dモデルの処理 | |
JP2021131852A (ja) | 機械部品の構造シミュレーション | |
US20240289509A1 (en) | Vehicle impact analysis with two-point-contact curves | |
JP2021111376A (ja) | 製品の物理的なプロトタイプの3dモデル化オブジェクト | |
JP2008533614A (ja) | 整合輪郭プロファイルを生成するシステム及び方法 | |
Ane et al. | Intelligent system for feature-based recognition of machining parts from points cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240604 |