説明

メッシュ化プログラム

【課題】大規模な形状モデルに対応するメッシュモデルを、従来よりも簡単に生成する。
【解決手段】メッシュ化対象の地質モデルを複数ブロックに分割して、これら各ブロックを地質モデルの端から端に向けて順にメッシュ化する。この際、メッシュ化済ブロックにおける節点及び結線の配置に基づき、これからメッシュ化するブロックに拘束面を設定する。拘束面には、この拘束面に接触するメッシュ化済ブロックの当該拘束面に接触する面における節点及び結線の配置に一致するように節点及び結線を配置する。そして、拘束面における節点及び結線の配置を保持した状態で、対象とするブロックをメッシュ化する。このような処理の繰返しにより、隣接ブロック間の節点及び結線の配置を揃えて、各ブロックをメッシュ化する。この他、予め隣接するブロック間で節点及び結線の配置が一致するように各ブロックに拘束面を設定した後、各ブロックを並列にメッシュ化してもよい。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、形状モデルのメッシュ化に用いられるプログラムに関する。
【背景技術】
【0002】
従来、地質モデルを有限要素法により解析することで地震波動解析を行うシステムが知られている(例えば、特許文献1参照)。この種のシステムでは、地質モデルを生成し、地質モデルの領域に地質物性値を定義し、地質モデルにおける地質物性値が定義された領域に地質物性値に応じたメッシュを生成し、メッシュ化された地質モデルを対象に、別途生成した震源モデル及び解析条件に従って有限要素法により地震波動伝播シミュレーションを実行する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−122675号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、地震波動解析によれば、大規模な地質モデルをメッシュ化する必要が生じることがある。しかしながら、メッシュ化に際しては、その対象領域が広く節点数が多い程、指数関数的に演算量が増加し、必要なコンピュータリソースが増加する。このことから、従来技術によっては、メッシュ化対象の地質モデルが大規模になるほど、対応するメッシュモデルを生成するのが難しくなる。本発明は、こうした問題に鑑みなされたものであり、地質モデルに限らず、大規模な形状モデルに対応するメッシュモデルを、簡単に生成可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明者らは、メッシュ化対象の形状モデルを、複数のブロックに分割し、これら各ブロックを、隣接するブロック間で節点及び結線の配置が一致するようにメッシュ化し、メッシュ化後の各ブロックを組み合わせることにより、大規模な形状モデルに対応するメッシュモデルを生成することを想到するに至った。
【0006】
ブロック単位でのメッシュ化により、各処理でのメッシュ化対象領域を小さくすることができる。即ち、少ない演算量及びコンピュータリソースで、各ブロックに対応するメッシュモデルを生成することができる。従って、このようにブロック単位で形状モデルをメッシュ化すれば、大規模な形状モデルに対応するメッシュモデルを、従来よりも簡単に生成することができる。
【0007】
但し、このような手法を採用する場合には、隣接するブロック間で節点及び結線の配置を一致させる必要がある。以下では、隣接するブロック間で節点及び結線の配置を一致させつつ、各ブロックをメッシュ化するための技術を開示する。
【0008】
第一の発明は、メッシュ化対象の形状モデルを複数のブロックに分割する分割手順と、複数のブロックの夫々に拘束面を設定する手順であって、拘束面には、当該拘束面に接触する隣接ブロックの面における節点及び結線の配置と拘束面における節点及び結線の配置とが一致するように、節点及び結線を設定する設定手順と、設定手順により設定された拘束面における節点及び結線の配置を保持して、上記複数のブロックの夫々を、メッシュ化するメッシュ化手順と、をコンピュータに実行させるためのメッシュ化プログラムであって、メッシュ化手順及び設定手順が次のように構成されていることを特徴とする。
【0009】
即ち、メッシュ化手順では、形状モデルを構成する複数のブロックの夫々を順次メッシュ化し、設定手順では、メッシュ化手順によるメッシュ化前のブロックであって、メッシュ化手順によるメッシュ化後のブロックに隣接するブロックにおける上記メッシュ化後のブロックとの接触面に、この面に接触する上記メッシュ化後のブロックの面における節点及び結線の配置と一致するパターンの節点及び結線を配置することによって、メッシュ化前のブロックにおける上記メッシュ化後のブロックとの接触面に拘束面を設定する(請求項1)。
【0010】
この発明によれば、大規模な形状モデルを、小さなブロックに分けてブロック毎に順次メッシュ化を行う。このため、形状モデルのメッシュ化に必要なコンピュータの処理能力を抑えることができる。そして、第一の発明によれば、メッシュ化対象のブロックにおけるメッシュ化後のブロックとの接触面に、メッシュ化後のブロックの節点及び結線と一致するパターンの節点及び結線を配置する。このため、隣接するブロック間で節点及び結線の配置を一致させるようにして各ブロックをメッシュ化することができ、これらメッシュ化後のブロックを組み合わせて形状モデルに対応するメッシュモデルを簡単に生成することができる。即ち、第一の発明によれば、低い処理能力のコンピュータを用いて大規模な形状モデルに対応するメッシュモデルを簡単に生成することができる。よって、この発明は、単一のコンピュータを用いて大規模な形状モデルに対応するメッシュモデルを生成するのに適した発明と言うことができる。
【0011】
一方、第二の発明は、メッシュ化対象の形状モデルを複数のブロックに分割する分割手順と、複数のブロックの夫々に拘束面を設定する手順であって、拘束面には、当該拘束面に接触する隣接ブロックの面における節点及び結線の配置と拘束面における節点及び結線の配置とが一致するように、節点及び結線を設定する設定手順と、設定手順により設定された拘束面における節点及び結線の配置を保持して、複数のブロックの夫々を、メッシュ化するメッシュ化手順と、をコンピュータに実行させるためのプログラムであって、メッシュ化手順では、複数のブロックの夫々を順次、又は、並列にメッシュ化し、設定手順では、メッシュ化手順によるメッシュ化前の互いに隣接するブロックの夫々における隣接ブロックとの接触面に、隣接する面と一致するパターンの節点及び結線を配置することによって、メッシュ化手順によるメッシュ化前の互いに隣接するブロックの夫々における隣接ブロックとの接触面に拘束面を設定することを特徴とする(請求項2)。
【0012】
この発明によれば、大規模な形状モデルを小さなブロックに分けて、各ブロックのメッシュ化を行うことができるため、形状モデルのメッシュ化に必要なコンピュータの処理能力を抑えることができる。更に、第二の発明によれば、メッシュ化前の互いに隣接するブロックの夫々に対し拘束面を設定するため、隣接ブロック間の節点及び結線の配置を揃えつつ、上記互いに隣接するブロックの夫々を並列にメッシュ化可能である。従って、第二の発明によれば、大規模な形状モデルに対応するメッシュモデルを簡単に生成することができる。特に、第二の発明によれば、複数のコンピュータを用いて、形状モデルに対応するメッシュモデルを生成することができるので、形状モデルに対応するメッシュモデルを迅速に生成することができる。
【0013】
ところで、第一の発明の分割手順は、特定の一方向に垂直な平面によって形状モデルを区切って、形状モデルを複数のブロックに分割する手順とすることができ、メッシュ化手順は、上記複数のブロックの夫々を、形状モデルの端に位置するブロックから、上記特定の一方向に沿って順にメッシュ化する手順とすることができる。
【0014】
そして、この場合の上記設定手順は、メッシュ化手順により一つのブロックがメッシュ化される度、メッシュ化後のブロックに隣接するブロックであって次にメッシュ化されるブロックにおけるメッシュ化後のブロックとの接触面に、拘束面を設定する手順とすることができる(請求項3)。このように拘束面を設定し各ブロックをメッシュ化すれば、簡単な手順により隣接ブロック間の節点及び結線の配置を揃え各ブロックのメッシュ化を完了することができる。
【0015】
また、これと同様に、第二の発明における上記分割手順は、特定の一方向に垂直な平面によって形状モデルを区切って、形状モデルを複数のブロックに分割する手順とすることができる。そして、この場合の上記設定手順は、メッシュ化手順によるメッシュ化前に、複数のブロックの夫々が有する隣接ブロックとの接触面の夫々に対し、拘束面を設定する手順とすることができる(請求項4)。
【0016】
この他、ブロック分割数を増やして、一ブロック当りの計算量を減らすために、第一及び第二の発明において、分割手順は、互いに直交する複数の平面によって形状モデルを二次元格子状又は三次元格子状に区切ることによって、形状モデルを複数のブロックに分割する手順にされてもよい(請求項5)。特に、上記形状モデルを三次元格子状に区切って分割すれば、縦・横・高さ方向に対して形状モデルを分割することができるので、分割幅を狭めてもブロックが長細く形状となるのを抑えることができる。
【0017】
また、上記メッシュ化プログラムは、地層構造を表す形状モデル(以下、地質モデルと言う。)をメッシュ化する用途に用いられると、形状モデルの規模が大きいことから特に有効に機能する。そして、このような地質モデルを二次元形状に分割すれば、地震波動解析の際に、地質モデルを構成するブロック群の内、解析に不要な領域のブロックを外し、解析に必要な領域のブロックのみを選択的に組み合わせて、一部地域の地質モデルに対応したメッシュモデルを作成することができ、地震波動解析を簡単に行うことができる。
【0018】
また、地質モデルを三次元形状に分割すれば、例えば、地質モデルを構成するブロック群の内、地表面に近いブロック群のみを選択的に組み合わせて、地表面近くの地質モデルに対応したメッシュモデルを作成することができ、地表に近い地盤だけの解析や、津波の伝播解析等に好適なメッシュモデルを簡単に作成して、伝播解析等を行うことができる。
【0019】
尚、上述した思想は、方法やシステムの発明にも適用することができる。形状モデルをメッシュ化する方法であって、上記分割手順、設定手順及びメッシュ化手順を含むメッシュ化方法の発明や、形状モデルをメッシュ化するシステムであって、上記分割手順、設定手順及びメッシュ化手順の夫々に対応する処理を実行する手段を備えるメッシュ化システムの発明によれば、プログラムの発明と同様、大規模な形状モデルに対応するメッシュモデルを簡単に生成できる。
【図面の簡単な説明】
【0020】
【図1】情報処理システム1の構成を表すブロック図である。
【図2】演算装置10が実行するデータベース化処理を表すフローチャートである。
【図3】第一実施例でのメッシュ化対象モデルの分割方法を説明した図である。
【図4】第一実施例での拘束面の設定手順及びメッシュ化手順を説明した図である。
【図5】拘束面における節点及び結線の配置例を示した図である。
【図6】演算装置10が実行する結合処理を表すフローチャート(a)及びメッシュモデルの結合方法を説明した図(b)である。
【図7】第二実施例の情報処理システム2の構成を表すブロック図である。
【図8】主たる演算装置10aが行うブロックデータ生成処理を表すフローチャートである。
【図9】演算装置10a,10b,10cが行うブロックメッシュ化処理を表すフローチャートである。
【図10】第二実施例での拘束面の設定手順及びメッシュ化手順を説明した図である。
【図11】情報処理システム3,4によるメッシュ化手順を説明した図である。
【図12】第三実施例でのメッシュ化対象モデルの分割方法を説明した図である。
【図13】第三実施例における拘束面の配置を説明した図である。
【図14】第四実施例でのメッシュ化対象モデルの分割方法を説明した図である。
【図15】拘束面が一つであるときのメッシュ化手順を示すフローチャートである。
【図16】拘束面が一つであるときの初期メッシュ生成例を示した図である。
【図17】スーパーボックスの生成例を示した図である。
【図18】拘束面が一つであるときのスーパーボックスの構成図である。
【図19】拘束面が二つであるときの初期メッシュ生成例を示した図である。
【図20】拘束面が二つであるときの初期メッシュ及びスーパーボックスの生成例を示した図である。
【図21】拘束面が四つであるときの初期メッシュ及びスーパーボックスの生成例を示した図である。
【図22】全面が拘束面であるときの初期メッシュ生成例を示した図である。
【発明を実施するための形態】
【0021】
以下に本発明の実施例について、図面と共に説明する。
[第一実施例]
図1に示す本実施例の情報処理システム1は、与えられた形状モデルを複数ブロックに分割して、ブロック単位で、この形状モデルをメッシュ化するものである。この情報処理システム1は、ユーザからの指示に従って、上記形状モデルとして、メッシュ化対象の地質モデルを定義するモデルデータを外部から取得し、このモデルデータが表す地質モデルを複数ブロックに分割し、隣接ブロック間において節点及び結線のパターンが一致するように、各ブロックをメッシュ化する。これによって、与えられた地質モデルに対応するメッシュモデルを、ブロック単位で生成し、これを記憶装置20に登録し、地質モデルに対応するメッシュモデルを、ブロック単位のデータとしてデータベース化する。
【0022】
そして、ユーザから結合対象のブロック群が指定されると、指定されたブロック群に対応する各ブロックのメッシュモデルを結合することで、上記地質モデルの全域又は一部領域についてのメッシュモデルを生成する。尚、メッシュ化対象の地質モデルとしては、国内全域等の広域の地層構造を表す地質モデルを挙げることができ、データベース化されたブロックの全てを結合することで、上記地質モデルの全域に対応したメッシュモデルを生成することができ、データベース化されたブロックの一部を結合することで、上記地質モデルの一部地域に対応したメッシュモデルを生成することができる。
【0023】
このような機能を有する情報処理システム1の詳細構成を以下に説明する。本実施例の情報処理システム1は、図1に示すように、演算装置10と、記憶装置20と、ドライブ装置30と、LANインタフェース40と、ユーザインタフェース50とを備える。演算装置10は、各種プログラムを実行するCPU11及びプログラム実行時に作業領域として使用されるRAM13等から構成され、記憶装置20は、CPU11が実行する各種プログラムやプログラム実行時に使用される各種データを記憶する。この記憶装置20は、例えばハードディスク装置で構成される。
【0024】
ドライブ装置30は、磁気ディスクや光ディスクに書き込まれたデータを読取可能且つ磁気ディスクや光ディスクに対してデータを書込可能な装置であり、LANインタフェース40は、LANに接続されたノードと通信可能なインタフェースである。情報処理システム1は、例えばドライブ装置30を通じて、磁気ディスクや光ディスクが記憶する上記モデルデータを取得する。この他、情報処理システム1は、LANインタフェース40を通じてユーザ端末から上記モデルデータを取得する構成にされてもよい。
【0025】
ユーザインタフェース50は、キーボードやポインティングデバイス等から構成され、情報処理システム1は、このユーザインタフェース50を通じて入力されるユーザからの指示に従って、各種処理を実行する。具体的に、演算装置10は、ユーザインタフェース50を通じてデータベース化の実行指示が入力されると、記憶装置20に記憶されたプログラムに従って、図2に示すデータベース化処理を実行する。
【0026】
データベース化処理を開始すると、演算装置10は、ユーザインタフェース50を通じてモデルデータの指定操作を受け付け、この操作により指定されたモデルデータを取得する。例えば、ドライブ装置30やLANインタフェース40を通じてモデルデータを取得する。この他、記憶装置20にモデルデータが書き込まれている場合には、記憶装置20からモデルデータを読み出すことによって、上記指定されたモデルデータを取得する。そして、取得したモデルデータが表す地質モデルを処理対象モデルに設定する(S110)。尚、本実施例のモデルデータには、地質モデルの外形を表す情報と共に、地層境界毎に、当該地層境界の各地点の位置座標が記述される。即ち、本実施例のモデルデータは、地質モデルの外形と各地層の形状とが記述されたデータとして構成される。
【0027】
演算装置10は、S110の処理後、ユーザインタフェース50を通じて、処理対象モデルのブロック化に関する指定操作を受け付ける(S120)。本実施例では、処理対象モデルを、図3に示すように、ユーザから指定される特定の一方向(以下、分割方向と言う。)に垂直な平面で分割してブロック化するが、S120では、その分割方向と分割後のブロックサイズ(各ブロックの分割方向の幅)を指定する情報の入力操作を、ユーザインタフェース50を通じて受け付ける。尚、分割方向としては、任意の方向ではなく、直方体形状の上記地質モデルの縦方向又は横方向(即ち、図3に示すY方向又はX方向)のいずれかの指定を受け付ける。
【0028】
そして、このような指定操作がなされると、処理対象モデルを、指定された分割方向に垂直な平面により区切って、処理対象モデルを、指定されたブロックサイズのブロック群に分割する(S130)。即ち、処理対象モデルにおける各ブロックの境界を決定し、この各ブロックの境界の位置情報を記憶する。
【0029】
S130での処理を終えると、演算装置10は、S140に移行し、各地層の物性情報及びメッシュ要素のサイズ(以下、要素サイズという。)情報の入力操作を受け付ける。S140における各地層の物性情報・要素サイズ情報の入力が完了すると、演算装置10は、続くS150にて、処理対象モデルを構成するブロック群の内、所定規則に従う第1ブロックを、処理対象ブロックとして選択する。
【0030】
本実施例では、図4(a)に示すように、分割方向最上流に位置するブロックから下流に向けて順に処理対象ブロックを選択する。図4(a)において<>で囲まれる数字は、処理対象ブロックの選択順位を表す。従って、S150では、分割方向最上流に位置するブロックを処理対象ブロックとして選択する。
【0031】
このような選択規則に従って処理対象ブロックを選択すると、演算装置10は、続くS160にて上記モデルデータから処理対象ブロックに対応するエリアのデータを抽出し、この抽出データに基づき、処理対象ブロックを、各地層に対して指定された上記メッシュ要素のサイズでメッシュ化する(S170)。尚、メッシュ要素としては、四面体要素や六面体要素等を用いることができる。即ち、各地層は、四面体要素や六面体要素によりメッシュ化することができる。但し、各地層を六面体要素によりメッシュ化する場合には、地層毎に用いる要素サイズが異なるため、例えば、地層境界周辺を、五面体要素及び四面体要素によりメッシュ化して、異なるサイズの六面体要素を接続する必要が生じる。従って、各地層は、四面体要素によりメッシュ化されるとよい。四面体要素によりメッシュ化する場合には、六面体要素を用いる場合と比較してメッシュ生成が易しい。
【0032】
そして、S170では、メッシュ化後の処理対象ブロック(メッシュモデル)における節点及び結線の配置を表すメッシュデータを生成する。尚、このメッシュデータには、節点及び結線の配置に関する情報(換言すればメッシュ要素の配置に関する情報)の他、各メッシュ要素に対応する物性情報等が記述される。物性情報としては、S波速度、P波速度、密度、S波Q値及びP波Q値等に関する情報を挙げることができる。
【0033】
S170の処理で、このようなメッシュデータを生成すると、演算装置10は、当該生成したメッシュデータを、今回の処理対象ブロックの位置情報と関連付けて、記憶装置20に登録(保存)する(S180)。
【0034】
この処理を終えると、演算装置10は、処理対象ブロックを、上述の選択規則に従う次ブロックに切り替え(S190)、S160での処理と同様に、上記モデルデータから、新たな処理対象ブロックに対応するエリアのデータを抽出する(S200)。また、処理対象ブロックの面であって、既にメッシュ化の完了したメッシュ化済ブロックとの接触面に、当該メッシュ化済ブロックと一致するパターンで節点及び結線を配置し、これによって拘束面を設定する(S210)。即ち、拘束面には、この拘束面に接触するメッシュ化済ブロックの面における節点及び結線の配置と、当該拘束面における節点及び結線の配置が一致するように、節点及び結線を配置する。
【0035】
その後、演算装置10は、S220に移行し、拘束面における節点及び結線の配置を保持して、処理対象ブロック全体をメッシュ化し、この処理対象ブロックの節点及び結線の配置を表すメッシュデータを生成する。即ち、拘束面における節点及び結線の配置を変えることなく、処理対象ブロックをメッシュ化し、この処理対象ブロックの節点及び結線の配置を表すメッシュデータを生成する。尚、拘束面付ブロックのメッシュ化手順の詳細については後述するが、特願2011−082157についても参考にされたい。
【0036】
S220の処理でメッシュデータを生成すると、演算装置10は、当該生成したメッシュデータを、今回の処理対象ブロックの位置情報と関連付けて、記憶装置20に登録する(S230)。そして、処理対象モデルを構成する全ブロックについて、これらブロックをメッシュ化し、当該ブロックのメッシュデータを記憶装置20に登録したか否かを判断する(S240)。
【0037】
ここで、全ブロックについて登録していないと判断すると(S240でNo)、演算装置10は、S190に移行し、処理対象ブロックを上述の選択規則に従う次ブロックに切り替えて、S200以降の処理を実行することで、分割方向最上流に位置するブロックから順次、上述した手法で拘束面を設定して、節点及び結線の配置を隣接ブロック間で揃えながらメッシュ化し、このメッシュデータを記憶装置20に保存する。
【0038】
図4(b)に示すように、選択順位が1位のブロックである分割方向最上流に位置するブロック(第1ブロック)をメッシュ化した後には、図5に例示するように、この第1ブロックに隣接する選択順位が2位のブロック(第2ブロック)における第1ブロックとの接触面に、既にメッシュ化の完了した第1ブロックの第2ブロックとの接触面における節点及び結線の配置と一致するパターンで、節点及び結線を配置する。これによって、第2ブロックに一つの拘束面を設定する。尚、図5は、第1ブロックのメッシュ化が完了している状態の図であるが、拘束面における節点及び結線の配置を明確にするため、第1ブロックにおける第2ブロックとの接触面以外の節点及び結線の図示を省略する。また、第1ブロックについては、その一部を透過して表す。
【0039】
その後、演算装置10は、一つの拘束面を有する拘束面付ブロック(第2ブロック)をメッシュ化する。また、図4(b)に示すように、第2ブロックのメッシュ化後には、この第2ブロックと隣接する選択順位が3位のブロック(第3ブロック)における第2ブロックとの接触面に、第2ブロックと一致するパターンで節点及び結線を配置して、拘束面を設定し、一つの拘束面を有する第3ブロックをメッシュ化する。
【0040】
本実施例では、このようにして処理対象モデルを構成する各ブロックを順次メッシュ化し、記憶装置20に、隣接ブロックとの接触面での節点及び結線のパターンが隣接ブロックのメッシュモデルと一致する各ブロックのメッシュモデルを上記メッシュデータとして登録する。この結果、記憶装置20には、処理対象モデルに対応するメッシュモデルが、ブロック単位のメッシュデータとしてデータベース化される。
【0041】
そして、全ブロックについてのメッシュ化を完了し、記憶装置20に、処理対象モデルを構成する各ブロックのメッシュデータを登録すると、演算装置10は、S240で肯定判断して、当該データベース化処理を終了する。
【0042】
また、演算装置10は、ユーザインタフェース50を通じて複数ブロックの結合指示が入力されると、記憶装置20に記憶されたプログラムに従って、図6(a)に示す結合処理を実行する。尚、この指示は、個別の解析モデルを生成する必要が生じたときに、ユーザインタフェース50を通じて入力される。この結合処理は、ユーザから指定された結合対象のブロック群に対応する各ブロックのメッシュモデルを結合して、新たなメッシュモデルを生成するための処理である。
【0043】
即ち、結合処理を開始すると、演算装置10は、結合対象のブロック群の指定操作を受け付ける(S310)。そして、当該指定操作により結合対象のブロック群が確定すると、S320に移行し、記憶装置20が記憶する結合対象のブロック群に対応する各ブロックのメッシュデータに基づき、結合対象の各ブロックのメッシュモデルを結合してなる統合メッシュモデルの節点及び結線の配置を表すメッシュデータを生成する。そして、これを記憶装置20に出力し、当該結合処理を終了する。このメッシュデータには、統合メッシュモデルにおける節点及び結線の配置の他、統合メッシュモデルにおける各メッシュ要素の物性情報等が記述される。
【0044】
尚、結合対象の各ブロックには、その隣接ブロックとの接触面に、隣接ブロックと重複する節点及び結線が配置されている。このため、各ブロックのメッシュモデルを結合する際には、図6(b)に示すように、重複する節点及び結線の夫々を、一つの節点又は結線の情報としてまとめて、統合メッシュモデルのメッシュデータを生成する。尚、この点の技術については、特願2011−082158を参照されたい。
【0045】
以上に、第一実施例の情報処理システム1について説明したが、本実施例によれば、メッシュ化対象の地質モデルを、複数ブロックに分割して、ブロック毎に、そのメッシュモデルを演算により生成するので、従来よりも簡単に大規模な地質モデルに対応するメッシュモデルを生成することができる。
【0046】
即ち、形状モデルのメッシュ化に際しては、節点が増加するほど指数関数的に演算量が増加し、コンピュータリソースが増大するため、形状モデルをブロック化しない従来技術によれば、大規模な形状モデルのメッシュモデルの生成を、処理能力の低いコンピュータを用いて実現することは難しかった。これに対し、本実施例によれば、大規模な地質モデルをブロック毎に分けてメッシュ化することができるので、処理能力の低いコンピュータを用いて、大規模な地質モデルのメッシュモデルの生成を実現することができる。
【0047】
また、地質モデルを複数ブロックに分割してメッシュ化する際には、節点及び結線の配置を隣接ブロックとの接触面において揃える必要があるが、本実施例によれば、各ブロックを配列順にメッシュ化し、各ブロックをメッシュ化する際には、メッシュ化済ブロックにおけるメッシュ化対象ブロックとの接触面における節点及び結線の配置を参照し、メッシュ化対象ブロックに拘束面を設定することで、メッシュ化対象ブロックとメッシュ化済ブロックとの間で節点及び結線の配置を揃えるようにした。従って、本実施例によれば、簡単に隣接ブロック間の節点及び結線の配置を揃えることができる。即ち、本実施例によれば、複数ブロックを結合して大規模なメッシュモデルを生成することができるように節点及び結線を効率的に配置することができ、簡単に大規模な地質モデルに対応するメッシュモデルを生成することができる。
【0048】
更に言えば、本実施例によれば、データベース化されたブロック毎のメッシュモデルの一部のみを結合して新たなメッシュモデルを生成することができるため、広域の地質モデルをブロック分割して、各ブロックのメッシュモデルをデータベース化すれば、様々な震源の地震波動解析に対応することができて、地震波動解析を容易にすることができる。
[第二実施例]
続いて、第二実施例について説明する。第二実施例は、各ブロックのメッシュ化を並列処理により実現するものであり、複数の演算装置を用いて情報処理システム2を構成する。
【0049】
図7に示すように、第二実施例の情報処理システム2は、複数の演算装置10a,10b,10c、並びに、第一実施例と同様の記憶装置20、ドライブ装置30、LANインタフェース40、及び、ユーザインタフェース50を備える。演算装置10a,10b,10cも、ハードウェア的には第一実施例の演算装置10と同一構成にされる。
【0050】
但し、第二実施例の情報処理システム2においては、主たる演算装置10aが、第一実施例のデータベース化処理に代えて、図8に示すブロックデータ生成処理及び図9に示すブロックメッシュ化処理を実行し、その他の演算装置10b,cが、第一実施例のデータベース化処理に代えて、図9に示すブロックメッシュ化処理を実行する。
【0051】
尚、図8に示すブロックデータ生成処理及び図9に示すブロックメッシュ化処理は、記憶装置20に記憶されたプログラムに従う情報処理により実現される。便宜上、本実施例では、3つの演算装置10a,10b,10cを備える情報処理システム2を例に挙げて説明するが、演算装置の数は、これに限定されず、情報処理装置2は、2つや4以上の多数の演算装置を備える構成とすることができる。
【0052】
このように構成される第二実施例の情報処理システム2は、分割したブロックの夫々に拘束面を設定した後、複数の演算装置10a,10b,10cを用いて、各ブロックのメッシュ化を並列に行う。
【0053】
演算装置10aは、ブロックデータの生成指示がユーザインタフェース50を通じて入力されると、図8に示すブロックデータ生成処理を開始する。そして、第一実施例のデータベース化処理と同様に、S110〜S140の処理を実行する。その後、演算装置10aは、地質モデルの分割面の一群、換言すれば、分割後の地質モデルにおける互いに隣接するブロック間の境界面の一群の内、一つの面を処理対象面として選択し(S410)、この処理対象面を、デローニ(Delaunay)法を用いて三角形要素によりメッシュ化する(S420)。ここでは、上記モデルデータから境界面における地層構造のデータを抽出し、各地層に形成すべきメッシュ要素のサイズに対応した間隔で節点を配置し、各節点を結ぶ三角形要素を、二次元デローニ法を用いて生成して、処理対象面を三角形要素によりメッシュ化する。尚、節点については、地層毎に形成すべきメッシュ要素のサイズが指定されることから、ここでは、指定されたメッシュ要素のサイズに対応した間隔で自動的に節点を配置して、処理対象面をメッシュ化する。尚、層毎の節点の配置例については、図5を参考にされたい。
【0054】
また、S420での処理結果に基づき、演算装置10aは、処理対象面における節点及び結線の配置を記述したデータである拘束面データを生成する(S430)。
演算装置10aは、S430での処理を終えると、上記メッシュ化対象の地質モデルにおける分割面の全てに対し、このような拘束面データを生成したか否かを判断し(S440)、全ての分割面について拘束面データを生成していないと判断すると(S440でNo)、S410に戻って、処理対象面を切り替え、S420以降の処理を実行する。このようにして、演算装置10aは、拘束面データを、上記メッシュ化対象の地質モデルにおける分割面(隣接ブロック間の境界面)毎に生成する。
【0055】
そして、全分割面について拘束面データを生成すると、演算装置10aは、上記モデルデータ及び分割面毎の拘束面データに基づき、地質モデルを構成する複数のブロックの夫々に対して、ブロック毎に、このブロックにおける地層境界位置、各地層の物性・メッシュ要素サイズ、及び、このブロックの隣接ブロックとの接触面における節点及び結線の配置を表すブロックデータを生成する(S450)。尚、この際、各ブロックの隣接ブロックとの接触面に対しては、隣接ブロックの面と同じ拘束面データを用いて、隣接ブロックの面と一致するパターンの節点及び結線を配置し、この情報をブロックデータに記述する。その後、演算装置10aは、このブロックデータを記憶装置20に保存し、当該ブロックデータ生成処理を終了する。
【0056】
本実施例の演算装置10aは、このような内容のブロックデータ生成処理を実行するによって、メッシュ化対象の地質モデルを、ブロック分割し、各ブロックが有する隣接ブロックとの接触面の全てに対して、隣接ブロック間で一致するパターンの節点及び結線を配置する。これによって、図10に示すように、各ブロックのメッシュ化を行う前に、各ブロックの隣接ブロックとの接触面の全てに対して拘束面を設定する。
【0057】
また、演算装置10aによるブロックデータ生成処理が完了すると、演算装置10a,10b,10cは、図9に示すブロックメッシュ化処理を実行する。これによって、地質モデルを構成する複数のブロックの夫々を並列にメッシュ化する。
【0058】
ブロックメッシュ化処理を実行すると、演算装置10a,10b,10cは、記憶装置20に保存されたメッシュ化のなされていないブロックのブロックデータを一つ処理対象データに選択する(S510)。
【0059】
そして、処理対象データを選択すると、演算装置10a,10b,10cは、このブロックデータ(処理対象データ)に基づき、処理対象データに対応するブロックを、拘束面における節点及び結線の配置を保持した状態で、メッシュ化する(S520)。尚、本実施例では、拘束面を1面又は2面有するブロックを、その拘束面での節点及び結線の配置を保持した状態で、メッシュ化することになる。そして、メッシュ化したブロックにおける節点及び結線の配置を表すメッシュデータを、今回メッシュ化したブロックの位置情報と関連付けて、記憶装置20に登録する(S530)。その後、ブロックメッシュ化処理を終了する。
【0060】
演算装置10a,10b,10cは、このような内容のブロックメッシュ化処理を繰返し実行することにより、メッシュ化のなされていない拘束面付ブロックの夫々を分担して、記憶装置20に保存されたブロックデータに基づきメッシュ化し、このメッシュデータを記憶装置20に登録して、地質モデルに対応するメッシュモデルを、ブロック単位のメッシュデータとしてデータベース化する。尚、メッシュ化の完了したブロックのブロックデータは、記憶装置20から破棄することができる。例えば、演算装置10a,10b,10cは、メッシュ化の完了したブロックのブロックデータを破棄し、このブロックデータに代わりに、対応するメッシュデータを記憶装置20に登録することができる。
【0061】
尚、S510の処理について言及すれば、記憶装置20に記憶される各ブロックデータに、このブロックデータに基づくブロックメッシュ化処理が実行されているか否かを表すフラグを付し、これらブロックデータ毎のフラグを記憶装置20に記憶させるおくことで、演算装置10a,10b,10cの夫々は、S510において、処理対象データ(メッシュ化対象のブロックデータ)を、重複しないように自動選択し、地質モデルを構成する複数のブロックの夫々を並列にメッシュ化する構成にすることができる。
【0062】
即ち、演算装置10a,10b,10cの夫々は、上記フラグを参照することによって、メッシュ化のなされていないブロックのブロックデータの内、他の演算装置により処理対象データに選択されていないブロックデータを、処理対象データ(メッシュ化対象のブロックデータ)に選択する(S510)構成にすることができる。具体的に、S510では、フラグがリセットされた状態のブロックデータを、処理対象データに選択し、当該選択したブロックデータのフラグをリセット状態からセット状態に変更することにより、このブロックデータに基づくブロックメッシュ化処理が実行されていることを、フラグを通じて、他の演算装置に示すことができる。
【0063】
演算装置10a,10b,10cの夫々は、このようにして処理対象データを選択した後、このブロックデータに基づき、対応するブロックをメッシュ化する(S520)。各ブロックのメッシュ化に要する時間には、ばらつきがあるので、このように情報処理システム2を構成すると、複数の演算装置10a,10b,10cにて、効率的に、各ブロックを並列にメッシュ化することが可能である。
【0064】
但し、情報処理システム2は、主たる演算装置10aが、各ブロックのメッシュ化前に(例えば、図8に示すブロックデータ生成処理の終了時に)、所定のアルゴリズムに従って、演算装置10a,10b,10cの夫々に対し、メッシュ化すべきブロック群(演算装置10a,10b,10c間で重複しないブロック群)を割り当てる構成にされてもよい。そして、各演算装置10a,10b,10cは、S510において、予め割り当てられたブロック群の中から、メッシュ化の完了していないブロックのブロックデータを一つ処理対象データとして選択する構成にされてもよい。即ち、情報処理システム2は、どのブロックを、どの演算装置10a,10b,10cにメッシュ化させるかを、主たる演算装置10aが、所定のアルゴリズムに従って、決定する構成にされてもよい。
【0065】
この他にも、情報処理システム2には、様々な並列処理の手続きを採用することができる。例えば、情報処理システム2には、演算装置10a,10b,10cが、ユーザインタフェース50を通じてユーザから入力される指示に従って、地質モデルを構成する複数のブロックを分担してメッシュ化するような構成を採用されてもよい。
【0066】
以上には、第二実施例として、複数の演算装置10a,10b,10cを備える情報処理システム2(例えば、大規模コンピュータ)により各ブロックを並列処理によりメッシュ化する例を示したが、情報処理システム2は、複数の演算装置10a,10b,10cではなく、単一の演算装置10aを備える構成にされてもよい。この場合、情報処理システム2の演算装置10aは、記憶装置20に記憶されたブロックデータに基づき、地質モデルに対応する各ブロックを順次メッシュ化する(第一変形例)。但し、単一の演算装置10aで、複数ブロックを並列にメッシュ化することも考えられる(第二変形例)。
【0067】
この他、複数の情報処理システムをネットワーク接続し、ネットワークを通じた通信により、複数の情報処理システムにて各ブロックを並列にメッシュ化してもよい(第三変形例)。
【0068】
図11は、複数の情報処理システム3,4を用いて、各ブロックをメッシュ化する通信システム100の構成を表すブロック図である。
但し、図11に示す情報処理システム3は、情報処理システム1と同様のハードウェアを有し、演算装置にて図8及び図9に示す処理を実行する構成にされているものとする。換言すれば、情報処理システム3は、図8及び図9に示す処理を実行する単一の演算装置10aを備える情報処理システム2と同様の構成にされているものとする。
【0069】
また、図11に示す情報処理システム4は、情報処理システム1と同様のハードウェアを有し、演算装置にて図9に示すブロックメッシュ化処理を実行する構成にされているものとする。換言すれば、情報処理システム4は、図9に示す処理を実行する単一の演算装置10b(又は演算装置10c)を備える情報処理システム2と同様の構成にされているものとする。
【0070】
この通信システム100によれば、主たる情報処理システム3は、図8に示すブロックデータ生成処理を実行して各ブロックデータを自己の記憶装置20に記憶させる。
一方、各情報処理システム3,4は、主たる情報処理システム3が有する記憶装置20を参照して、この記憶装置20に、メッシュ化のなされていないブロックであって他の情報処理システム3,4でメッシュ化中でもないブロックについてのブロックデータ(即ち、処理対象データに選択されてもいないブロックデータ)が存在する場合、図9に示すブロックメッシュ化処理を繰返し実行する。そして、各ブロックメッシュ化処理では、メッシュ化のなされていないブロックであって他の情報処理システム3,4でメッシュ化中でもないブロックについてのブロックデータの一つを、処理対象データとして、情報処理システム3が有する記憶装置20から読み出し又はネットワークを通じて取得し(S510)、この取得データに基づき、処理対象データに対応するブロック(拘束面付ブロック)をメッシュ化し(S520)、該当ブロックのメッシュデータを、主たる情報処理システム3の記憶装置20に登録する(S530)。
【0071】
このように各ブロックを並列にメッシュ化する通信システム100によれば、ネットワーク接続された複数のコンピュータを用いて、各ブロックのメッシュ化を並列に実行することができ、処理能力の低い情報処理システム(コンピュータ)を用いて迅速に、大規模な地質モデルに対応するメッシュモデルを生成することができる。
【0072】
この他、本実施例では、隣接ブロックとの接触面のみに拘束面を設定するため、メッシュ化対象のブロックとして、拘束面が1面のブロックと、拘束面が2面のブロックとが混在することになるが、このような拘束面の配置の異なるブロックの混在は、各ブロックをメッシュ化するためのプログラムの構成を煩雑にする原因となる。従って、本実施例の情報処理システム2,3は次のように構成されてもよい。
【0073】
即ち、S410〜S440の処理の繰返しによっては、隣接ブロックとの接触面だけでなく、ブロック分割された地質モデルの両端面R1,R2(図10参照)に対しても節点及び結線を配置して、この面を拘束面に設定してもよい。このように地質モデルの両端面にも拘束面を設定すれば、地質モデルの両端に位置するブロックについても拘束面を2つ有するブロックとすることができる。従って、S520の処理で、拘束面の数によってメッシュ化の手続きを変更する必要がなく、プログラムの構成を簡単にすることができる。
[第三実施例]
続いて、第三実施例について説明する。第三実施例の情報処理システム2は、メッシュ化対象の地質モデルを、互いに直交関係にある複数の平面により、二次元格子状に分割して、分割後の各ブロックをメッシュ化するものであり、その他の構成については、第二実施例の情報処理システム2と同様である。従って、以下では、図12を用いて、メッシュ化対象の地質モデルの分割方法を説明し、図13を用いて各ブロックに対する拘束面の設定方法について説明する。
【0074】
第三実施例の情報処理システム2では、第二実施例と同様、ブロックデータ生成処理(図8参照)を実行するが、このブロックデータ生成処理のS120では、分割後の各ブロックにおける縦方向(Y方向)及び横方向(X方向)の幅を指定する情報を取得する(図12参照)。そして、S130では、図12に示すように、高さ方向(Z方向)に延びる平面であって、縦方向(Y方向)を法線方向とする平面、及び、横方向(X方向)を法線方向とする平面により、メッシュ化対象の地質モデル(処理対象モデル)を二次元格子状にブロック分割する。具体的には、縦幅及び横幅がS120で指定されたサイズとなるように、処理対象モデルを二次元格子状にブロック分割し、各ブロックの境界の位置情報を記憶する。本実施例では、このようにして、処理対象モデルをブロック分割する。
【0075】
そして、S410〜S450の処理(図8参照)では、分割後の地質モデルにおける互いに隣接するブロック間の境界面を一つずつ処理対象面として選択し(S410)、この処理対象面に節点及び結線を配置して拘束面データを生成することにより、境界面毎の拘束面データを生成する(S420,S430)。
【0076】
そして、この拘束面データに基づき、図13(a)に示す斜線部分又は図13(b)に示す太線部分に対応する各ブロックの面を、拘束面として設定した各ブロックのブロックデータを生成する。尚、図13(a)は、各ブロックにおける拘束面の配置を表す各ブロックの斜視図であり、図13(b)は、各ブロックを上面側又は下面側から見た各ブロックの平面図であって、各ブロックにおける拘束面の配置を表す図である。
【0077】
即ち、各ブロックのブロックデータには、このブロックにおける地層境界位置、及び、各地層の物性・メッシュ要素サイズに加えて、このブロックの上面及び下面以外の4側面の内、隣接ブロックと接触する面夫々の節点及び結線の配置を表す情報を記述することにより、ブロック毎に、このブロックの4側面の内、隣接ブロックと接触する面(2面又は3面又4面)を拘束面に設定してなるブロックデータを生成する。勿論、各拘束面には、この拘束面における節点及び結線の配置と、この拘束面に接触する隣接ブロックの拘束面における節点及び結線の配置とが一致するように、節点及び結線を配置する。
【0078】
そして、本実施例の情報処理システム2によれば、このような拘束面の情報を有するブロックデータに基づき、各ブロックデータに対応するブロックを、ブロックメッシュ化処理(図9)を通じてメッシュ化し、ブロック毎のメッシュデータを記憶装置20に登録することにより、地質モデルに対応する各ブロックのメッシュデータをデータベース化し、ユーザからの指示に従って、適宜図6(a)に示す結合処理を実行することにより、地質モデルの全域又は一部地域に対応するメッシュモデルを生成する。尚、本実施例では、第二実施例と同様、複数の情報処理システム3,4を用いて、各ブロックのメッシュ化を並列に実行することができる。
【0079】
以上、第三実施例の情報処理システム2について説明したが、本実施例によれば、メッシュ化対象の地質モデルを二次元格子状に分割するので、ブロック分割数を増やして各ブロックに対するメッシュ化に係る演算量を抑えることができる。また、データベース化された各ブロックのメッシュモデルを結合し、地震波動解析に用いるメッシュモデルを生成する際に、地震波動解析に必要十分な地域のブロックを結合して、地震波動解析に好適なメッシュモデルを生成することが容易となり、地震波動解析を効率的に行うことができる。
【0080】
尚、第二実施例と同様、拘束面の数がばらつかないようにするために、第三実施例の情報処理システム2は、全てのブロックに関して、上面及び下面以外の4側面に拘束面を設定する構成にされてもよい。即ち、隣接ブロックとの接触面以外に、地質モデルにおける各側面に対応するブロックの面に対しても拘束面を設定してもよい。
[第四実施例]
続いて、第四実施例を、図14を用いて説明する。第四実施例の情報処理システム2は、第三実施例の情報処理システム2において、更に、高さ方向に垂直な平面を用いてメッシュ化対象の地質モデルを分割することにより、三次元格子状にメッシュ化対象の地質モデルを分割するようにしたものである。即ち、第四実施例の情報処理システム2では、第二実施例及び第三実施例と同様、演算装置10が、図8に示すブロックデータ生成処理を実行するが、このブロックデータ生成処理のS120では、分割後の各ブロックにおける縦方向(Y方向)及び横方向(X方向)及び高さ方向(Z方向)の幅を指定する情報をブロックサイズの情報として取得し、S130では、その指定情報に基づき、メッシュ化対象の地質モデルを、図14に示すように三次元格子状に分割することで、この地質モデルを、指定された縦幅及び横幅及び高さ方向の幅を有するブロックの一群に分割する。
【0081】
そして、S410〜S450の処理では、各ブロックに対応するブロックデータを生成し、各ブロックのブロックデータには、このブロックにおける地層境界位置、及び、各地層の物性・メッシュ要素サイズに加えて、このブロックの6面の内、隣接ブロックと接触する面夫々の節点及び結線の配置を表す情報を記述することにより、ブロック毎に、このブロックの隣接ブロックと接触する面(最大6面)を拘束面に設定してなるブロックデータを生成する。勿論、各拘束面には、この拘束面における節点及び結線の配置と、この拘束面に接触する隣接ブロックの拘束面における節点及び結線の配置とが一致するように、節点及び結線を配置する。
【0082】
そして、これらブロックデータに基づき、各ブロックをメッシュ化し、そのメッシュデータを記憶装置20に登録することにより、メッシュ化対象の地質モデルにおける全領域又は一部領域に対応するメッシュモデルを生成することができるようにする。
【0083】
本実施例のように地質モデルを三次元格子状に分割すれば、データベース化された各ブロックのメッシュモデルを結合して、地震波動解析に用いるメッシュモデルを生成する際に、地震波動解析に必要十分な地域及び深さまでのブロックを結合して、地震波動解析に好適なメッシュモデルを生成することができ、地震波動解析を効率的に行うことができる。また、地表面に近いブロック群のみを結合して、地表に近い地盤のみの解析や津波の伝播解析等に好適なメッシュモデルを作成することも可能である。
【0084】
尚、第二実施例及び第三実施例と同様、ブロック毎に拘束面の数がばらつかないようにするために、第四実施例の情報処理システム2は、全てのブロックに関して、その全面(6面)に拘束面を設定する構成にされてもよい。即ち、隣接ブロックとの接触面以外に、地質モデルの表面に対応するブロックの面に対しても拘束面を設定してもよい。
[拘束面付ブロックのメッシュ化方法]
続いて、拘束面付ブロックのメッシュ化方法について説明する。以下では、単一の拘束面を有するブロック(図4(b)参照)のメッシュ化方法、平行な2面を拘束面として有するブロック(図10参照)のメッシュ化方法、側面に該当する4面を拘束面として有するブロック(図13(a)(b)参照)のメッシュ化方法、全面(6面)を拘束面として有するブロックのメッシュ化方法について、夫々説明する。
(A)単一の拘束面を有するブロックの四面体要素によるメッシュ化方法
第一実施例において、単一の拘束面を有するブロックを四面体要素でメッシュ化する場合には、図15に示す手順により、このブロックをメッシュ化することができる。ここでは、図16左上に示す面P13−P12−P15−P18が拘束面であるものとする。
【0085】
このブロック(以下、処理対象ブロックという。)のメッシュ化に際しては、図16左上に示すように、唯一存在する拘束面P13−P12−P15−P18と対向する処理対象ブロックの面P14−P17−P16−P11の四つ角のいずれか一つの節点P11を頂点とする四面体要素であって、拘束面P13−P12−P15−P18に形成された三角形状の各メッシュ要素を底面とする四面体要素によって、処理対象ブロックを分割する(S610)。
【0086】
更に、図16右上に示すように、節点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を頂点とする四面体要素により処理対象ブロックを分割する(S620)。
【0087】
また、図16右下に示すように、節点P11と、節点P12と、節点P14の対角に位置する処理対象ブロックの角の節点P15と、を結ぶ三角形P11−P12−P15の面上に設けられた三角形状の各メッシュ要素と底面する四面体要素であって、節点P13の対角に位置する処理対象ブロックの角の節点P16を頂点とする四面体要素により処理対象ブロックを分割する(S630)。
【0088】
更に、図16左下に示すように、処理対象ブロックにおいて四面体要素に分割されていない四角錐P11−P16−P17−P14−P12の領域を、P11−P17−P12を境界面として二分割して四面体要素に分割する(S640)。このようにして、ここでは、処理対象ブロックを簡易に四面体要素でメッシュ化する。
【0089】
この後、図17に示すように処理対象ブロックにおける拘束面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を、非拘束面との接触面において非拘束面と節点及び結線が一致するように四面体要素でメッシュ化する。具体的には、第一被覆体Q1を、処理対象ブロックの非拘束面に形成された各三角形状のメッシュ要素を底面に有する三角柱の一群に分割し、三角柱の夫々を、三つの四面体要素に分割することにより、第一被覆体Q1を四面体要素でメッシュ化する(S650)。
【0090】
この後には、互いに直交する非拘束面のペアが共有する処理対象ブロックの各辺(辺P13−P14、辺P17−P12、辺P18−P11、辺P16−P15、辺P14−P11、辺P17−P16、辺P14−P17、及び辺P11−P16の各辺)に沿って、ペアに該当する非拘束面の夫々に付加された第一被覆体Q1の表面に接触する直方体であって第一被覆体Q1との接触面が第一被覆体Q1の面と同サイズの直方体で構成される第二被覆体Q2を付加する。この付加前又は後には、第二被覆体Q2を、第一被覆体Q1との接触面において第一被覆体Q1と節点及び結線が一致するように、四面体要素でメッシュ化する(S660)。
【0091】
具体的には、第二被覆体Q2における第一被覆体Q1に接触する二つの面の内、一方の面に接触する第一被覆体Q1の当該接触面においてS650でのメッシュ化により形成された三角形状の各メッシュ要素を基準にして、第二被覆体Q2を、当該各メッシュ要素を底面に有する三角柱の一群に分割し、これら三角柱の夫々を、他方の面に接触する第一被覆体Q1の当該接触面の結線パターンに合わせて、三つの四面体要素で分割することにより、第二被覆体Q2を六つの四面体要素でメッシュ化する。
【0092】
更に、図17に示すように、拘束面P13−P12−P15−P18に接しない節点P11,P14,P16,P17が設定された角の夫々に、角の周囲に付加される第二被覆体Q2の表面に接触する直方体であって第二被覆体Q2との接触面が第二被覆体Q2の面と同サイズの直方体で構成される第三被覆体Q3を付加し、この付加前又は後には、各角に節点を有する第三被覆体Q3を、第二被覆体Q2との接触面において第二被覆体Q2と節点及び結線が一致するように四面体要素でメッシュ化する(S670)。
【0093】
このようにして、処理対象ブロックにおける拘束面P13−P12−P15−P18以外の外周に第一〜第三被覆体Q1,Q2,Q3を付加して、処理対象ブロックと第一〜第三被覆体Q1,Q2,Q3とからなる直方体形状のスーパーボックスを生成する。この時点で、スーパーボックスは、簡易に四面体要素でメッシュ化された状態にされる。図18(a)は、図17に示す処理対象ブロック及び第一〜第三被覆体Q1,Q2,Q3からなるスーパーボックスを、方角Daから見た斜視図であり、図18(b)は、同スーパーボックスを、方角Dbから見た斜視図である。
【0094】
この処理後には、スーパーボックスにおける処理対象ブロックに未設定の節点を設定し、スーパーボックスをデローニ法に基づき四面体要素で再メッシュ化する(S680)。その後、スーパーボックスから処理対象ブロックを抽出する(S690)。このようにして、単一の拘束面を有するブロックについては、拘束面における節点及び結線の形状を保持した状態で、処理対象ブロックを四面体要素によりメッシュ化することができる。
(B)平行な2面を拘束面として有するブロックの四面体要素によるメッシュ化方法
第二実施例において、平行な2面を拘束面として有するブロックを四面体要素でメッシュ化する場合には、図19及び図20に示すように、このブロックをメッシュ化する。図19及び図20において、拘束面は、面P33−P34−P38−P37及び面P36−P35−P39−P30であるものとする。
【0095】
メッシュ化に際しては、まず処理対象ブロックの内部領域の一点(中央領域)に節点P31を設定する。そして、節点P31を頂点とし拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割する(図19左図参照)。更に、処理対象ブロックが有する非拘束面P36−P33−P34−P35の内部領域の一点に節点P321を設定し、非拘束面P36−P33−P34−P35の拘束面と共有する二辺に設定された節点(拘束面の節点)と上記節点P321とを結んで、この非拘束面を三角形要素により分割し、これら三角形要素と節点P31をと結んで、処理対象ブロックを四面体要素により分割する(図19右図参照)。
【0096】
同様にして、処理対象ブロックが有する非拘束面P37−P38−P39−P30についても、その内部領域の一点に節点P322を設定し(図20左上図参照)、この非拘束面を三角形要素により分割し、これら三角形要素と節点P31をと結んで処理対象ブロックを四面体要素により分割する。
【0097】
この他、非拘束面P36−P30−P37−P33に対しても節点P323を設定して(図20右上参照)、この非拘束面を三角形要素により分割し、これら三角形要素と節点P31をと結んで処理対象ブロックを四面体要素により分割し、非拘束面P34−P38−P39−P35に対しても節点P324を設定して(図20右下参照)、この非拘束面を三角形要素により分割し、これら三角形要素と節点P31をと結んで処理対象ブロックに四面体要素により分割する。
【0098】
このようにして、処理対象ブロックを四面体要素により簡易にメッシュ化した後には、単一の拘束面を有するブロックの四面体要素によるメッシュ化方法と同様の手法で、拘束面以外の非拘束面を覆うように、処理対象ブロックに対して被覆体Q1,Q2を付加し、これによってスーパーボックスを形成する(図20左下参照)。そして、このスーパーボックスに、必要な節点を配置して、デローニ法に基づき四面体要素で再メッシュ化する。その後、スーパーボックスから処理対象ブロックを抽出することにより、平行な2つの拘束面を有するブロックについては、拘束面における節点及び結線の形状を保持した状態で、四面体要素によりメッシュ化することができる。
(C)側面を拘束面として有するブロックの四面体要素によるメッシュ化方法
第三実施例において、4側面を拘束面として有するブロックを四面体要素でメッシュ化する場合には、図21に示すようにして、このブロックをメッシュ化することができる。図21において、拘束面は、面P72−P77−P78−P73、面P75−P76−P77−P72、面P75−P76−P79−P74及び面P74−P79−P78−P73であるものとする。但し、メッシュ化に際しての処理手順を明確にするため、図21左上図においては、面P72−P77−P78−P73以外の拘束面の節点及び結線の配置を省略する。
【0099】
このブロックのメッシュ化に際しては、第一の非拘束面P72−P73−P74−P75の内部領域に一つの節点P711を設定し、この節点P711を頂点とし、拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割する(図21第一段(最上段)及び第二段参照)。その後、第二の非拘束面P76−P77−P78−P79の内部領域に一つの節点P712を設定し、この節点P712と、この非拘束面P76−P77−P78−P79の拘束面と共有する四辺の夫々に設定された各節点とを結んで、非拘束面P76−P77−P78−P79を三角形要素により分割する(図21第三段参照)。そして、これら三角形要素と節点P711をと結んで処理対象ブロックに四面体要素により分割する。
【0100】
このようにして、処理対象ブロックを四面体要素により簡易にメッシュ化した後には、拘束面以外の非拘束面を覆うように、処理対象ブロックに対して被覆体Q1を付加し、これによってスーパーボックスを形成する(図21第四段参照)。そして、このスーパーボックスに、必要な節点を配置して、デローニ法に基づき四面体要素で再メッシュ化する。その後、スーパーボックスから処理対象ブロックを抽出することにより、4側面を拘束面として有するブロックについては、拘束面における節点及び結線の形状を保持した状態で、四面体要素によりメッシュ化することができる。
(D)6面を拘束面として有するブロックの四面体要素によるメッシュ化方法
第四実施例において、6面を拘束面として有するブロックを四面体要素でメッシュ化する場合には、図22に示すようにして、このブロックをメッシュ化することができる。即ち、ブロックの内部領域の一点に節点P91を設定し、この節点P91を頂点し、各拘束面の三角形要素を底面とする四面体要素により、処理対象ブロックを四面体要素により簡易にメッシュ化する。その後には、この処理対象ブロックに、必要な節点を配置して、処理対象ブロックをデローニ法に基づき四面体要素で再メッシュ化する。6面を拘束面として有するブロックについては、このようにして、拘束面における節点及び結線の形状を保持した状態で、四面体要素によりメッシュ化することができる。
[最後に]
以上、本発明の実施例について説明したが、本発明は、上記実施例に限定されるものではなく種々の態様を採ることができる。尚、上記実施例の演算装置10,10aが実行するS130の処理は、分割手順の一例に対応し、演算装置10が実行するS210及び演算装置10aが実行するS410〜S440の処理は、設定手順の一例に対応し、演算装置10が実行するS220及び演算装置10a,10b,10cが実行するS520の処理は、メッシュ化手順の一例に対応する。
【符号の説明】
【0101】
1,2,3,4…情報処理システム、10,10a,10b,10c…演算装置、20…記憶装置、30…ドライブ装置、40…LANインタフェース、50…ユーザインタフェース、11…CPU、13…RAM、100…通信システム

【特許請求の範囲】
【請求項1】
メッシュ化対象の形状モデルを、複数のブロックに分割する分割手順と、
前記複数のブロックの夫々に拘束面を設定する手順であって、前記拘束面には、当該拘束面に接触する隣接ブロックの面における節点及び結線の配置と前記拘束面における節点及び結線の配置とが一致するように、節点及び結線を設定する設定手順と、
前記拘束面における前記節点及び結線の配置を保持して、前記複数のブロックの夫々を、メッシュ化するメッシュ化手順と、
をコンピュータに実行させるためのプログラムであって、
前記メッシュ化手順は、前記複数のブロックの夫々を順次メッシュ化する手順であり、
前記設定手順は、前記メッシュ化手順によるメッシュ化前のブロックであって、前記メッシュ化手順によるメッシュ化後のブロックに隣接するブロックにおける前記メッシュ化後のブロックとの接触面に、この面に接触する前記メッシュ化後のブロックの面における節点及び結線の配置と一致するパターンの節点及び結線を配置することによって、前記メッシュ化前のブロックにおける前記メッシュ化後のブロックとの接触面に前記拘束面を設定する手順であること
を特徴とするメッシュ化プログラム。
【請求項2】
メッシュ化対象の形状モデルを、複数のブロックに分割する分割手順と、
前記複数のブロックの夫々に拘束面を設定する手順であって、前記拘束面には、当該拘束面に接触する隣接ブロックの面における節点及び結線の配置と前記拘束面における節点及び結線の配置とが一致するように、前記節点及び結線を設定する設定手順と、
前記拘束面における前記節点及び結線の配置を保持して、前記複数のブロックの夫々を、メッシュ化するメッシュ化手順と、
をコンピュータに実行させるためのプログラムであって、
前記メッシュ化手順は、前記複数のブロックの夫々を順次、又は、並列にメッシュ化する手順であり、
前記設定手順は、前記メッシュ化手順によるメッシュ化前の互いに隣接するブロックの夫々における隣接ブロックとの接触面に、隣接する面と一致するパターンの節点及び結線を配置することによって、前記メッシュ化手順によるメッシュ化前の互いに隣接するブロックの夫々における隣接ブロックとの接触面に前記拘束面を設定する手順であること
を特徴とするメッシュ化プログラム。
【請求項3】
前記分割手順は、特定の一方向に垂直な平面によって前記形状モデルを区切ることによって、前記形状モデルを複数のブロックに分割する手順であり、
前記メッシュ化手順は、前記複数のブロックの夫々を、前記形状モデルの端に位置するブロックから、前記特定の一方向に沿って順にメッシュ化する手順であり、
前記設定手順は、前記メッシュ化手順により一つのブロックがメッシュ化される度、メッシュ化後のブロックに隣接するブロックであって次にメッシュ化されるブロックにおける前記メッシュ化後のブロックとの接触面に、前記拘束面を設定する手順であること
を特徴とする請求項1記載のメッシュ化プログラム。
【請求項4】
前記分割手順は、特定の一方向に垂直な平面によって前記形状モデルを区切ることによって、前記形状モデルを複数のブロックに分割する手順であり、
前記設定手順は、前記メッシュ化手順によるメッシュ化前に、前記複数のブロックの夫々が有する隣接ブロックとの接触面の夫々に対し、前記拘束面を設定する手順であること
を特徴とする請求項2記載のメッシュ化プログラム。
【請求項5】
前記分割手順は、互いに直交する複数の平面によって前記形状モデルを二次元格子状又は三次元格子状に区切ることによって、前記形状モデルを複数のブロックに分割する手順であり、
前記設定手順は、前記メッシュ化手順によるメッシュ化前に、前記複数のブロックの夫々が有する隣接ブロックとの接触面の夫々に対し、前記拘束面を設定する手順であること
を特徴とする請求項2記載のメッシュ化プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図11】
image rotate

【図12】
image rotate

【図14】
image rotate

【図15】
image rotate

【図22】
image rotate

【図4】
image rotate

【図5】
image rotate

【図10】
image rotate

【図13】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate