JP6225509B2 - メッシュ化方法およびメッシュ化装置 - Google Patents

メッシュ化方法およびメッシュ化装置 Download PDF

Info

Publication number
JP6225509B2
JP6225509B2 JP2013133157A JP2013133157A JP6225509B2 JP 6225509 B2 JP6225509 B2 JP 6225509B2 JP 2013133157 A JP2013133157 A JP 2013133157A JP 2013133157 A JP2013133157 A JP 2013133157A JP 6225509 B2 JP6225509 B2 JP 6225509B2
Authority
JP
Japan
Prior art keywords
sections
section
meshing
cad
mesh
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.)
Expired - Fee Related
Application number
JP2013133157A
Other languages
English (en)
Other versions
JP2014006908A (ja
Inventor
ゲオルゲスク セルバン
ゲオルゲスク セルバン
チョウ ピーター
チョウ ピーター
慎 坂入
慎 坂入
秀久 酒井
秀久 酒井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2014006908A publication Critical patent/JP2014006908A/ja
Application granted granted Critical
Publication of JP6225509B2 publication Critical patent/JP6225509B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three-dimensional [3D] modelling for computer graphics
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three-dimensional [3D] modelling for computer graphics
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics
    • G06T19/20Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/02CAD in a network environment, e.g. collaborative CAD or distributed simulation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2008Assembling, disassembling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Evolutionary Computation (AREA)
  • Architecture (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Multi Processors (AREA)

Description

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

Claims (8)

  1. 1つ以上のシリアルメッシュ化ユニットが、CAD組立モデルのすべての部分に対する分離並列メッシュ化プロセスを実行するのに使用される、コンピュータ支援設計(CAD)またはコンピュータ支援エンジニアリング(CAE)システムで使用されるメッシュ化方法であって、
    処理される各部分のメッシュ化プロセスの入力パラメータを、関係する部分のメッシュ化プロセスに関する生の実行時間情報を使用して、自動的に設定する、ことを含み、
    前記入力パラメータの自動設定は、関係する部分についてのメッシュ化プロセスについての生の実行時間情報を使用して各部分のパラメータを暫定的に選択し、次に前記部分の入力パラメータと前記組立モデルの少なくとも1つの他の部分の入力パラメータの間の既知の依存性要求が存在する各部分について、前記部分の暫定的に選択されたパラメータまたは前記少なくとも1つの他の部分の暫定的に選択されたパラメータが、依存性要求に不整合であるかを決定し、もし不整合であれば、前記依存性要求に整合するように、前記部分の暫定的に選択されたパラメータおよび/または前記少なくとも1つの他の部分の暫定的に選択されたパラメータを調整する、ことを特徴とする方法。
  2. 生の実行時間情報は、前記部分のメッシュ化プロセスを実行する前の試行の結果に関する情報を備える請求項1に記載の方法。
  3. 組立モデルの1つの部分は、CADメッシュ化プロセスを行う前にセクションに分けられ、得られた各セクションのボリュームは、最大許容ボリュームを超えてはならず、
    当該方法は、さらに、各部分のボリュームが前記最大許容ボリュームを超えるならば、前記部分を第1の前記セクションとみなして、
    (a)前記セクションのイナーシャの主軸Aを決定し、
    (b)前記セクションの重心を決定し、
    (c)第1および第2の固体ボックスを、前記第1および第2の固体ボックスの交差が、前記重心を通り、前記イナーシャの主軸Aに垂直であり、前記第1および第2の固体ボックスの結合が前記セクションの全境界ボックスであるように、定義し、
    (d)前記セクションおよび前記第1ボックスのCADブール演算、および前記セクションおよび前記第2ボックスのCADブール演算を実行して、それぞれの中間セクションを獲得し、
    (e)前記(d)で獲得したセクションのボリュームが前記最大許容ボリュームを超えるならば、前記最大許容ボリュームを超えないボリュームを有する最終セクションが得られるまで、前記(d)で得られた各セクションについて前記(b)から(d)を繰り返す、請求項1又は2に記載の方法。
  4. CAD組立モデルの部分が所望の個数DNの最終セクションに分割された後、変形プロセスが部分のすべての最終セクションSi(i=2からDN)について実行され、前記変形プロセスは、
    C=Siに設定し、セクションSiとの境界を有するすべてのセクションSj≠Siについて、CADブール演算F=Fuse(C,Sj)およびブール演算C=Common(F,Si)を実行し、隣接するセクション間の境界の対向面が特定の幾何形状を有するように変形されることを、備える請求項に記載の方法。
  5. コンピュータ支援設計プロセスで得られたセクションの表面における二次元(2D)メッシュを更に変形することを備え、前記コンピュータ支援設計プロセスでは、前記CADプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは2Dメッシュ化が施されて、セクションのすべての表面が、各表面に同一の一次元(1D)エッジメッシュを生成するメッシュ化方法を使用して作成される2D要素により定義されており、前記変形の方法は、
    前記方法がまだ実行されておらず、他のセクションと接しているすべてのセクションに対して、
    前記境界の一方の側のセクションの表面のエッジに沿った要素のノードを、前記境界の他方の側のセクションの対向する表面のエッジに沿った要素のノードと一致させ、
    前記境界の一方の側の表面上の要素を、前記境界の他方の側の表面上の要素で置き換える請求項1からのいずれか1項に記載の方法。
  6. CAD組立モデルの部分は、CADメッシュ化プロセスを行う前に所望の個数DNのセクションに分割され、当該方法は、さらに、
    (a)(i)X方向の分割点数Nx、(ii)Y方向の分割点数Ny、(iii )Z方向の分割点数Nzを決定し、ここで、X、YおよびZ方向は相互に垂直で、(Nx+1)(Ny+1)(Nz+1)≧DNであり、
    (b)(Nx+1)セクションが得られるまで、X方向に前記部分を帰納的に二分割し、
    (c)前記(b)で得られたすべてのセクションについて、(Nx+1)(Ny+1)セクションが得られるまで、Y方向に前記セクションを帰納的に二分割し、
    (d)前記(c)で得られたすべてのセクションについて、(Nx+1)(Ny+1)(Nz+1)セクションが得られるまで、Z方向に前記セクションを帰納的に二分割する請求項1又は2に記載の方法。
  7. コンピュータ支援設計プロセスで得られたセクションの表面における二次元(2D)メッシュを更に変形することを備え、前記コンピュータ支援設計プロセスでは、前記CADプロセスの主体である組立モデルが異なる部分に分割され、各部分はセクションに分割され、セクションは2Dメッシュ化が施されて、セクションの各表面が、すべての表面に同一の一次元(1D)エッジメッシュを生成するメッシュ化方法を使用して作成される2D要素により定義されており、前記変形の方法は、
    前記部分のすべてのセクションを、前記部分内の前記セクションの位置に応じて第1セットまたは第2セットのいずれかに割り当て、前記第1セット内の前記セクションとの間に境界を有するすべてのセクションは前記第2セットに割り当てられ、
    前記第1セット内の前記セクションのそれぞれについて、前記第1セット内のセクションの表面のエッジに沿った要素のノードを、前記第2セット内のセクションの対向する表面のエッジに沿った要素のノードと一致させ、
    前記第1セットのセクションの表面上の前記要素を、前記第2セットのセクションの表面上の前記要素で置き換える請求項に記載の方法。
  8. 1つ以上のシリアルメッシュ化ユニットが、CAD組立モデルのすべての部分に対する分離並列メッシュ化プロセスを実行するのに使用されるように構成された、コンピュータ支援設計(CAD)またはコンピュータ支援エンジニアリング(CAE)システムで使用されるメッシュ化装置であって、
    処理される各部分について、メッシュ化プロセスの入力パラメータを自動的に設定するように構成され、1つ以上の入力パラメータを決定するのに関係する前記部分のメッシュ化プロセスに関する生の実行時間情報を使用するように動作するメッシュ化パラメータ設定ユニットを、有し、
    前記入力パラメータの自動設定は、関係する部分についてのメッシュ化プロセスについての生の実行時間情報を使用して各部分のパラメータを暫定的に選択し、次に前記部分の入力パラメータと前記組立モデルの少なくとも1つの他の部分の入力パラメータの間の既知の依存性要求が存在する各部分について、前記部分の暫定的に選択されたパラメータまたは前記少なくとも1つの他の部分の暫定的に選択されたパラメータが、依存性要求に不整合であるかを決定し、もし不整合であれば、前記依存性要求に整合するように、前記部分の暫定的に選択されたパラメータおよび/または前記少なくとも1つの他の部分の暫定的に選択されたパラメータを調整する、ことを特徴とする装置。
JP2013133157A 2012-06-25 2013-06-25 メッシュ化方法およびメッシュ化装置 Expired - Fee Related JP6225509B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP12173469.3 2012-06-25
EP12173469.3A EP2680231A1 (en) 2012-06-25 2012-06-25 Decoupled parallel meshing in computer aided design

Publications (2)

Publication Number Publication Date
JP2014006908A JP2014006908A (ja) 2014-01-16
JP6225509B2 true JP6225509B2 (ja) 2017-11-08

Family

ID=48628580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013133157A Expired - Fee Related JP6225509B2 (ja) 2012-06-25 2013-06-25 メッシュ化方法およびメッシュ化装置

Country Status (3)

Country Link
US (1) US9990445B2 (ja)
EP (2) EP2680231A1 (ja)
JP (1) JP6225509B2 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569564B2 (en) * 2013-02-11 2017-02-14 Ford Global Technologies, Llc Automated cad process for creating mold packages
US20140324400A1 (en) * 2013-04-30 2014-10-30 Marquette University Gesture-Based Visualization System for Biomedical Imaging and Scientific Datasets
US20140365940A1 (en) * 2013-06-07 2014-12-11 Solar Turbines Incorporated Systems and methods for manipulating boundary conditions
US9996642B2 (en) * 2013-09-19 2018-06-12 Brigham Young University Method and apparatus for finite analysis pre-processing
EP2905744A1 (en) * 2014-02-05 2015-08-12 Fujitsu Limited Mesh quality improvement in computer aided engineering
JP6265811B2 (ja) * 2014-03-27 2018-01-24 本田技研工業株式会社 ドローモデル生成方法及びドローモデル生成システム
EP2940611A1 (en) * 2014-05-01 2015-11-04 Fujitsu Limited Flexible CAD format
US10192022B2 (en) * 2014-06-04 2019-01-29 IronCAD, LLC Geometric modeling system with intelligent behaviors of design components
CN104148891A (zh) * 2014-07-03 2014-11-19 重庆一名模型有限公司 汽车样件生产工艺
US9852242B2 (en) * 2014-09-05 2017-12-26 Synopsys, Inc. Atomic scale grid for modeling semiconductor structures and fabrication processes
CN104392016B (zh) * 2014-09-15 2017-12-19 沈阳飞机工业(集团)有限公司 一种橡皮囊成形薄壁零件的坯料制备方法
CN104504179B (zh) * 2014-12-09 2017-08-25 华晨汽车集团控股有限公司 一种基于cae的碰撞模型总成之间的连接方法
US10043309B2 (en) * 2015-12-14 2018-08-07 Microsoft Technology Licensing, Llc Maintaining consistent boundaries in parallel mesh simplification
CN105975656B (zh) * 2016-04-27 2019-12-31 山东理工大学 非端部接触式少片根部加强型主副簧端点力的确定方法
CN105956311B (zh) * 2016-05-13 2019-12-27 山东理工大学 非端部接触式少片端部加强型副簧根部厚度的设计方法
CN105956307B (zh) * 2016-05-13 2019-07-19 中国重汽集团济南动力有限公司 一种全承载客车整车骨架的自动设计平台的搭建方法
US11335074B2 (en) * 2016-12-19 2022-05-17 Hewlett-Packard Development Company, L.P. Arrangement determination for 3D fabricated parts
WO2019006268A1 (en) * 2017-06-30 2019-01-03 Aerion Corporation CALCULATION TECHNIQUES FOR THREE-DIMENSIONAL MODELING AND DESIGN ANALYSIS
EP3681698A4 (en) * 2017-12-15 2021-08-11 Hewlett-Packard Development Company, L.P. PACKAGING PARTS FOR A VOLUME OF CONSTRUCTION
EP3503040B1 (en) * 2017-12-24 2024-06-05 Dassault Systèmes Design of a 3d finite element mesh of a 3d part that comprises a lattice structure
US11046009B2 (en) * 2018-03-07 2021-06-29 New York University System and method for malware detection in additive manufactured parts
US10459706B1 (en) 2018-03-12 2019-10-29 State Farm Mutual Automobile Insurance Company System and methods for simplifying three-dimensional models
US10579430B2 (en) * 2018-05-07 2020-03-03 Microsoft Technolog Licensing, LLC Dynamic, load balanced task routing
EP3837629A1 (en) * 2018-09-21 2021-06-23 Siemens Industry Software Inc. Multizone quadrilateral mesh generator for high mesh quality and isotropy
WO2020091757A1 (en) * 2018-10-31 2020-05-07 Hewlett-Packard Development Company, L.P. Three-dimensional (3d) mesh data files with metadata
US11797730B1 (en) * 2018-11-08 2023-10-24 Ansys Inc. Frozen boundary multi-domain parallel mesh generation
CN109272567B (zh) * 2018-11-29 2023-03-14 成都四方伟业软件股份有限公司 三维模型优化方法和装置
CN111125949A (zh) * 2019-12-06 2020-05-08 北京科技大学 一种有限元分析的大规模并行网格划分系统及方法
EP4111352A1 (en) * 2020-02-25 2023-01-04 Siemens Industry Software Inc. Probabilistic design for metamaterials represented as program code
CN111914455B (zh) * 2020-07-31 2024-03-15 英特工程仿真技术(大连)有限公司 基于节点重叠型区域分解无Schwarz交替的有限元并行计算方法
EP3961471A1 (en) 2020-08-28 2022-03-02 Siemens Industry Software NV Modifying a finite element mesh
CN114001654B (zh) * 2021-11-01 2024-03-26 北京卫星制造厂有限公司 工件端面位姿评价方法
CN119416294B (zh) * 2024-09-06 2025-08-19 淮安市水利勘测设计研究院有限公司 一种非杆系钢筋混凝土结构的配筋计算方法
CN119885694A (zh) * 2025-03-28 2025-04-25 中国人民解放军国防科技大学 超大规模高可扩展性网格生成方法、设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2941653B2 (ja) * 1994-06-29 1999-08-25 株式会社日立製作所 解析用メッシュ作成装置
US6278457B1 (en) * 1998-01-15 2001-08-21 International Business Machines Corporation Methods and apparatus for performing sampling based synthesis of three-dimensional geometric models
JP2005122387A (ja) * 2003-10-15 2005-05-12 Fujitsu Ltd メッシュ分割装置およびメッシュ分割プログラム
JP4664023B2 (ja) * 2004-08-31 2011-04-06 国立大学法人北海道大学 解析用四面体メッシュ生成装置
JP2006164219A (ja) * 2004-11-09 2006-06-22 Phifit Kk 有限要素解析用インターフェース、有限要素解析用インターフェースのプログラムを記録したコンピュータ読み取り可能な記録媒体、高付加価値通信網を利用した有限要素解析方法、有限要素解析用並列処理計算機および有限要素解析用計算機
US7536607B2 (en) * 2005-02-25 2009-05-19 Microsoft Corporation Task sequence integration and execution mechanism with automated global condition checking and compensation
US20070011646A1 (en) 2005-06-24 2007-01-11 College Of William And Mary Parallel Decoupled Mesh Generation
US7940279B2 (en) * 2007-03-27 2011-05-10 Utah State University System and method for rendering of texel imagery
JP4999522B2 (ja) * 2007-04-06 2012-08-15 株式会社日立製作所 解析メッシュ生成装置
JPWO2008149623A1 (ja) * 2007-06-06 2010-08-19 日本電気株式会社 有限要素法の解析モデル簡略化方法
KR20090005638A (ko) * 2007-07-09 2009-01-14 한국과학기술원 불일치 요소망을 해결하기 위한 다절점 천이 유한요소모델링 방법 및 기록매체
US8259104B2 (en) 2008-08-28 2012-09-04 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Domain decomposition by the advancing-partition method for parallel unstructured grid generation
JP5614684B2 (ja) * 2010-11-30 2014-10-29 独立行政法人理化学研究所 ボリュームメッシュ細分割装置、及び、ボリュームメッシュ細分割方法
US8970590B1 (en) * 2012-11-27 2015-03-03 Msc.Software Corporation Surface mesh generation systems and methods

Also Published As

Publication number Publication date
EP2680232A3 (en) 2014-08-20
JP2014006908A (ja) 2014-01-16
EP2680231A1 (en) 2014-01-01
US20140039847A1 (en) 2014-02-06
EP2680232A2 (en) 2014-01-01
US9990445B2 (en) 2018-06-05

Similar Documents

Publication Publication Date Title
JP6225509B2 (ja) メッシュ化方法およびメッシュ化装置
Tan et al. Serving DNN models with multi-instance GPUs: A case of the reconfigurable machine scheduling problem
US20140379308A1 (en) Decoupled parallel meshing in computer aided design
Löhner Recent advances in parallel advancing front grid generation
JP6372119B2 (ja) マルチコンポーネントコンピュータ流体力学シミュレーション
CN110167756B (zh) 用于通过增材制造构造实体物体的基于构建方向的划分
Chawner et al. Geometry, mesh generation, and the CFD 2030 vision
Brujic et al. CAD based shape optimization for gas turbine component design
JP2015149052A (ja) コンピュータ支援エンジニアリングにおけるメッシュ品質改善
CN114341859A (zh) 使用粗略几何单元和高分辨率网格单元的对象设计处理
de Cougny et al. Parallel volume meshing using face removals and hierarchical repartitioning
US10621288B2 (en) Interoperable hierarchical model for conducting multiuser CAx operations
Wilson et al. Partitioning strategies for distributed SMT solving
JP5601961B2 (ja) 有限要素解析法における被シミュレート剛体の生成方法及び生成システム
Liang et al. Scalable parallel implementation of CISAMR: a non-iterative mesh generation algorithm
CN110009742A (zh) 用于有限元素网格修复的系统和方法
EP4070226B1 (en) Machine learning-based selective incarnation of computer-aided design objects
Garner et al. On the end-user productivity of a pseudo-constrained parallel data refinement method for the advancing front local reconnection mesh generation software
Garner Jr Parallelization of the advancing front local reconnection mesh generation software using a pseudo-constrained parallel data refinement method
CN100492371C (zh) 分布型cad装置
Feng et al. A hybrid parallel delaunay image-to-mesh conversion algorithm scalable on distributed-memory clusters
Passos et al. Partitioning and retiming of multi-dimensional systems
Carpaye et al. Towards an efficient Task-based Parallelization over a Runtime System of an Explicit Finite-Volume CFD Code with Adaptive Time Stepping
CN112991061B (zh) 在区块链中并发执行交易的方法和装置
Pébay et al. pCAMAL: An embarrassingly parallel hexahedral mesh generator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170418

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170912

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170925

R150 Certificate of patent or registration of utility model

Ref document number: 6225509

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees