【文献】
吉村智昭、永野正行、久田嘉章、青井真、早川崇 Seckin Ozgur Citak、松島信一、大西良広,“強震動予測に用いるベンチマークテスト−その3:数値解析手法−”,日本地震工学シンポジウム論文集,日本,一般社団法人日本地震工学会,2010年11月17日,第13回、GO4−Thu−PM−3,p.364−371
【文献】
吉村智昭 永野正行 久田嘉章 青井真 早川崇 Seckin Ozgur CITAK 松島信一 大西良広,“強震動予測手法に関するベンチマークテスト:数値解析手法の場合(その1)”,日本建築学会技術報告集,日本,日本建築学会,2011年 2月20日,第17巻、第35号,p.67−72
【文献】
若井淳・Gharti Hom Nath・小国健二・堀宗朗,“破壊問題に適した数値解析手法とその地震現象への適用”,応用力学論文集,日本,土木学会,2005年 8月,第8巻
(58)【調査した分野】(Int.Cl.,DB名)
各角に節点が設定された直方体ブロックであり表面に節点及び結線が設定された拘束面を有する直方体ブロックを、四面体要素でメッシュ化するためのプログラムであって、
メッシュ化対象の前記直方体ブロックである処理対象ブロックに設定すべき節点の一部を設定せずに、当該処理対象ブロックを、前記拘束面における節点及び結線のパターンを保持するようにして四面体要素でメッシュ化する第一メッシュ化手順と、
前記拘束面に該当しない非拘束面が存在する前記処理対象ブロックに対し、前記処理対象ブロックの前記拘束面を除く表面領域を被覆する被覆体であって、前記第一メッシュ化手順によるメッシュ化後の前記処理対象ブロックとの接触面において、前記処理対象ブロックと節点及び結線が一致するように四面体要素でメッシュ化した被覆体を付加する付加手順と、
前記第一メッシュ化手順によるメッシュ化後の前記処理対象ブロックに前記被覆体が付加されてなる直方体形状のスーパーボックスにおける前記処理対象ブロックに、当該処理対象ブロックに設定すべき未設定の節点を設定して、前記スーパーボックスをDelaunay法に基づき更に四面体要素でメッシュ化し、当該メッシュ化後の前記スーパーボックスから前記処理対象ブロックを抽出することにより、前記処理対象ブロックのメッシュ化を完了する第二メッシュ化手順と、
をコンピュータに実行させるためのメッシュ化プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、従来の地震波動解析では、震源に合わせて、対応する地域の地質モデルを、一からメッシュ化してメッシュモデルを生成している。この手法では、複数の震源についての地震波動解析を行う際に、メッシュモデルを生成する地域が重複する場合であっても、解析対象毎に、地質モデルを一からメッシュ化してメッシュモデルを生成しなければならない。そして、地質モデルのメッシュ化は、大規模であることから非常な労力を伴う。
【0005】
このような労力は、国内全域を対象とした単一のメッシュモデルを生成することで一定程度低減することができる。しかしながら、このような巨大なメッシュモデルの生成は、コンピュータの処理能力を考慮すると、従来知られているメッシュ化の手法では現実的でない。更に言えば、仮に、このようなメッシュモデルを生成することができても、震源から遠い地域まで解析を行わなければならず演算の無駄が多い。
【0006】
本発明者は、こうした問題に鑑み、地質モデル等の形状モデルを複数の直方体ブロックにより分割し、これら直方体ブロックの夫々をメッシュ化する一方、メッシュ化の際には、隣接ブロック間の節点及び結線を揃えることで、隣接ブロックを簡単に結合できるようにし、これら各直方体ブロックを組み合わせることにより、大規模な形状モデルに対応するメッシュモデルを容易に生成できるようにすることを想到するに至った。
【0007】
この手法によれば、例えば、国内全域の地質モデルを複数の直方体ブロックにより分割し、これら直方体ブロックの夫々をメッシュ化し、これら直方体ブロックを組み合わせることにより、震源に対応した地域のメッシュモデルを容易に生成でき、重複する地域のメッシュモデルを都度一から生成しなくて済む。
【0008】
しかしながら、従来では、隣接ブロック間の節点及び結線を揃えるようにして、各直方体ブロックを所望の節点配置でコンピュータにより自動的にメッシュ化可能な技術について知られていない。
【0009】
本発明は、こうした問題に鑑みなされたものであり、隣接ブロック等の存在により、節点及び結線についての拘束面を有する直方体ブロックを、コンピュータを通じて容易に所望の節点配置で四面体要素を用いてメッシュ化可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明者は、次に説明する第一メッシュ化手順と、付加手順と、第二メッシュ化手順とによって、各角に節点が設定された直方体ブロックであって表面に節点及び結線が設定された拘束面を有する直方体ブロックを、拘束面の状態を維持して四面体要素でメッシュ化することを想到するに到った。この思想によれば、節点及び結線が設定された拘束面を有する直方体ブロックを、ユーザの望む節点配置でメッシュ化する機能をコンピュータに実現させることができる。
【0011】
大規模な形状モデルを複数の直方体ブロックに分割した後の各直方体ブロックのメッシュ化に際しては、隣接ブロックとの境界面における節点及び結線を隣接ブロック間で揃える必要があるため、直方体ブロックのメッシュ化前に、隣接ブロックとの境界面に対して予め節点及び結線を設定する必要が生じるが、この思想によれば、このような拘束面のある直方体ブロックを、四面体要素でメッシュ化する機能をコンピュータに実現させることができる。従って、本発明によれば、大規模な形状モデルを構成する複数の直方体ブロックの夫々を隣接ブロック間の節点及び結線を揃えるようにメッシュ化することができ、結果として、このようにメッシュ化した直方体ブロックの組合せにより、大規模なメッシュモデルを容易に生成することができるのである。
【0012】
尚、この思想は、上記各手順をコンピュータに実現させるためのプログラム(メッシュ化プログラム)の発明として実現することができるが、その他に、上記各手順により拘束面を有する直方体ブロックを四面体要素でメッシュ化するメッシュ化方法、及び、上記各手順に対応した手段を備えるメッシュ化装置の発明として実現することができる。
【0013】
本発明について詳述すると、上記第一メッシュ化手順では、メッシュ化対象の直方体ブロックである処理対象ブロックに設定すべき節点の一部(ブロック内部及び非拘束面上の節点の少なくとも一部)を設定せずに未設定のまま、この処理対象ブロックを、拘束面における節点及び結線のパターンを保持するようにして四面体要素でメッシュ化する。例えば、拘束面における節点及び結線のパターンを保持するようにして処理対象ブロックを四面体要素で最小限メッシュ化するのに必要な節点を選択的に、拘束面の配置に応じて先行設定し、処理対象ブロックを四面体要素で簡素にメッシュ化する。
【0014】
そして、付加手順では、拘束面に該当しない非拘束面が存在する処理対象ブロックに対し、処理対象ブロックの拘束面を除く表面領域を被覆する被覆体であって、第一メッシュ化手順によるメッシュ化後の処理対象ブロックとの接触面において、処理対象ブロックと節点及び結線が一致するように四面体要素でメッシュ化した被覆体を付加する。
【0015】
そして、第二メッシュ化手順では、第一メッシュ化手順によるメッシュ化後の上記処理対象ブロックに上記被覆体が付加されてなる直方体形状のスーパーボックスにおける当該処理対象ブロックにブロック内部及び非拘束面上の未設定の節点を設定し、当該スーパーボックスをDelaunay法に基づき更に四面体要素でメッシュ化し、当該メッシュ化後のスーパーボックスから処理対象ブロックを抽出することにより、処理対象ブロックのメッシュ化を完了し、これによって処理対象ブロックに対応するメッシュモデルを生成する。尚、ここで被覆体を付加する理由は、処理対象ブロックの非拘束面上に節点を挿入して、四面体要素によりメッシュ化するためである。一般的なDelaunay法では、スーパーボックスの表面に節点は挿入されない。
【0016】
Delaunay法は、形状モデルを四面体要素により自動でメッシュ化する際に広く用いられる手法である。しかしながら、従来のように、メッシュ化対象全体を包囲する直方体状のスーパーボックス(
図39(a)参照)を生成し、このスーパーボックスを6個の四面体で分割した初期状態から順次節点を導入してDelaunay法により対象をメッシュ化する方法では、対象を自動で四面体要素によりメッシュ化できるものの結線のパターンを制御することができない。従って、処理対象ブロックに対して単に従来のようにDelaunay法を適用するだけでは、拘束面における結線のパターンを維持して、処理対象ブロックを自動でメッシュ化することはできない。
【0017】
一方、Delaunay法によれば、新しい節点Pnを導入して所定領域を再メッシュ化する際(
図39(b):Step1)、この節点Pnを含む四面体要素及び節点Pnを外接球に含む四面体要素を特定し(
図39(b):Step2)、これらの四面体要素を結合し(
図39(b):Step3)、結合した多面体の領域内で、新しい接点Pnを取り込んで再メッシュ化を行うため(
図39(b):Step4)、多面体の領域内では、結線が変更されるものの、多面体の領域外では、結線が変更されない。尚、
図39では、四面体要素を三角形で表現し、四面体要素の面を線分で表し、外接球を外接円で表す。
【0018】
従って、上述した手順により、拘束面の節点及び結線のパターンを保持しつつ処理対象ブロックを四面体要素により簡素にメッシュ化し、その後、処理対象ブロックに拘束面を露出可能な形状の被覆体を付加して直方体形状のスーパーボックスを生成し、このスーパーボックスにおいて処理対象ブロックの領域に未設定の節点を導入して、Delaunay法により再メッシュ化を行えば、拘束面における結線のパターンを固定したままで、拘束面以外の処理対象ブロックの領域(ブロック内部及び非拘束面上の領域)に必要な節点を導入し処理対象ブロックを再メッシュ化できる。即ち、本発明の各手順により拘束面を有する処理対象ブロックをメッシュ化すれば、拘束面の状態を保持してDelaunay法により任意節点を導入して処理対象ブロックを自動でメッシュ化することができるのである。
【0019】
この手順により処理対象ブロックをメッシュ化する本発明によれば、複数の直方体ブロックからなる形状モデルにおいて、各直方体ブロックの夫々を、隣接ブロックとの接触面における節点及び結線が隣接ブロックと一致するように、コンピュータにより自動でメッシュ化することができる。よって、大規模な形状モデルに対応するメッシュモデルの生成や、この形状モデルの一部に対応するメッシュモデルの生成を容易に行うことができる。
【0020】
例えば、形状モデルを複数の直方体ブロックで分割し、直方体ブロックの夫々に対し、隣接する直方体ブロックとの接触面で節点及び結線が当該隣接する直方体ブロックに一致するように、節点及び結線を先行設定した後、本発明を用いて複数の直方体ブロックの夫々をメッシュ化すれば、これら複数の直方体ブロックの夫々を、複数のコンピュータにより並列にメッシュ化することができ、大規模な形状モデルのメッシュ化を短時間で実現することができる。
【0021】
また、形状モデルをコンピュータの処理能力に合わせて複数の直方体ブロックに分割し、コンピュータに、この直方体ブロックを順次、既にメッシュ化の完了した直方体ブロックとの接触面において節点及び結線と一致するようにメッシュ化させれば、処理能力の低い単一のコンピュータにて、形状モデルのメッシュモデルを生成することができる。メッシュ化に際しては、メッシュ化する対象の領域サイズに応じて指数関数的に必要な演算量や必要なメモリ容量が増大するが、形状モデルを細分化すればメッシュ化に際しての演算量や必要なメモリ容量を抑えることができ、大規模な形状モデルに対応するメッシュモデルを、能力の低いコンピュータを用いて容易に生成することができるのである。
【0022】
そして、上記のように大規模な形状モデルを直方体ブロックに細分化してメッシュ化すれば、結合する直方体ブロックの形状モデルの一部に限定することで、形状モデルの一部領域のメッシュモデルを生成する作業を簡単に行うことができる。よって、本発明は、地質モデル等の大規模な形状モデルの有限要素法を用いた振動解析に大変役立つ。
【0023】
ところで、上記付加手順は、次の第一付加手順、第二付加手順、及び、第三付加手順を含む構成とすることができる。第一付加手順は、処理対象ブロックにおける非拘束面の夫々に、非拘束面との接触面が当該非拘束面と同サイズの直方体である第一被覆体を付加する手順である。この第一被覆体については、非拘束面との接触面において当該非拘束面と節点及び結線が一致するように、四面体要素でメッシュ化する。四面体要素でメッシュ化してなる第一被覆体については、例えば、上記同サイズの直方体を、第一メッシュ化手順により上記非拘束面において形成される各三角形状のメッシュ要素を底面に有する三角柱の一群に分割し、これら三角柱の夫々を三つの四面体要素に分割することで生成することができる。
【0024】
一方、第二付加手順は、処理対象ブロックに互いに直交する非拘束面のペアが存在する場合に、このペアが共有する処理対象ブロックの辺に沿って、このペアに該当する非拘束面の夫々に付加される上記第一被覆体の表面に接触する直方体であって第一被覆体との接触面が第一被覆体の面と同サイズの直方体である第二被覆体を付加する手順である。この第二被覆体については、第一被覆体との接触面において当該第一被覆体と節点及び結線が一致するように、四面体要素でメッシュ化する。四面体要素でメッシュ化してなる第二被覆体については、例えば、上記同サイズの直方体を、一方の第一被覆体との接触面において当該第一被覆体が有する三角形状の各メッシュ要素を底面に有する三角柱の一群に分割し、これら三角柱の夫々を、他方の第一被覆体との接触面において、この第一被覆体と節点及び結線が一致するように三つの四面体要素で分割することで生成することができる。
【0025】
また、第三付加手順は、処理対象ブロックに拘束面に接しない角が存在する場合に、当該拘束面に接しない角の夫々に、この角の周囲に付加される第二被覆体の表面に接触する直方体であって第二被覆体との接触面が第二被覆体の面と同サイズの直方体である第三被覆体を付加する手順である。第三被覆体については、第二被覆体との接触面において当該第二被覆体と節点及び結線が一致するように、四面体要素でメッシュ化する。四面体要素でメッシュ化してなる第三被覆体については、例えば、上記同サイズの直方体を、一つの第二被覆体との接触面において第二被覆体が有する三角形状の各メッシュ要素を底面に有する三角柱の一群に分割し、これら三角柱の夫々を、他の第二被覆体との接触面において、この第二被覆体と節点及び結線が一致するように三つの四面体要素で分割することで生成することができる。このような第一〜第三被覆体のメッシュ化は、処理対象ブロックへの付加前又は付加後に行うことができる。
【0026】
上記付加手順は、このようにして、処理対象ブロックに、第一被覆体、第二被覆体及び第三被覆体の組合せからなる上記被覆体を付加する手順とすることができる。
この他、上記第一メッシュ化手順では、拘束面に接しない角を有する処理対象ブロックに関して、拘束面に接しない各角に設定された節点と、拘束面に接する各角に設定された節点を含む拘束面に設定された節点とを、拘束面における節点及び結線のパターンを保持するように結ぶことで、当該処理対象ブロックに設定すべき他の節点を設定せずに未設定のまま、当該処理対象ブロックを四面体要素でメッシュ化することができる。
【0027】
一方、角が全て拘束面に接する処理対象ブロックに関しては、当該処理対象ブロック表面における非拘束面の拘束面と接しない領域、及び、処理対象ブロックの表面を除く内部領域のいずれか一以上の領域に、拘束面の配置に応じた節点として一個又は数個の節点を先行設定し、この節点と各角の節点を含む拘束面に設定された節点とを、拘束面における節点及び結線のパターンを保持するように結ぶことで、処理対象ブロックに設定すべき他の節点を設定せずに未設定のまま、当該処理対象ブロックを四面体要素でメッシュ化することができる。
【0028】
具体的に、第一メッシュ化手順では、次の(1)〜(4)によって拘束面を一面のみ有する処理対象ブロックをメッシュ化することができる。即ち、第一メッシュ化手順では、
(1)拘束面と対向する処理対象ブロックの面である対向面の四つ角の一つに設けられた節点P11を頂点とし、拘束面に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割し、
(2)節点P11と、節点P11の対角に位置する処理対象ブロックの角に設けられた節点P12と、節点P12を一端に有する拘束面の第一の辺における節点P12とは反対側の端点に設けられた節点P13とを、結ぶ三角形P11−P12−P13の面に形成された三角形状の各メッシュ要素を底面とし、節点P12を一端に有する拘束面の第二の辺における節点P12とは反対側の端点の対角に位置する処理対象ブロックの角に設けられた節点P14を頂点とする四面体要素により処理対象ブロックを分割し、
(3)節点P11と、節点P12と、節点P14の対角に位置する処理対象ブロックの角に設けられた節点P15と、を結ぶ三角形P11−P12−P15の面上に設けられた三角形状の各メッシュ要素と底面とし、節点P13の対角に位置する処理対象ブロックの角に設けられた節点P16を頂点とする四面体要素により処理対象ブロックを分割し、
(4)処理対象ブロックにおいて四面体要素に分割されていない四角錐の領域を二分割して当該領域を四面体要素に分割する
ことにより、上記処理対象ブロックを四面体要素でメッシュ化することができる。
【0029】
一方、第一メッシュ化手順では、次の(1)(2)によって一辺を共有する位置関係にある計二つの拘束面を有する処理対象ブロックをメッシュ化することができる。即ち、
(1)上記二つの拘束面が共有する辺の端点のいずれか一方と対角関係にある処理対象ブロックの角に設けられた節点P21を頂点とし、上記拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割し、
(2)節点P21と、節点P21と対角関係にある処理対象ブロックの角に設けられた節点P22と、節点P22を一端とする辺であって上記二つの拘束面が共有する辺とは直交関係にある拘束面の夫々の辺において節点P22とは反対側の端点に設けられた節点P23,P24と、を結ぶ三角形P21−P22−P23及び三角形P21−P22−P24の夫々の面に形成された三角形状の各メッシュ要素を底面とし、上記二つの拘束面が共有する辺の端点であって節点P22とは反対側の端点とは対角に位置する処理対象ブロックの角に設けられた節点P25を頂点とする四面体要素により処理対象ブロックを分割する
ことにより、上記処理対象ブロックを四面体要素でメッシュ化することができる。
【0030】
この他、第一メッシュ化手順では、次の手順(1)〜(3)によって互いに平行な計二つの拘束面を有する処理対象ブロックをメッシュ化することができる。即ち、
(1)拘束面の配置に応じた節点として、二つの拘束面に挟まれた処理対象ブロックの内部領域における一点に節点P31を設定し、処理対象ブロックが有する非拘束面の夫々の面上において、当該非拘束面の四辺より内側の一点に節点P32を設定し、
(2)節点P31を頂点とし拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割し、
(3)非拘束面の一つ毎に、当該非拘束面に設定された節点P32と、拘束面に設定された節点であって当該非拘束面と共有する辺上に設定された各節点と、を結んで形成される非拘束面上の三角形状の各メッシュ要素を底面とし、節点P31を頂点とする四面体要素により処理対象ブロックを分割する
ことにより、上記処理対象ブロックを四面体要素でメッシュ化することができる。
【0031】
また、第一メッシュ化手順では、次の手順によって第一の拘束面が有する直交する二辺の夫々に接続された第二及び第三の拘束面を有する計三つの拘束面を有する処理対象ブロックをメッシュ化することができる。即ち、拘束面のいずれとも接しない処理対象ブロックの角に設定された節点P41を頂点とし、拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割することにより、上記処理対象ブロックを四面体要素でメッシュ化することができる。
【0032】
また、第一メッシュ化手順では、次の(1)〜(3)によって第一の拘束面が有する平行な2辺の夫々に接続された第二及び第三の拘束面を有する計三つの拘束面を有する処理対象ブロックをメッシュ化することができる。即ち、
(1)拘束面の配置に応じた節点として、第一の拘束面に平行な非拘束面の四辺の内、第二及び第三の拘束面と共有しない二辺の夫々に節点P51を設定し、
(2)節点P51の一方を頂点とし、拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割し、
(3)節点P51の一方を頂点とし、節点P51の他方と、当該他方に該当する節点P51が設定された辺を有する非拘束面であって拘束面のいずれとも直交する非拘束面の拘束面と共有する三辺の夫々に設定された各節点とを結んで形成される当該非拘束面上の三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割する
ことにより、上記処理対象ブロックを四面体要素でメッシュ化することができる。
【0033】
また、第一メッシュ化手順では、次の手順によって第一の拘束面が有する三辺の夫々に接続された第二及び第三及び第四の拘束面を有する計四つの拘束面を有する処理対象ブロックをメッシュ化することができる。即ち、拘束面の配置に応じた節点として、第一の拘束面に平行な非拘束面の第二及び第三及び第四の拘束面と共有しない一辺に節点P61を設定し、節点P61を頂点とし、拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割することにより、上記処理対象ブロックを四面体要素でメッシュ化することができる。
【0034】
また、第一メッシュ化手順では、次の(1)〜(3)によって第一の拘束面が有する平行な二辺の夫々に接続された第二及び第三の拘束面と、第一の拘束面と平行な第四の拘束面とを有する計四つの拘束面を有する処理対象ブロックをメッシュ化することができる。即ち、第一メッシュ化手順では、
(1)拘束面の配置に応じた節点として、非拘束面の夫々に対し、拘束面とは接しない領域に一つの節点P71を設定し、
(2)節点P71の一方を頂点とし、拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割し、
(3)節点P71の一方を頂点とし、節点P71の他方を有する非拘束面上において当該他方に該当する節点P71と当該非拘束面における拘束面と共有する四辺の夫々に設定された各節点とを結んで形成される当該非拘束面上の三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割する
ことにより、上記処理対象ブロックを四面体要素でメッシュ化することができる。
【0035】
また、第一メッシュ化手順では、次の手順により、処理対象ブロックが計五つの拘束面を有する処理対象ブロックを四面体要素でメッシュ化することができる。即ち、拘束面の配置に応じた節点として、唯一の非拘束面における拘束面とは接しない領域に一つの節点P81を設定し、節点P81を頂点とし、拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割することにより、上記処理対象ブロックを四面体要素でメッシュ化することができる。
【0036】
また、第一メッシュ化手順では、次の手順により、全面を拘束面として有する処理対象ブロックを四面体要素でメッシュ化することができる。即ち、拘束面の配置に応じた節点として、処理対象ブロックの内部領域に、一つの節点P91を設定し、この節点P91を頂点とし、拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割することにより、上記処理対象ブロックを四面体要素でメッシュ化することができる。この場合、第二メッシュ化手順では、第一メッシュ化手順によるメッシュ化後の処理対象ブロックをスーパーボックスとみなして、これに未設定の節点を設定しつつ、この処理対象ブロックをDelaunay法に基づき更に四面体要素でメッシュ化することにより、上記全面を拘束面として有する処理対象ブロックのメッシュ化を完了し、当該処理対象ブロックに対応するメッシュモデルを生成することができる。
【発明を実施するための形態】
【0038】
以下に本発明の実施例について、図面と共に説明する。
図1に示す本実施例の情報処理システム1は、ユーザから指定された形状モデルをメッシュ化する機能をプログラムにより実現するものである。情報処理システム1が受付可能な形状モデルは、複数の直方体ブロックに分割された形状モデルであり、情報処理システム1は、ユーザからの指示に従って、形状モデルの構成(形状)及び分割パターン及び各直方体ブロックに設定すべき節点の配置情報が記述されたモデルデータを外部から取得し、このモデルデータが表す形状モデルを構成する直方体ブロックの夫々を、隣接ブロックにおける節点及び結線のパターンが一致するように四面体要素によりメッシュ化する。
【0039】
具体的に、情報処理システム1は、演算装置10と、記憶装置20と、ドライブ装置30と、LANインタフェース40と、ユーザインタフェース50とを備える。演算装置10は、各種プログラムを実行するCPU11及びCPU11によるプログラム実行時に作業領域として使用されるRAM13等から構成され、記憶装置20は、CPU11が実行する各種プログラムやプログラム実行時に使用される各種データを記憶する。この記憶装置20は、例えばハードディスク装置により構成される。
【0040】
ドライブ装置30は、磁気ディスクや光ディスクに書き込まれたデータを読取可能且つ磁気ディスクや光ディスクに対してデータを書込可能な装置であり、LANインタフェース40は、LANに接続されたノードと通信可能なインタフェースである。
【0041】
情報処理システム1は、例えばドライブ装置30を通じて、磁気ディスクや光ディスクに書き込まれた上記モデルデータを記憶装置20に読み込み、上記機能によりメッシュ化した直方体ブロックのデータを磁気ディスクや光ディスクに書き込む。この他、情報処理システム1は、LANインタフェース40を通じてLANに接続されたユーザ端末からメッシュ化する形状モデルについての上記モデルデータを取得し、上記機能によりメッシュ化した直方体ブロックのデータを、LANインタフェース40を通じてユーザ端末に提供する。
【0042】
ユーザインタフェース50は、キーボードやポインティングデバイス等から構成され、情報処理システム1は、このユーザインタフェース50を通じて入力されるユーザからの指示に従って、外部から上記モデルデータを読み込み、このモデルデータに基づいて、形状モデルを構成する直方体ブロック群をメッシュ化し、メッシュ化後の直方体ブロック群のデータを、記憶装置20に書き込む。また、必要に応じて、このデータを、ユーザインタフェース50を通じてユーザから指定された出力先(磁気又は光ディスクやユーザ端末等)に出力する。
【0043】
この点について詳述すると、情報処理システム1が備える演算装置10は、ユーザインタフェース50を通じてメッシュ化の指示が入力されると、記憶装置20に記憶されたプログラムに従って、
図2に示すメッシュモデル生成処理を実行することで、形状モデルを直方体ブロック毎にメッシュ化する上記機能を実現する。
【0044】
メッシュモデル生成処理を開始すると、演算装置10は、ユーザインタフェース50を通じてモデルデータの指定操作を受け付けて、指定されたモデルデータを読み込む。これによって、モデルデータが示す形状モデルをメッシュ化対象に設定する(S110)。
【0045】
その後、メッシュ化対象の形状モデルを構成する直方体ブロックの一つであって、メッシュ化の完了していない直方体ブロックの一つを処理対象ブロックに選択する(S120)。
図3は、直方体ブロックに分割された形状モデルの概念図である。モデルデータには、形状モデルの分割パターンが規定されており、演算装置10は、このモデルデータに基づき、形状モデルを構成する複数の直方体ブロック群のサイズや座標を特定し、形状モデルを構成する直方体ブロックの一つを処理対象ブロックに選択する。
【0046】
処理対象ブロックを選択してS130に移行すると、演算装置10は、処理対象ブロックに隣接する直方体ブロックである隣接ブロック群に、メッシュ化の完了した隣接ブロックが存在するか否かを判断する。そして、メッシュ化の完了した隣接ブロックが存在しない場合には(S130でNo)、S140に移行し、メッシュ化の完了した隣接ブロックが存在する場合には(S130でYes)、S150に移行する。
【0047】
S140に移行すると、演算装置10は、従来手法と同様に、処理対象ブロック全体を包囲する直方体形状のスーパーボックスを生成し、処理対象ブロックに設定すべき節点の夫々をスーパーボックス内に設定して、当該スーパーボックスをDelaunay法に基づき四面体要素でメッシュ化する。これによって処理対象ブロックのメッシュ化を行う。具体的には、処理対象ブロックの外形を構成する8つの各角に節点を設定すると共に、モデルデータに記された処理対象ブロックに設定すべき各節点を設定して、Delaunay法に基づきスーパーボックスを四面体要素によりメッシュ化する。これによって処理対象ブロックに設定すべき節点の全てを導入して当該処理対象ブロックをメッシュ化する。
【0048】
その後、演算装置10は、S145に移行し、スーバーボックスから処理対象ブロックを抽出し、抽出後の処理対象ブロックのデータを、メッシュ化の完了した直方体ブロックのデータとして記憶装置20に書き込む。S140に移行する場合には拘束面が存在しないため、S140及びS145では、このようにして従来と同手法によって、処理対象ブロックを自動で四面体要素によりメッシュ化し、これを保存する。
【0049】
その後、S120に移行し、形状モデルを構成する直方体ブロックであって、メッシュ化の完了していない直方体ブロックの一つを次の処理対象ブロックに設定し、S130以降の処理を実行する。
【0050】
一方、S150に移行すると、演算装置10は、メッシュ化の完了した隣接ブロックと接触する処理対象ブロックの面である拘束面の夫々に隣接ブロックの接触面と同一パターンの節点及び結線を設定する。
図3に示すように、処理対象ブロックBの面がメッシュ化の完了した隣接ブロックAの面と接触する場合には、
図4に示すように、隣接ブロックAの接触面と同一パターンの節点及び結線を処理対象ブロックBの対応する面に設定する。
【0051】
その後、演算装置10は、S161に移行し、処理対象ブロックにおける拘束面の配置に基づき、処理対象ブロックが第一分類の処理対象ブロックであるか否かを判断する。ここでは、処理対象ブロックが
図5に示すように拘束面を一面のみ有するものである場合、第一分類の処理対象ブロックであると判断し(S161でYes)、S171に移行する。一方、それ以外の場合には否定判断して(S161でNo)、S162に移行する。
【0052】
S171に移行すると、演算装置10は、
図6に示す第一分類メッシュ化処理を実行する。第一分類メッシュ化処理では、
図7左上図に示すように、唯一存在する拘束面P13−P12−P15−P18と対向する処理対象ブロックの面P14−P17−P16−P11の四つ角の一つに設けられた節点P11を頂点とし、拘束面P13−P12−P15−P18に形成された三角形状の各メッシュ要素を底面とする四面体要素(三角錐)によって処理対象ブロックを分割する(S210)。
【0053】
更に、
図7右上図に示すように、節点P11と、節点P11の対角に位置する処理対象ブロックの角に設けられた節点P12と、拘束面P13−P12−P15−P18における節点P12を一端に有する第一の辺P13−P12の節点P12とは反対側の端点に設けられた節点P13とを、結ぶ三角形P11−P12−P13の面に形成された三角形状の各メッシュ要素を底面とし、拘束面P13−P12−P15−P18における節点P12を一端に有する第二の辺P12−P15の節点P12とは反対側の端点(節点P15)の対角に位置する処理対象ブロックの角に設けられた節点P14を頂点とする四面体要素により処理対象ブロックを分割する(S220)。
【0054】
また、
図7右下図に示すように、節点P11と、節点P12と、節点P14の対角に位置する処理対象ブロックの角に設けられた節点P15と、を結ぶ三角形P11−P12−P15の面上に設けられた三角形状の各メッシュ要素と底面とし、節点P13の対角に位置する処理対象ブロックの角に設けられた節点P16を頂点とする四面体要素により処理対象ブロックを分割する(S230)。更に、
図7左下図に示すように、処理対象ブロックにおいて四面体要素に分割されていない四角錐P11−P16−P17−P14−P12の領域を、P11−P17−P12を境界面として二分割して四面体要素に分割する(S240)。このようにして、ここでは第一分類の処理対象ブロックを簡易に四面体要素でメッシュ化する。
【0055】
この後、演算装置10は、S250に移行し、
図8に示すように処理対象ブロックにおける拘束面P13−P12−P15−P18以外の面である非拘束面(面P14−P17−P12−P13、面P11−P16−P17−P14、面P11−P16−P15−P18、面P11−P14−P13−P18及び面P16−P17−P12−P15)の夫々に、この非拘束面との接触面が非拘束面と同サイズの直方体Q1を付加する。以下、これを第一被覆体Q1とも表現する。第一被覆体Q1は各角に節点を有する。
【0056】
また、付加前又は後には、第一被覆体Q1の各角に設けられた節点間を結んで、第一被覆体Q1を、非拘束面との接触面において非拘束面と節点及び結線が一致するように四面体要素でメッシュ化する。具体的には、第一被覆体Q1を、処理対象ブロックの非拘束面に形成された各三角形状のメッシュ要素を底面に有する三角柱の一群に分割し、三角柱の夫々を、三つの四面体要素に分割することによって、第一被覆体Q1を四面体要素でメッシュ化する。
【0057】
S250の処理後、演算装置10は、S260に移行し、互いに直交する非拘束面のペアが共有する処理対象ブロックの各辺(辺P13−P14、辺P17−P12、辺P18−P11、辺P16−P15、辺P14−P11、辺P17−P16、辺P14−P17、及び辺P11−P16の各辺)に沿って、ペアに該当する非拘束面の夫々に付加された第一被覆体Q1の表面に接触する直方体Q2であって第一被覆体Q1との接触面が第一被覆体Q1の面と同サイズの直方体Q2を付加する。以下、この直方体Q2を第二被覆体Q2とも表現する。第二被覆体Q2は各角に節点を有する。また、付加前又は後には、第二被覆体Q2を、第一被覆体Q1との接触面において第一被覆体Q1と節点及び結線が一致するように、四面体要素でメッシュ化する。
【0058】
具体的には、第二被覆体Q2における第一被覆体Q1に接触する二つの面の内、一方の面に接触する第一被覆体Q1の当該接触面においてS250でのメッシュ化により形成された三角形状の各メッシュ要素を基準に、第二被覆体Q2を、当該各メッシュ要素を底面に有する三角柱の一群に分割し、これら三角柱の夫々を、他方の面に接触する第一被覆体Q1の当該接触面の結線パターンに合わせて、三つの四面体要素で分割することにより、第二被覆体Q2を六つの四面体要素でメッシュ化する。
【0059】
S260での処理後、演算装置10は、S270に移行し、
図8に示すように、拘束面P13−P12−P15−P18に接しない節点P11,P14,P16,P17が設定された角の夫々に、角の周囲に付加される第二被覆体Q2の表面に接触する直方体Q3であって第二被覆体Q2との接触面が第二被覆体Q2の面と同サイズの直方体Q3を付加する。以下、この直方体を第三被覆体Q3とも表現する。また、付加前又は後には、各角に節点を有する第三被覆体Q3を、第二被覆体Q2との接触面において第二被覆体Q2と節点及び結線が一致するように四面体要素でメッシュ化する。
【0060】
具体的には、第三被覆体Q3における第二被覆体Q2に接触する三つの面(即ち、第一、第二及び第三の面)の内、第一の面に接触する第二被覆体Q2の当該接触面においてS260でのメッシュ化により形成された三角形状の各メッシュ要素を基準に、第三被覆体Q3を、当該各メッシュ要素を底面に有する三角柱の一群に分割し、これら三角柱の夫々を、第二及び第三の面に接触する第二被覆体Q2の当該接触面の結線パターンに合わせて、三つの四面体要素により分割することにより、第三被覆体Q3を六つの四面体要素でメッシュ化する。
【0061】
このようにして、本実施例では、処理対象ブロックにおける拘束面P13−P12−P15−P18以外の外周に第一〜第三被覆体Q1,Q2,Q3を付加して、処理対象ブロックと第一〜第三被覆体Q1,Q2,Q3とからなる直方体形状のスーパーボックスを生成する。
図9(a)は、
図8に示す処理対象ブロック及び第一〜第三被覆体Q1,Q2,Q3からなるスーパーボックスを、方角Daから見た斜視図であり、
図9(b)は、同スーパーボックスを、方角Dbから見た斜視図である。
【0062】
S270の処理後、演算装置10は、S280に移行し、スーパーボックスにおける処理対象ブロックに、上記モデルデータに記述された当該処理対象ブロックに設定すべきブロック内部及び非拘束面上の未設定の節点を、例えば
図10に示すように設定し、スーパーボックスをDelaunay法に基づき四面体要素で再メッシュ化する。
【0063】
その後、S290に移行し、S280で全ての節点を導入して四面体要素でメッシュ化したスーパーボックスから処理対象ブロックを抽出し、抽出後の処理対象ブロックのデータを、メッシュ化の完了した直方体ブロックのデータとして記憶装置20に書き込み、第一分類メッシュ化処理を終了する。また、演算装置10は、S171で第一分類メッシュ化処理を終了すると、S190(
図2参照)に移行する。
図11(a)は、
図9に示すスーパーボックスをDelaunay法に基づき四面体要素でメッシュ化した後に当該スーパーボックスから抽出した処理対象ブロックの構成を表す図であり、
図11(b)は、処理対象ブロック抽出後のスーパーボックスの構成を表す図である。
【0064】
S190に移行すると、演算装置10は、形状モデルを構成する全ての直方体ブロックのメッシュ化が完了したか否かを判断し、完了していない場合には(S190でNo)、S120に移行して、メッシュ化の完了してない直方体ブロックの一つを次の処理対象ブロックに選択し、S130以降の処理を実行する。
【0065】
一方、S161で処理対象ブロックが第一分類の処理対象ブロックではないと判断してS162に移行すると、演算装置10は、処理対象ブロックが第二分類の処理対象ブロックであるか否かを判断する。ここでは、処理対象ブロックが
図12に示すように一辺(辺P26−P22)を共有する位置関係にある計二つの拘束面(面P27−P23−P22−P26及び面P28−P24−P22−P26)を有するものである場合、当該処理対象ブロックが第二分類の処理対象ブロックであると判断し(S162でYes)、それ以外の場合には否定判断する(S162でNo)。そして、肯定判断した場合にはS172に移行し、否定判断した場合にはS163に移行する。
【0066】
S172に移行すると、演算装置10は、
図13に示す第二分類メッシュ化処理を実行する。第二分類メッシュ化処理では、
図14上図に示すように、二つの拘束面(面P27−P23−P22−P26及び面P28−P24−P22−P26)が共有する辺P22−P26の端点のいずれか一方と対角関係にある処理対象ブロックの角に設けられた節点P21を頂点とし、二つの拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割する(S310)。但し、
図14左上図では、拘束面P27−P23−P22−P26における節点及び結線の図示を省略する。
【0067】
その後、節点P21と、節点P21と対角関係にある処理対象ブロックの角に設けられた節点P22と、節点P22を一端とする辺であって二つの拘束面が共有する辺P22−P26とは直交関係にある拘束面の夫々の辺P22−P23及び辺P22−P24において節点P22とは反対側の端点に設けられた節点P23,P24と、を結ぶ三角形P21−P22−P23及び三角形P21−P22−P24の夫々の面に形成された三角形状の各メッシュ要素を底面とし、二つの拘束面が共有する辺P22−P26の端点であって節点P22とは反対側の端点とは対角に位置する処理対象ブロックの角に設けられた節点P25を頂点とする四面体要素により処理対象ブロックを分割する(S320)。このようにして、ここでは第二分類の処理対象ブロックを四面体要素で簡易にメッシュ化する。
【0068】
この後には、S350に移行し、S250の処理と同様、処理対象ブロックにおける非拘束面(面P21−P25−P23−P27、面P21−P25−P24−P28、面P21−P27−P26−P28及び面P25−P23−P22−P24)の夫々に、第一被覆体Q1を付加する(
図15参照)。また、付加前又は後には、第一被覆体Q1を、非拘束面との接触面において非拘束面と節点及び結線が一致するように四面体要素でメッシュ化する。
【0069】
S350の処理後、演算装置10は、S360に移行し、S260の処理と同様、互いに直交する非拘束面のペアが共有する処理対象ブロックの各辺(辺P21−P27、辺P21−P28、辺P21−P25、辺P23−P25及び辺P24−P25の各辺)に沿って、ペアに該当する非拘束面の夫々に付加された第一被覆体Q1の表面に接触する第二被覆体Q2を付加する。また、付加前又は後には、第二被覆体Q2を、第一被覆体Q1との接触面において第一被覆体Q1と節点及び結線が一致するように、四面体要素でメッシュ化する。
【0070】
S360での処理後、演算装置10は、S370に移行し、S270の処理と同様、
図8に示すように、二つの拘束面(面P27−P23−P22−P26及び面P28−P24−P22−P26)のいずれにも接しない節点P21,P25が設定された角の夫々に、角の周囲に付加される第二被覆体Q2の表面に接触する第三被覆体Q3を付加する。また、付加前又は後には、第三被覆体Q3を、第二被覆体Q2との接触面において第二被覆体Q2と節点及び結線が一致するように、四面体要素でメッシュ化する。
【0071】
このようにして、処理対象ブロックが第二分類の処理対象ブロックである場合には、二つの拘束面(面P27−P23−P22−P26及び面P28−P24−P22−P26)以外の周囲に第一〜第三被覆体Q1,Q2,Q3を付加して、処理対象ブロックと第一〜第三被覆体Q1,Q2,Q3とからなる直方体形状のスーパーボックスを生成する。
図15(a)(b)は、
図12に示す処理対象ブロックに対して形成するスーパーボックスの構成を表す斜視図であり、夫々異なる方角から見たスーパーボックスの斜視図である。
【0072】
S370での処理後、演算装置10は、S380に移行し、上記スーパーボックスにおける処理対象ブロックに、上記モデルデータに記述された当該処理対象ブロックに設定すべき未設定の節点を設定して、スーパーボックスをDelaunay法に基づき四面体要素で再メッシュ化する。
【0073】
その後、演算装置10は、S390に移行し、S380の処理でメッシュ化したスーパーボックスから処理対象ブロックを抽出して、抽出後の処理対象ブロックのデータを、メッシュ化の完了した直方体ブロックのデータとして記憶装置20に書き込んだ後、第二分類メッシュ化処理を終了する。その後、演算装置10は、S190に移行する。
図16(a)は、
図15に示すスーパーボックスをDelaunay法に基づき四面体要素でメッシュ化した後、スーパーボックスから抽出した処理対象ブロックの構成を表す図であり、
図16(b)は、処理対象ブロック抽出後のスーパーボックスの構成を表す図である。
【0074】
この他、S162で処理対象ブロックが第二分類の処理対象ブロックではないと判断してS163に移行すると、演算装置10は、処理対象ブロックが第三分類の処理対象ブロックであるか否かを判断する(S163)。ここでは、処理対象ブロックが、
図17に示すような互いに平行な計二つの拘束面を有するものである場合、第三分類の処理対象ブロックであると判断し(S163でYes)、それ以外の場合には否定判断する(S163でNo)。そして、肯定判断した場合にはS173に移行し、否定判断した場合にはS164に移行する。
【0075】
S173に移行すると、演算装置10は、
図18に示す第三分類メッシュ化処理を実行する。第三分類メッシュ化処理では、
図19左図に示すように、二つの拘束面(面P33−P34−P38−P37及び面P36−P35−P39−P30)に挟まれた処理対象ブロックの表面を除く内部領域における一点(中央領域)に節点P31を設定する(S410)。ここでは、モデルデータが示す処理対象ブロックに設定すべき節点群から適当な節点を一つ選択し、これを節点P31として先行設定する。そして、節点P31を頂点とし拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割する(S415)。
【0076】
更に、処理対象ブロックが有する4つの非拘束面(第一〜第四の非拘束面)の内、第一の非拘束面P36−P33−P34−P35の四辺より内側の一点に、
図19右図に示すように節点P321を設定する(S420)。即ち、モデルデータが示す処理対象ブロックに設定すべき節点群から適当な節点を一つ選択し、これを節点P321として先行設定する。以下、特定領域に節点を設定する動作は、特に言及しなくても、S410,S420での処理と同様、モデルデータから条件に合致する節点を選択して、これを設定する動作であるものとする。
【0077】
そして、この節点P321と、第一の非拘束面の拘束面と共有する辺P33−P34及び辺P35−P36上に設定された各節点とを結んで、第一の非拘束面上に三角形状の各メッシュ要素を形成する(S421)。更に、処理対象ブロックを、この各メッシュ要素を底面とし節点P31を頂点とする四面体要素により分割する(S423)。
【0078】
同様に、第二の非拘束面P37−P38−P39−P30の四辺より内側の一点(中央領域)に節点P322を
図20左上図に示すように設定し(S425)、節点P322と、第二の非拘束面の拘束面と共有する辺P37−P38及び辺P39−P30上に設定された各節点とを結んで、第二の非拘束面上に三角形状の各メッシュ要素を形成し(S426)、処理対象ブロックを、この各メッシュ要素を底面とし、節点P31を頂点とする四面体要素により分割する(S427)。
【0079】
更に、第三の非拘束面P36−P30−P37−P33の四辺より内側の一点(中央領域)に節点P323を
図20右上図に示すように設定し(S430)、節点P323と、第三の非拘束面の拘束面と共有する辺P36−P30及び辺P37−P33上に設定された各節点とを結んで、第三の非拘束面上に三角形状の各メッシュ要素を形成し(S431)、処理対象ブロックを、この各メッシュ要素を底面とし、節点P31を頂点とする四面体要素により分割する(S433)。
【0080】
また、第四の非拘束面P34−P38−P39−P35の四辺より内側の一点(中央領域)に節点P324を
図20の右下図に示すように設定し(S435)、節点P324と、第四の非拘束面の拘束面と共有する辺P34−P38及び辺P39−P35上に設定された各節点とを結んで、第四の非拘束面上に三角形状の各メッシュ要素を形成し(S436)、処理対象ブロックを、この各メッシュ要素を底面とし、節点P31を頂点とする四面体要素により分割する(S437)。このようにして、処理対象ブロックを四面体要素により簡易にメッシュ化する。
【0081】
この後、演算装置10は、S450に移行して、処理対象ブロックにおける非拘束面(面P36−P33−P34−P35、面P36−P30−P37−P33、面P30−P37−P38−P39及び面P34−P38−P39−P35)の夫々に、S250での処理と同様、第一被覆体Q1を付加し(
図21参照)、付加前又は後には、第一被覆体Q1を、非拘束面との接触面において非拘束面と節点及び結線が一致するように四面体要素でメッシュ化する。但し、第三分類メッシュ化処理では、非拘束面において節点P321,P322,P323,P324を導入しているため、第一被覆体Q1には、角以外に節点P321,P322,P323,P324に対応する節点を設定した後、S250の処理と同思想にて、第一被覆体Q1をメッシュ化する。
【0082】
S450の処理後、演算装置10は、S460に移行し、互いに直交する非拘束面のペアが共有する処理対象ブロックの各辺(辺P33−P36、辺P37−P30、辺P39−P38及び辺P35−P34の各辺)に沿って、ペアに該当する非拘束面の夫々に付加された第一被覆体Q1の表面に接触する第二被覆体Q2をS260の処理と同様に付加し、付加前又は後には、第二被覆体Q2を、第一被覆体Q1との接触面において第一被覆体Q1と節点及び結線が一致するように、四面体要素でメッシュ化する。処理対象ブロックが第三分類の処理対象ブロックである場合には、このようにして処理対象ブロックと第一〜第二被覆体Q1,Q2とからなる直方体形状のスーパーボックスを生成する。
図21(a)(b)は、
図20に示す処理対象ブロックに対して形成するスーパーボックスの構成を表す斜視図であり、夫々異なる方角から見たスーパーボックスの斜視図である。
【0083】
S460での処理後、演算装置10は、S480に移行し、上記スーパーボックスにおける処理対象ブロックに、上記モデルデータに記述された当該処理対象ブロックに設定すべき未設定の節点を設定して、スーパーボックスをDelaunay法に基づき四面体要素で再メッシュ化する。
【0084】
その後、演算装置10は、S490に移行し、S480でメッシュ化したスーパーボックスから処理対象ブロックを抽出して、抽出後の処理対象ブロックのデータを、メッシュ化の完了した直方体ブロックのデータとして記憶装置20に書き込んだ後、第三分類メッシュ化処理を終了する。その後、S190に移行する。尚、
図22(a)は、
図21に示すスーパーボックスをDelaunay法に基づきメッシュ化した後に当該スーパーボックスから抽出した処理対象ブロックの構成を表す図であり、
図22(b)は、処理対象ブロック抽出後のスーパーボックスの構成を表す図である。
【0085】
この他、S163で処理対象ブロックが第三分類の処理対象ブロックではないと判断してS164に移行すると、演算装置10は、処理対象ブロックが第四分類の処理対象ブロックであるか否かを判断する(S164)。ここでは、処理対象ブロックが、
図23に示すような第一の拘束面(面P42−P46−P47−P43)が有する直交する二辺(辺P46−P47及び辺P47−P43)の夫々に接続された第二及び第三の拘束面(面P43−P47−P48−P44及び面P48−P45−P46−P47)を有する計三つの拘束面を有するものである場合、当該処理対象ブロックが第四分類の処理対象ブロックであると判断し(S164でYes)、それ以外の場合には否定判断する(S164でNo)。そして、肯定判断した場合にはS174に移行し、否定判断した場合にはS165に移行する。
【0086】
S174に移行すると、演算装置10は、
図24に示す第四分類メッシュ化処理を実行する。第四分類メッシュ化処理では、
図25に示すように計三つの拘束面のいずれとも接しない処理対象ブロックの角に設定された節点P41を頂点とし、拘束面P42−P46−P47−P43、拘束面P43−P47−P48−P44及び拘束面P48−P45−P46−P47の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割することにより、処理対象ブロックを四面体要素でメッシュ化する(S510)。このようにして、処理対象ブロックを四面体要素により簡易にメッシュ化する。尚、
図25においては、拘束面における詳細な節点及び結線の図示を省略する。
【0087】
この後、演算装置10は、S550に移行し、処理対象ブロックにおける非拘束面(面P41−P45−P46−P42、面P44−P48−P45−P41及び面P41−P42−P43−P44)の夫々に、S250での処理と同様、第一被覆体Q1を付加し、付加前又は後には、第一被覆体Q1を、非拘束面との接触面において非拘束面と節点及び結線が一致するように四面体要素でメッシュ化する。
【0088】
S550の処理後、演算装置10は、S560に移行し、互いに直交する非拘束面のペアが共有する処理対象ブロックの各辺(辺P41−P42、辺P41−P44及び辺P45−P41の各辺)に沿って、上記ペアに該当する非拘束面の夫々に付加された第一被覆体Q1の表面に接触する第二被覆体Q2をS260の処理と同様に付加し、付加前又は後には、第二被覆体Q2を、第一被覆体Q1との接触面において第一被覆体Q1と節点及び結線が一致するように、四面体要素でメッシュ化する。
【0089】
S560の処理後、演算装置10は、S570に移行し、S270の処理と同様、三つの拘束面のいずれにも接しない節点P41が設定された角に、角の周囲に付加される第二被覆体Q2の表面に接触する第三被覆体Q3を付加する。また、付加前又は後には、第三被覆体Q3を、第二被覆体Q2との接触面において第二被覆体Q2と節点及び結線が一致するように、四面体要素でメッシュ化する。
【0090】
処理対象ブロックが第四分類の処理対象ブロックである場合には、このようにして処理対象ブロックと第一〜第三被覆体Q1,Q2,Q3とからなる直方体形状のスーパーボックスを生成する。尚、当該スーパーボックスの構成については、これまでに説明した内容から容易に把握できるものであるので、図示を省略する。
【0091】
S570での処理後、演算装置10は、S580に移行し、上記スーパーボックスにおける処理対象ブロックに、上記モデルデータに記述された当該処理対象ブロックに設定すべき未設定の節点を設定して、スーパーボックスをDelaunay法に基づき四面体要素で再メッシュ化する。その後、S590に移行し、メッシュ化したスーパーボックスから処理対象ブロックを抽出して、抽出後の処理対象ブロックのデータを、メッシュ化の完了した直方体ブロックのデータとして記憶装置20に書き込んだ後、第四分類メッシュ化処理を終了する。その後、演算装置10は、S190に移行する。
【0092】
この他、S164で処理対象ブロックが第四分類の処理対象ブロックではないと判断してS165に移行すると、演算装置10は、処理対象ブロックが第五分類の処理対象ブロックであるか否かを判断する。ここでは、
図26に示すように処理対象ブロックが第一の拘束面(面P53−P57−P58−P54)が有する平行な2辺の夫々に接続された第二及び第三の拘束面(面P55−P59−P58−P54及び面P52−P56−P57−P53)を有する計三つの拘束面を有するものである場合、当該処理対象ブロックが第五分類の処理対象ブロックであると判断し(S165でYes)、それ以外の場合には否定判断する(S165でNo)。そして、肯定判断した場合にはS175に移行し、否定判断した場合にはS166に移行する。
【0093】
S175に移行すると、演算装置10は、
図27に示す第五分類メッシュ化処理を実行する。第五分類メッシュ化処理では、
図28左図に示すように、第一の拘束面P53−P57−P58−P54に対向する当該第一の拘束面に平行な非拘束面P55−P59−P56−P52の四辺の内、第二及び第三の拘束面と共有しない二辺の一方の辺P52−P55に節点P511を設定する(S610)。そして、節点P511を頂点とし、拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割する(S620)。尚、
図28においては、拘束面における詳細な節点及び結線の図示を省略する。
【0094】
更に、非拘束面P55−P59−P56−P52における第二及び第三の拘束面と共有しない二辺の他方の辺P59−P56に、節点P512を設定し(S630)、節点P512と、節点P512が設定された辺を有する面であって拘束面のいずれとも直交する非拘束面P59−P56−P57−P58の拘束面と共有する三辺(辺P56−P57及び辺P57−P58及び辺P58−P59)の夫々に設定された各節点とを結んで、非拘束面P59−P56−P57−P58上に、三角形状の各メッシュ要素を形成する(S635)。その後、節点P511を頂点とし、S635で形成した三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割する(S640)。このようにして、ここでは処理対象ブロックを四面体要素により簡易にメッシュ化する。
【0095】
この後、演算装置10は、S650に移行して、処理対象ブロックにおける非拘束面(面P55−P52−P53−P54、面P55−P59−P56−P52及び面P59−P56−P57−P58)の夫々に、S250での処理と同様、第一被覆体Q1を付加し、付加前又は後には、第一被覆体Q1を、非拘束面との接触面において非拘束面と節点及び結線が一致するように四面体要素でメッシュ化する。
【0096】
S650の処理後、演算装置10は、S660に移行し、互いに直交する非拘束面のペアが共有する処理対象ブロックの各辺(辺P55−P52及び辺P59−P56の各辺)に沿って、ペアに該当する非拘束面の夫々に付加された第一被覆体Q1の表面に接触する第二被覆体Q2をS260の処理と同様に付加し、付加前又は後には、第二被覆体Q2を、第一被覆体Q1との接触面において第一被覆体Q1と節点及び結線が一致するように、四面体要素でメッシュ化する。
【0097】
処理対象ブロックが第五分類の処理対象ブロックである場合には、このようにして処理対象ブロックと第一〜第二被覆体Q1,Q2とからなる直方体形状のスーパーボックスを生成する。
【0098】
S660での処理後、演算装置10は、S680に移行し、上記スーパーボックスにおける処理対象ブロックに、上記モデルデータに記述された当該処理対象ブロックに設定すべき未設定の節点を設定して、スーパーボックスをDelaunay法に基づき四面体要素で再メッシュ化する。その後、S690に移行し、S680でメッシュ化したスーパーボックスから処理対象ブロックを抽出し、抽出後の処理対象ブロックのデータを、メッシュ化の完了した直方体ブロックのデータとして記憶装置20に書き込んだ後、第五分類メッシュ化処理を終了する。
【0099】
この他、S165で処理対象ブロックが第五分類の処理対象ブロックではないと判断してS166に移行すると、演算装置10は、処理対象ブロックが第六分類の処理対象ブロックであるか否かを判断する(S166)。ここでは、処理対象ブロックが、
図29上図に示すような第一の拘束面(面P63−P68−P69−P64)が有する三辺の夫々に接続された第二及び第三及び第四の拘束面(面P65−P66−P69−P64、面P66−P67−P68−P69及び面P62−P67−P68−P63)を有する計四つの拘束面を有するものである場合、当該処理対象ブロックが第六分類の処理対象ブロックであると判断し(S166でYes)、それ以外の場合には否定判断する(S166でNo)。そして、肯定判断した場合にはS176に移行し、否定判断した場合にはS167に移行する。
【0100】
S176に移行すると、演算装置10は、
図30に示す第六分類メッシュ化処理を実行する。第六分類メッシュ化処理では、
図29下図に示すように第一の拘束面P63−P68−P69−P64に対向する当該第一の拘束面に平行な非拘束面P65−P66−P67−P62の第二及び第三及び第四の拘束面と共有しない一辺P62−P65に節点P61を設定する(S710)。但し、
図29下図においては、拘束面における詳細な節点及び結線の図示を省略する。
【0101】
そして、この節点P61を頂点とし、拘束面(面P63−P68−P69−P64、面P65−P66−P69−P64、面P66−P67−P68−P69及び面P62−P67−P68−P63)の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割することにより、処理対象ブロックを四面体要素でメッシュ化する(S720)。このようにして、処理対象ブロックを四面体要素により簡易にメッシュ化する。
【0102】
この後、演算装置10は、S750に移行して、処理対象ブロックにおける非拘束面(面P65−P62−P63−P64及び面P65−P66−P67−P62)の夫々に、S250での処理と同様、第一被覆体Q1を付加し、付加前又は後には、第一被覆体Q1を、非拘束面との接触面において非拘束面と節点及び結線が一致するように四面体要素でメッシュ化する。
【0103】
S750の処理後、演算装置10は、S760に移行し、互いに直交する非拘束面のペアが共有する処理対象ブロックの辺(辺P62−P65)に沿って、当該ペアに該当する非拘束面の夫々に付加された第一被覆体Q1の表面に接触する第二被覆体Q2をS260の処理と同様に付加し、付加前又は後には、第二被覆体Q2を、第一被覆体Q1との接触面において第一被覆体Q1と節点及び結線が一致するように、四面体要素でメッシュ化する。処理対象ブロックが第六分類の処理対象ブロックである場合には、このようにして処理対象ブロックと第一〜第二被覆体Q1,Q2とからなる直方体形状のスーパーボックスを生成する。
【0104】
S760での処理後、演算装置10は、S780に移行し、上記スーパーボックスにおける処理対象ブロックに、上記モデルデータに記述された当該処理対象ブロックに設定すべき未設定の節点を設定して、スーパーボックスをDelaunay法に基づき四面体要素で再メッシュ化する。その後、S790に移行し、S780でメッシュ化したスーパーボックスから処理対象ブロックを抽出し、抽出後の処理対象ブロックのデータを、メッシュ化の完了した直方体ブロックのデータとして記憶装置20に書き込んだ後、第六分類メッシュ化処理を終了する。その後、演算装置10は、S190に移行する。
【0105】
この他、S166で処理対象ブロックが第六分類の処理対象ブロックではないと判断してS167に移行すると、演算装置10は、処理対象ブロックが第七分類の処理対象ブロックであるか否かを判断する。ここでは、処理対象ブロックが、
図31に示すような第一の拘束面(面P74−P79−P78−P73)が有する平行な二辺の夫々に接続された第二及び第三の拘束面(面P72−P77−P78−P73及び面P75−P76−P79−P74)と、第一の拘束面と平行な第四の拘束面(P75−P76−P77−P72)とを有する計四つの拘束面を有するものである場合、当該処理対象ブロックが第七分類の処理対象ブロックであると判断し(S167でYes)、それ以外の場合には否定判断する(S167でNo)。そして、肯定判断した場合にはS177に移行し、否定判断した場合にはS168に移行する。
【0106】
S177に移行すると、演算装置10は、
図32に示す第七分類メッシュ化処理を実行する。第七分類メッシュ化処理では、二つある非拘束面(面P72−P73−P74−P75及び面P76−P77−P78−P79)の内、第一の非拘束面P72−P73−P74−P75において、
図33上段に示すように、この非拘束面P72−P73−P74−P75の拘束面とは接しない領域(非拘束面P72−P73−P74−P75の四辺より内側の領域(中央領域))に一つの節点P711を設定した後(S810)、
図33上段及び中段に示すように、この節点P711を頂点とし、拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割する(S820)。尚、
図33上段では、拘束面における節点及び結線の詳細を一部省略する。
【0107】
また、第二の非拘束面P76−P77−P78−P79において、この非拘束面P76−P77−P78−P79の拘束面とは接しない領域(非拘束面P76−P77−P78−P79の四辺より内側の領域(中央領域))に一つの節点P712を設定し(S830)、第二の非拘束面P76−P77−P78−P79上で、この節点P712と、この非拘束面P76−P77−P78−P79における拘束面と共有する四辺の夫々に設定された各節点とを結んで、
図33下段に示すように、この非拘束面P76−P77−P78−P79上に三角形状の各メッシュ要素を形成する(S835)。そして、この非拘束面P76−P77−P78−P79上の三角形状の各メッシュ要素を底面し、節点P711を頂点とする四面体要素により処理対象ブロックを分割する(S840)。このようにして処理対象ブロックを簡易に四面体要素でメッシュ化する。
【0108】
この後、演算装置10は、S850に移行して、処理対象ブロックにおける非拘束面(面P75−P72−P73−P74及び面P76−P77−P78−P79)の夫々に、S250での処理と同様、第一被覆体Q1を付加し、付加前又は後には、第一被覆体Q1を、非拘束面との接触面において非拘束面と節点及び結線が一致するように四面体要素でメッシュ化する。処理対象ブロックが第七分類の処理対象ブロックである場合には、このようにして、処理対象ブロックと第一被覆体Q1とからなる
図34に示すような直方体形状のスーパーボックスを生成する。
【0109】
S850での処理後、演算装置10は、S880に移行し、上記スーパーボックスにおける処理対象ブロックに、上記モデルデータに記述された当該処理対象ブロックに設定すべき未設定の節点を設定して、スーパーボックスをDelaunay法に基づき四面体要素で再メッシュ化する。その後、S890に移行し、S880でメッシュ化したスーパーボックスから処理対象ブロックを抽出し、抽出後の処理対象ブロックのデータを、メッシュ化の完了した直方体ブロックのデータとして記憶装置20に書き込んだ後、第七分類メッシュ化処理を終了する。その後、演算装置10は、S190に移行する。
【0110】
この他、S167で処理対象ブロックが第七分類の処理対象ブロックではないと判断してS168に移行すると、演算装置10は、処理対象ブロックが第八分類の処理対象ブロックであるか否かを判断する。ここでは、
図35左図に示すように、処理対象ブロックが計五つの拘束面を有するものである場合、当該処理対象ブロックが第八分類の処理対象ブロックであると判断し(S168でYes)、それ以外の場合には否定判断する(S168でNo)。そして、肯定判断した場合にはS178に移行し、否定判断した場合にはS179に移行する。
【0111】
S178に移行すると、演算装置10は、
図36に示す第八分類メッシュ化処理を実行する。第八分類メッシュ化処理では、
図35右図に示すように、唯一の非拘束面P82−P83−P84−P85における拘束面とは接しない領域(非拘束面P82−P83−P84−P85の四辺に囲まれた内側領域(中央領域))に一つの節点P81を設定する(S910)。尚、
図35右図では、拘束面における節点及び結線の詳細を省略する。
【0112】
そして、この節点P81を頂点とし、拘束面(面P82−P87−P88−P83、面P83−P88−P89−P84、面P85−P86−P89−P84、面P87−P82−P85−P86及び面P86−P87−P88−P89)の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割する(S920)。このようにして、処理対象ブロックを四面体要素により簡易にメッシュ化する。
【0113】
この後、演算装置10は、S950に移行して、処理対象ブロックにおける非拘束面P82−P83−P84−P85に、S250での処理と同様、第一被覆体Q1を付加し、付加前又は後には、第一被覆体Q1を、非拘束面との接触面において非拘束面と節点及び結線が一致するように四面体要素でメッシュ化する。処理対象ブロックが第八分類の処理対象ブロックである場合には、このようにして処理対象ブロックと第一被覆体Q1とからなる直方体形状のスーパーボックスを生成する。
【0114】
S950での処理後、演算装置10は、S980に移行し、上記スーパーボックスにおける処理対象ブロックに、上記モデルデータに記述された当該処理対象ブロックに設定すべき未設定の節点を設定して、スーパーボックスをDelaunay法に基づき四面体要素で再メッシュ化する。その後、S990に移行し、S980でメッシュ化したスーパーボックスから処理対象ブロックを抽出し、抽出後の処理対象ブロックのデータを、メッシュ化の完了した直方体ブロックのデータとして記憶装置20に書き込んだ後、第八分類メッシュ化処理を終了する。その後、演算装置10は、S190に移行する。
【0115】
この他、S168で処理対象ブロックが第八分類の処理対象ブロックではないと判断してS179に移行すると、演算装置10は、処理対象ブロックが全ての面を拘束面として有する第九分類の処理対象ブロックであるとみなして、
図37に示す第九分類メッシュ化処理を実行する。第九分類メッシュ化処理では、
図38に示すように、処理対象ブロックの表面以外の内部領域(中央領域)に、一つの節点P91を設定する(S1010)。そして、この節点P91を頂点とし、拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割することにより、処理対象ブロックを四面体要素でメッシュ化する(S1020)。このようにして、ここでは、処理対象ブロックを簡易にメッシュ化する。
【0116】
また、処理対象ブロックが第九分類の処理対象ブロックである場合には、その表面の節点及び結線のパターンが定まっているため、第一〜第三被覆体Q1,Q2,Q3のような直方体を処理対象ブロックの周囲に付加することなく、S1020によるメッシュ化後の処理対象ブロックをスーパーボックスと同様に取り扱ってDelaunay法に基づき四面体要素で再メッシュ化する(S1080)。即ち、モデルデータに従って設定すべき未設定の節点を順に処理対象ボックスに設定して、Delaunay法により処理対象ブロックを再メッシュ化する。その後、S1090に移行し、再メッシュ化後の処理対象ブロックのデータを、メッシュ化の完了した直方体ブロックのデータとして記憶装置20に書き込み、第九分類メッシュ化処理を終了する。その後、演算装置10は、S190に移行する。
【0117】
このようにして、本実施例では、形状モデルを構成する各直方体ブロックをメッシュ化し、全ての直方体ブロックについてのメッシュ化が完了すると、S190で肯定判断して、当該メッシュモデル生成処理を終了する。
【0118】
以上、本実施例の情報処理システム1の構成について説明したが、本実施例では、従来のように、メッシュ化対象の処理対象ブロック全体を包囲するスーパーボックスを用いてDelaunay法により処理対象ブロックをメッシュ化せずに、非拘束面に対してのみ直方体を付加して、拘束面を外面に露出したスーパーボックスを生成し、このスーパーボックスに対してDelaunay法を適用して、処理対象ボックスをメッシュ化する。従って、本実施例によれば、拘束面の節点及び結線のパターンを保持しつつ処理対象ブロックをDelaunay法に基づき自動でメッシュ化できる。
【0119】
よって、形状モデルを複数の直方体ブロックに分割して、各直方体ブロックを隣接ブロックとの節点及び結線のパターンが一致するようにメッシュ化する処理を、形状モデルの情報、分割パターンの情報、節点の情報を与える程度で、自動的にコンピュータに実行させることができ、コンピュータが生成したメッシュを隣接ブロックとの節点及び結線のパターンが一致するよう手作業で修正しなくて済む。
【0120】
従って、大規模な形状モデルに対応するメッシュモデルを生成する際に、情報処理システム1を利用して、直方体ブロックにより分割した形状モデルをメッシュ化すれば、大規模な形状モデルに対応するメッシュモデルを容易に生成することができる。
【0121】
即ち、この情報処理システム1によれば、隣接ブロックとの接触面における節点及び結線が隣接ブロックと一致するように各直方体ブロックを自動でメッシュ化することができるので、メッシュ化した直方体ブロックを簡単に結合して、大規模な形状モデルに対応するメッシュモデルを生成することができる。
【0122】
そして、メッシュ化に際しては、メッシュ化する対象の領域サイズに応じて指数関数的に必要な演算量が増大するが、この情報処理システム1によれば、形状モデルを直方体ブロック毎にメッシュ化することができるので、個々のメッシュモデルを生成するのに必要な演算量を抑えることができ、処理能力の低いコンピュータ(情報処理システム)によっても、大規模な形状モデルに対応するメッシュモデルを生成することができる。
【0123】
この他、上記情報処理システム1によって形状モデルを細分化してメッシュ化すれば、結合する直方体ブロックの形状モデルの一部に限定することで、形状モデルの一部分のメッシュモデルを生成する作業についても簡単に行うことができる。
【0124】
従って、国内全域の地質モデルを直方体ブロックに分割して、各直方体ブロックをメッシュ化すれば、直方体ブロックの組合せによって震源に対応する地域のメッシュモデルを簡単に生成することができ、従来のように、震源に対応する地域の専用メッシュモデルを一から作成しなくて済む。従って、この情報処理システム1によれば、地震波動解析の作業量についても大幅に低減することができる。
【0125】
尚、「特許請求の範囲」記載の各手順と上記実施例との関係は次の通りである。即ち、第一メッシュ化手順は、第一〜第九分類メッシュ化処理における前半部分の処理に対応し、付加手順は、第一〜第九分類メッシュ化処理において第一〜第三被覆体Q1,Q2,Q3を処理対象ブロックに付加する処理に対応し、第二メッシュ化手順は、第一〜第九分類メッシュ化処理において第一〜第三被覆体Q1,Q2,Q3を処理対象ブロックに付加した後の処理に対応する。
【0126】
ところで、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、以上には、形状モデルを構成する複数の直方体ブロックの夫々を、順次メッシュ化済ブロックとの接触面において節点及び結線が一致するようにメッシュ化する情報処理システム1について説明したが、情報処理システム1で実行される上記メッシュモデル生成処理に対応するプログラムは、単に、拘束面の設定された直方体ブロックの指定をユーザから受けて、この拘束面付の直方体ブロックを、拘束面の配置に応じた第一〜第九分類メッシュ化処理のいずれかでメッシュ化する構成にされてもよい。
【0127】
即ち、上記メッシュモデル生成処理に対応するプログラムは、上記実施例の情報処理システム1に採用したプログラムから、拘束面付の直方体ブロックをメッシュ化する機能部分を抽出した程度の簡素なプログラムとして構成されてもよい。このような簡素なプログラムは、例えば、形状モデルを複数の直方体ブロックに細分化して、各直方体ブロックの隣接ブロックとの境界面における節点及び結線を設定するまでは、手作業又は別システムを通じて行うケースにおいて、役立つ。
【0128】
即ち、形状モデルを細分化して各直方体ブロックをメッシュ化する手法としては、上記実施例のように、直方体ブロックを順次メッシュ化して、新たな直方体ブロックのメッシュ化に際しては、既にメッシュ化した隣接ブロックとの境界面における節点及び結線に揃えるように、当該直方体ブロックをメッシュ化する手法の他、各直方体ブロックのメッシュ化を開始する前に、各直方体ブロックにおける境界面の節点及び結線をまとめて設定しておく手法が考えられるが、後者の手法によれば、上記簡素なプログラムが、直方体ブロックのメッシュ化に役立つ。
【0129】
また、上記実施例では、形状モデルを複数の直方体ブロックに分割する際に、この形状モデルを横・高さ・奥行方向の三方向に分割したが、分割例としては、この他に、形状モデルを一方向に分割する例(例えば横方向のみに分割する例)や、二方向に分割する例(例えば横・奥行方向には分割するが、高さ方向には分割しない例)が考えられる。そして、形状モデルを三方向に分割しない場合には、分割後の各直方体ブロックにおける拘束面の配置が、通常、上記第一〜第九分類の内、一部の分類に限られる。例えば、形状モデルを一方向にしか分割しない場合には、各直方体ブロックにおける拘束面の配置は、通常、上記第一〜第九分類の内、第一分類又は第三分類に限られる。従って、上述のプログラムは、上記第一〜第九分類の内、一部の分類についてのメッシュ化処理を実行できる程度の構成にされてもよい。例えば、上述のプログラムは、一つの特定の分類についてのメッシュ化処理を実行できる程度の構成にされてもよい。