プログラム、メッシュモデル生成方法及びメッシュモデル生成システム
【課題】メッシュモデルの生成を効率的に実現可能な技術を提供する。
【解決手段】メッシュ化対象の地質モデルを、複数のブロックに分割する(S130)。その後、この地質モデルを構成する各ブロックを、隣接するブロックとの境界面における節点及び結線が隣接するブロックと一致するようにメッシュ化して、各ブロックの夫々に対応するメッシュモデルを生成し、これを記憶装置に保存する(S150〜S230)。これによって地質モデルに対応するメッシュモデルを、ブロック単位のメッシュモデルとしてデータベース化する。その後、ユーザインタフェースを通じて結合対象のブロック群が指定されると、指定されたブロック群に対応するメッシュモデルを記憶装置から読み出し、これらを結合することで、結合対象のブロック群に対応する上記地質モデルの一部領域についてのメッシュモデルを生成する。
【解決手段】メッシュ化対象の地質モデルを、複数のブロックに分割する(S130)。その後、この地質モデルを構成する各ブロックを、隣接するブロックとの境界面における節点及び結線が隣接するブロックと一致するようにメッシュ化して、各ブロックの夫々に対応するメッシュモデルを生成し、これを記憶装置に保存する(S150〜S230)。これによって地質モデルに対応するメッシュモデルを、ブロック単位のメッシュモデルとしてデータベース化する。その後、ユーザインタフェースを通じて結合対象のブロック群が指定されると、指定されたブロック群に対応するメッシュモデルを記憶装置から読み出し、これらを結合することで、結合対象のブロック群に対応する上記地質モデルの一部領域についてのメッシュモデルを生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、形状モデルのメッシュ化に用いられるプログラム、方法及びシステムに関する。
【背景技術】
【0002】
従来、地質モデルを有限要素法により解析することで地震波動解析を行うシステムが知られている(例えば、特許文献1参照)。この種のシステムでは、地質モデルを生成し、地質モデルの領域に地質物性値を定義し、地質モデルにおける地質物性値が定義された領域に地質物性値に応じたメッシュを生成し、メッシュ化された地質モデルを対象に、別途生成した震源モデル及び解析条件に従って有限要素法により地震波動伝播シミュレーションを実行する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−122675号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、従来の地震波動解析では、震源に合わせて、対応する地域の地質モデルを、一からメッシュ化してメッシュモデルを生成している。この手法では、複数の震源についての地震波動解析を行う際に、メッシュモデルを生成する地域が重複する場合であっても、解析対象毎に、地質モデルを一からメッシュ化してメッシュモデルを生成しなければならない。そして、地質モデルのメッシュ化は、大規模であることから非常な労力を伴う。
【0005】
本発明は、こうした問題に鑑みなされたものであり、形状モデルに対応するメッシュモデルの生成を効率的に実現可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するためになされた本発明のプログラムは、コンピュータに、次の分割手順と、第一生成手順と、保存手順と、抽出手順と、第二生成手順とを実行させるためのプログラムである。
【0007】
分割手順は、メッシュ化対象の形状モデルを、複数のブロックに分割する手順である。第一生成手順は、上記分割手順による分割後の複数のブロックを、隣接するブロックとの境界面における節点及び結線が上記隣接するブロックと一致するようにメッシュ化して、複数のブロックの夫々に対応するメッシュモデルを生成する手順である。そして、保存手順は、上記複数のブロックの夫々に対応するメッシュモデルを記憶装置に保存する手順である。本発明によれば、このようにして形状モデルを複数ブロックに分割し、ブロック単位でメッシュモデルを生成して、これを保存する。
【0008】
一方、抽出手順は、入力インタフェースを通じて入力された指定情報に従って、上記記憶装置に保存された複数のブロックの夫々に対応するメッシュモデルの一群から、上記指定情報が示す結合対象のメッシュモデルの一群を抽出する手順である。そして、第二生成手順は、上記抽出手順により抽出された上記結合対象のメッシュモデルの一群を結合することにより、これらメッシュモデルの一群に対応する形状モデルの一部領域についてのメッシュモデルを生成する手順である。具体的に、第二生成手順は、メッシュモデル間で重複する節点を単一の節点を残して削除することにより、上記結合対象のメッシュモデルの一群を結合する手順とすることができる。
【0009】
本発明によれば、このようにしてブロック単位で生成したメッシュモデルを結合することにより、入力インタフェースを通じて入力された指定情報に従う形状モデルの一部領域についてのメッシュモデルを生成する。従って、本発明のプログラムを用いれば、特に大規模な形状モデルに対応するメッシュモデルを効率的に生成することができる。
【0010】
従来では、形状モデルをブロック単位で細分化し、境界面での節点及び結線が一致するように、各ブロックの形状モデルをメッシュ化することが難しかった。このため、これら各ブロックのメッシュモデルをデータベース化する思想自体がなく、既存のメッシュモデルとは一部エリアの重複する形状モデルのメッシュモデルを新たに生成する際に、既存のメッシュモデルを有効活用することができなかった。
【0011】
即ち、メッシュモデルを生成する対象の形状モデルが大規模で、地層構造を表す形状モデル(地質モデル)のように物性に応じた要素サイズの切り替え等が必要な複雑な構造を採る形状モデルの場合には、既存のメッシュモデルを有効活用しようとしても、節点と結線とが一致しないために異なるメッシュモデル間を繋げることができず、更には、既存のメッシュモデルを補正して利用するのが困難で、既存のメッシュモデルと一部重複するエリアを有する形状モデルのメッシュモデルを生成する際にも、一からこれを生成しなければならなかった。
【0012】
一方、本発明によれば、上述のように隣接ブロック間で節点と結線が一致するようにして、ブロック単位でメッシュモデルをデータベース化することができるので、各ブロックのメッシュモデルを簡単に結合して、大規模なメッシュモデルを効率的に生成することができる。また、部分モデルを迅速に生成することができるといった利点もある。例えば、本発明を用いて、国内全域の地層構造を表す形状モデル(地質モデル)についてのメッシュモデルを、ブロック単位で生成し、これを記憶装置に保存してデータベース化すれば、個別の震源毎に、地震波動解析するのに必要な地域のメッシュモデルを、データベース化されたブロック単位のメッシュモデルの結合により効率的に生成することができる。従って、本発明のプログラムは、地震波動解析等に大変役立つ。また、本発明によれば、形状モデルをブロック単位で分割してメッシュ化するので、形状モデルを分割せずにメッシュ化する場合と比較して、コンピュータに必要な演算能力やリソースを抑えることができるといった利点もある。
【0013】
ところで、第一生成手順及び第二生成手順におけるメッシュモデルの生成は、メッシュモデルを表すデータを生成するといった具体的手順によって実現することができる。例えば、第一生成手順は、ブロック毎に、当該ブロックのメッシュモデルを表すデータとして、このメッシュモデルを構成する各節点の属性情報を記述した節点データ、及び、このメッシュモデルを構成する各メッシュ要素の属性情報を記述した要素データを生成する手順とすることができる。節点データには、各節点の属性情報として、各節点の識別コード及び位置座標を記述することができ、要素データには、各メッシュ要素の属性情報として、各メッシュ要素を構成する節点及び結線の情報を、上記節点の識別コードを用いて記述することができる。
【0014】
また、第二生成手順は、結合対象のメッシュモデルの一群に対応する節点データの一群をまとめてなる節点データである統合節点データ、及び、結合対象のメッシュモデルの一群に対応する要素データの一群をまとめてなる要素データである統合要素データを生成することにより、上記形状モデルの一部領域についてのメッシュモデルを表すデータを生成する手順とすることができる。統合節点データには、結合対象のメッシュモデル間で重複する節点の属性情報を統合節点データに重複登録しないようにして節点データの一群に登録された各節点の属性情報を登録し、統合要素データには、要素データの一群に登録された各メッシュ要素の属性情報を登録するといった具合である。
【0015】
また、メッシュモデルを構成する各節点に対しては、上記識別コードとしてシーケンシャルな番号を付与することが考えられるが、このような手法で、各ブロックのメッシュモデルについての節点データを生成する場合等には、例えば、ブロック毎に、このブロック内の節点に対して識別番号が1から順に付されることになるため、統合節点データの生成時に、各節点に対して識別コードの再付与(割り当て)が必要になる。そこで、第二生成手順は、次のような手順とされるとよい。
【0016】
即ち、第二生成手順は、統合節点データに各節点の属性情報を登録する際、各節点に対して識別コードを再付与し、各節点の再付与後の識別コード及び位置座標を、各節点の属性情報として統合節点データに記述する一方、統合要素データに各メッシュ要素の属性情報を登録する際、各メッシュ要素の属性情報の記述に用いる節点の識別コードを再付与後の識別コードに補正することで、再付与後の識別コードを用いて節点及び結線の情報を記述してなる各メッシュ要素の属性情報を統合要素データに登録する手順とすることができる。このようにすれば、統合節点データ及び統合要素データを適切に生成することができる。
【0017】
また、本発明のプログラムによれば、上述したようにメッシュ化対象の形状モデルが国内全域等の所定地域(特に広域)の地層構造を表す形状モデルである場合に、その効果が特に有効に発揮される。この他、本発明は、地震波動解析の分野に限らず様々な分野にで、節点数及び要素数が大規模な有限要素モデルをブロック分割により生成したり、部分モデルを生成したりするのに役立つ。
【0018】
また、本発明のプログラムは、光ディスクや磁気ディスク、半導体製メモリ等の記録媒体に記録してユーザに提供することができる。更に、上述したプログラムの発明に対応する技術的思想は、メッシュモデル生成方法やメッシュモデル生成システムの発明にも適用することができる。
【図面の簡単な説明】
【0019】
【図1】情報処理システム1の構成を表すブロック図である。
【図2】演算装置10が実行するデータベース化処理を表すフローチャートである。
【図3】メッシュ化対象モデルの分割方法に関する説明図である。
【図4】国内全域の地質モデルに対するブロック化のパターンを示した図である。
【図5】各ブロックのメッシュ化順を示した図である。
【図6】節点データ及び要素データの構成を表す図である。
【図7】隣接ブロックとの境界面における節点及び結線の配置を示した図である。
【図8】演算装置10が実行する結合処理を表すフローチャートである。
【図9】演算装置10が実行する節点登録処理を表すフローチャートである。
【図10】演算装置10が実行する要素登録処理を表すフローチャートである。
【図11】統合節点データ及び統合要素データの作成方法及び構成を表す図である。
【図12】メッシュモデルの結合態様を示した図である。
【図13】地震波動解析に際してのブロックの結合例を示した図である。
【図14】拘束面が一つであるときのメッシュ化手順を示すフローチャートである。
【図15】拘束面が一つであるときの初期メッシュ生成態様を示した図である。
【図16】スーパーボックスの生成例を示した図である。
【図17】拘束面が一つであるときのスーパーボックスの構成図である。
【図18】拘束面が二つであるときのメッシュ化手順を示すフローチャートである。
【図19】拘束面が二つであるときの初期メッシュ生成態様を示した図である。
【図20】拘束面が二つであるときのスーパーボックスの構成図である。
【発明を実施するための形態】
【0020】
以下に本発明の実施例について、図面と共に説明する。
図1に示す本実施例の情報処理システム1は、与えられた形状モデルの一部領域についてのメッシュモデルを、ユーザからの指示に従って生成する機能をプログラムの実行により実現するものである。この情報処理システム1は、ユーザからの指示に従って、上記形状モデルを表すモデルデータとして、外部からメッシュ化対象の地質モデルを定義するモデルデータを取得し、このモデルデータが表す地質モデルを複数ブロックに分割して、隣接ブロックにおける節点及び結線のパターンが一致するように、各ブロックをメッシュ化する。これによって、上記与えられた形状モデルとしての地質モデルに対応するメッシュモデルを、ブロック単位で生成し、これを記憶装置20に保存することで、地質モデルに対応するメッシュモデルを、ブロック単位のデータとしてデータベース化する。
【0021】
その後、ユーザから結合対象のブロック群が指定されると、指定されたブロック群に対応する各ブロックのメッシュモデルを結合して、上記地質モデルの一部領域についてのメッシュモデルを生成する。上記地質モデルとしては、国内全域の地層構造を表す地質モデルを挙げることができ、これをブロック単位でメッシュ化してデータベース化することで、国内の一部地域についての地質モデルに対応したメッシュモデルを上記データベース化されたメッシュモデルを利用して効率的に生成することができる。
【0022】
このような機能を有する情報処理システム1の詳細構成を以下に説明する。本実施例の情報処理システム1は、図1に示すように、演算装置10と、記憶装置20と、ドライブ装置30と、LANインタフェース40と、ユーザインタフェース50とを備える。演算装置10は、各種プログラムを実行するCPU11及びCPU11によるプログラム実行時に作業領域として使用されるRAM13等から構成され、記憶装置20は、CPU11が実行する各種プログラムやプログラム実行時に使用される各種データを記憶する。この記憶装置20は、例えばハードディスク装置で構成される。
【0023】
ドライブ装置30は、磁気ディスクや光ディスクに書き込まれたデータを読取可能且つ磁気ディスクや光ディスクに対してデータを書込可能な装置であり、LANインタフェース40は、LANに接続されたノードと通信可能なインタフェースである。
【0024】
情報処理システム1は、例えばドライブ装置30を通じて、磁気ディスクや光ディスクが記憶する上記モデルデータを取得する。この他、情報処理システム1は、LANインタフェース40を通じてLANに接続されたユーザ端末から上記モデルデータを取得することができる。
【0025】
ユーザインタフェース50は、キーボードやポインティングデバイス等から構成され、情報処理システム1は、このユーザインタフェース50を通じて入力されるユーザからの指示に従って、モデルデータを取得し、このモデルデータに基づいて、モデルデータが表す地質モデルを複数ブロックに分割し、各ブロックを、隣接ブロックにおける節点及び結線のパターンが一致するようにメッシュ化する。そして、ブロック毎に、このブロックに対応するメッシュモデルのデータを記憶装置20に保存して、上記モデルデータに対応する地質モデルのメッシュモデルを、ブロック単位のデータとしてデータベース化する。
【0026】
具体的に、演算装置10は、ユーザインタフェース50を通じてデータベース化の実行指示が入力されると、記憶装置20に記憶されたプログラムに従って、図2に示すデータベース化処理を実行する。
【0027】
データベース化処理を開始すると、演算装置10は、ユーザインタフェース50を通じてモデルデータの指定操作を受け付け、この操作により指定されたモデルデータを取得する。例えば、ドライブ装置30やLANインタフェース40を通じてモデルデータを取得する。この他、記憶装置20にモデルデータが書き込まれている場合には、記憶装置20からモデルデータを読み出すことによって、上記指定されたモデルデータを取得する。そして、取得したモデルデータが表す地質モデルを処理対象モデルに設定する(S110)。尚、ここで言う地質モデルは、所定地域(例えば国内全域)の地層構造を表すモデルであり、本実施例のモデルデータには、地質モデルの外形を表す情報と共に、地層境界毎に、当該地層境界の各地点の位置座標が記述される。即ち、本実施例のモデルデータは、地質モデルの外形と各地層の形状とが記述されたデータとして構成される。
【0028】
演算装置10は、S110の処理後、ユーザインタフェース50を通じて、処理対象モデルの分割サイズについての指定操作を受け付ける(S120)。本実施例では、処理対象モデルを、図3に示すように碁盤の目のように二方向に分割してブロック化するが、ここでは、分割後のブロックサイズを指定する情報の入力操作を、ユーザインタフェース50を通じて受け付ける。具体的に、ブロックサイズとしては、ブロック一辺の長さの入力操作を受け付ければよい。尚、本実施例では、説明を簡単にするため、図3に示すように処理対象モデルを深さ方向には分割しないものとする。
【0029】
そして、分割サイズの指定操作がなされると、処理対象モデルを、指定されたブロックサイズのブロック群に分割する(S130)。即ち、処理対象モデルを複数ブロックに区画化して各ブロックの境界を決定し、この各ブロックの境界の位置情報をブロックの分布に関するマップデータとして記憶装置20に記憶保持する。
【0030】
図4は、国内全域の地質モデルに対するブロック化のパターンを示した図であり、図4(a)は、ブロックの一辺を100kmとしたときのブロック化の態様を示す図であり、図4(b)は、ブロックの一辺を200kmとしたときのブロック化の態様を示す図である。
【0031】
尚、遠方海域等のメッシュ化の必要がない領域については、この領域をブロック化及びメッシュ化の対象から外せばよい。この他、処理対象モデルの内、ブロック分割する領域をユーザに指定させて、指定されなかった領域についてはブロック化及びメッシュ化の対象から外してもよい。
【0032】
S130での処理を終えると、演算装置10は、S140に移行し、ブロック毎に、各地層の物性情報(後述する物性番号)及びメッシュ要素についてのサイズ(以下、要素サイズという。)情報の入力操作を受け付ける。S140における各ブロック及び各地層の物性情報・要素サイズ情報の入力が完了すると、演算装置10は、続くS150にて、処理対象モデルを構成するブロック群の内、所定規則に従う第1ブロックを、処理対象ブロックに選択する。
【0033】
本実施例では、図5に示すように、ブロックの互いに直交する二つの配列方向(以下、Ax方向及びAy方向とする。)を基準に、処理対象ブロックの選択規則が定められている。図5(a)に示す各ブロック内の数字は、ブロックの選択順を表す数字である。説明を簡単にするため、以下では、図5(a)に示すように、処理対象モデルが10個のブロックに分割された場合の選択規則について説明する。
【0034】
本実施例では、Ax方向及びAy方向の最上流側地点に位置するブロックを第1ブロックとして、この第1ブロックを基準にAx方向に配列されたブロック列の各ブロックを、その配列順に処理対象ブロックとして選択する。そして、Ax方向下流末端のブロックを処理対象ブロックとして選択した後には、Ay方向下流において隣接するブロック列の各ブロックを、Ax方向の最も上流側地点に位置するブロックからAx方向配列順に処理対象ブロックとして選択する。このような選択規則により、本実施例では、各ブロックを順次処理対象ブロックに選択する。尚、このように処理対象ブロックを順に選択するのは、後述する処理で、処理対象ブロックのメッシュ化を簡単にするためである。
【0035】
このような選択規則に従って第1ブロックを処理対象ブロックに選択すると、演算装置10は、続くS160にて上記モデルデータから第1ブロックに対応するエリアのデータを抽出し、この抽出データに基づき、第1ブロックを、地層毎に、当該地層に対して指定されたメッシュ要素のサイズでメッシュ化する(S170)。尚、各地層は、四面体要素や六面体要素によりメッシュ化することができるが、近似精度が良く同じ体積での要素数が少なくて済むので、各地層を六面体要素によりメッシュ化するのが好ましい。但し、各地層を六面体要素によりメッシュ化する場合には、地層毎に用いる要素サイズが異なるため、例えば、地層境界周辺については、五面体要素及び四面体要素によりメッシュ化して、異なるサイズの六面体要素を接続することになり、メッシュ生成がかなり複雑となる。一方、四面体要素によりメッシュ化する場合には、要素数が多くなるものの、メッシュ生成が六面体要素を用いる場合と比べると易しいといった利点がある。
【0036】
また、処理対象ブロックのメッシュ化に際しては、処理対象ブロックに対応するメッシュモデルのデータとして、当該メッシュ化後の処理対象ブロック(メッシュモデル)が有する各節点の属性情報を記述した節点データ及び各メッシュ要素の属性情報を記述した要素データを生成する。ここでは、上記節点データ及び上記要素データの実体として、上記節点データ及び上記要素データを格納した単一のデータファイル、又は、節点データ及び要素データの夫々を格納した個別のデータファイルを生成する。
【0037】
ここで、節点データの構成について説明する。節点データは、図6(a)に示すように、メッシュモデルを構成する節点毎に、節点番号と節点の位置座標(X座標、Y座標、Z座標)とが記述されたレコードを有する。図6(a)は、節点データの構成を表す図である。同一メッシュモデル内の各節点には、通常、先頭レコードから順に「1,2,3,…」と1から始まる連続した番号が節点番号として割り当てられる。尚、割り当てに際し、欠番は許容されるが、重複は許容されない。
【0038】
一方、要素データは、メッシュモデルを構成するメッシュ要素毎に、要素番号と、物性番号と、要素タイプと、メッシュ要素を構成する節点の節点番号と、が記述されたレコードを有するものである。図6(b)は、要素データの構成を表す図である。図6(b)に示すように、各メッシュ要素には、節点番号と同様、先頭レコードから順に「1,2,3,…」と1から始まる連続した番号が要素番号として割り当てられる。
【0039】
各メッシュ要素のレコードに記述される物性番号は、該当メッシュ要素の物性を定義するものである。本実施例の情報処理システム1にて生成されたメッシュモデルを用いた地震波動解析の際には、物性番号と、その物性番号に対応する物性の詳細情報とが記述された物性テーブルが参照される。即ち、物性番号は、地震波動解析の際に用いるべき物性の詳細情報を有する物性テーブルの参照先を表す番号である。この意味で、要素データにおいて各メッシュ要素に対して記述される物性番号は、該当メッシュ要素の物性を定義するものと言える。尚、物性テーブルに記述される各物性番号に対応する物性の詳細情報としては、S波速度、P波速度、密度、S波Q値及びP波Q値等を挙げることができる。
【0040】
また、各メッシュ要素のレコードに記述される要素タイプは、該当メッシュ要素の形状を示すものであり、四面体要素、ピラミッド(四角錐)要素、プリズム(三角柱)要素、及び、六面体要素のいずれかを表す。この他、各メッシュ要素のレコードには、該当メッシュ要素を構成する各節点の節点番号が、節点間の結線パターンに対応する配列順で記述される。即ち、各メッシュ要素における節点間の結線パターンに関する情報は、この節点番号の配列順の情報としてレコードに記述される。例えば、四面体要素の節点番号列については、節点番号列の先頭の節点を基準に、残りの節点により構成される三角形を右回りに回るように各節点の節点番号を配列して、生成することができる。
【0041】
S170の処理で、このような構成の要素データ及び節点データを生成すると、演算装置10は、当該生成した要素データ及び節点データを、今回の処理対象ブロック(第1ブロック)に対応するメッシュモデルのデータとして、記憶装置20に登録(保存)する(S180)。各ブロックに対応する節点データ及び要素データの記憶装置20への登録方法としては、例えば、記憶装置20に、ブロックの識別番号を用いた処理対象モデルを構成する各ブロックの分布(空間配置)に関するデータを登録しておく一方、記憶装置20には、各ブロックの要素データ及び節点データを、該当ブロックの識別番号を付して登録する方法が挙げられる。この他、各ブロックの要素データ及び節点データを、ブロックの識別番号に対応する配列で記憶装置20に登録する方法が挙げられる。
【0042】
この処理を終えると、演算装置10は、処理対象ブロックを、上述の選択規則に従う次ブロックに切り替え(S190)、S160での処理と同様に、上記モデルデータから、切り替え後の処理対象ブロックに対応するエリアのデータを抽出し(S200)、この抽出データに基づいて、当該処理対象ブロックを、各地層に対応するサイズのメッシュ要素にてメッシュ化する。これによって、処理対象ブロックに対応するメッシュモデルのデータ(上記節点データ及び要素データ)を生成する(S210)。
【0043】
但し、メッシュ化に際しては、処理対象ブロックにおける既にメッシュ化の完了した隣接ブロックとの境界面に対し、隣接ブロックと同一のパターンで節点及び結線を配置して、拘束面を設定する。即ち、S210では、図7に示すように、隣接ブロックとの境界面において、隣接ブロックと同一位置に節点を設定し、更にこれら節点間に、隣接ブロックの同一パターンの結線を設定することで、上記境界面を拘束面に設定する。そして、この拘束面における節点及び結線の配置を崩さないようにして、処理対象ブロックのメッシュ化を行って、当該処理対象ブロックに対応するメッシュモデルのデータ(上記節点データ及び要素データ)を生成する(S210)。これによって、隣接ブロックとの境界面において節点及び結線の一致するメッシュモデルを生成する。尚、このようなメッシュモデルは、ユーザとの対話により生成されてよいが、大規模なメッシュモデルに関しては、ユーザとの対話によりメッシュモデルを生成すると膨大な時間がかかるので、ユーザとの対話なしに自動的に生成されるのが好ましい。
【0044】
その後、演算装置10は、S180での処理と同様、S210の処理で生成した処理対象ブロックに対応するメッシュモデルのデータ(要素データ及び節点データ)を記憶装置20に保存(登録)する(S220)。そして、処理対象モデルを構成する全ブロックについて、これらブロックをメッシュ化し、当該ブロックのメッシュモデルのデータを記憶装置20に保存したか否かを判断する(S230)。
【0045】
ここで、全ブロックについて保存していないと判断すると(S230でNo)、演算装置10は、S190に移行し、処理対象ブロックを上述の選択規則に従う次ブロックに切り替えて、S200以降の処理を上述したように実行する。
【0046】
このようにして、選択規則に従う順序で処理対象モデルを構成する各ブロックを順次メッシュ化し、このメッシュモデルのデータを記憶装置20に登録する。これによって、本実施例では、記憶装置20に、境界面での節点及び結線のパターンが隣接ブロックのメッシュモデルと一致する処理対象モデルを構成する各ブロックのメッシュモデルを登録する。この結果、記憶装置20には、処理対象モデルに対応するメッシュモデルが、ブロック単位のデータとしてデータベース化される。
【0047】
尚、本実施例では、上述した選択規則に従う順序で各ブロックをメッシュ化する結果、S210でのメッシュ化に際して設定される拘束面は、1つ又は2つに限定される。図5(b)は、図5(a)に示す処理対象モデルを構成する各ブロックを処理対象ブロックに設定してメッシュ化する際の拘束面を示す図であり、処理対象ブロックを、塗り潰しブロックにて表現し、メッシュ化の完了したブロックを、非塗り潰しブロックにて表現し、拘束面を太線にて表現したものである。
【0048】
図5(b)に示すように、処理対象ブロックとして第2ブロック(図5において数字「2」が記されたブロック)をメッシュ化する場合には、第1ブロックとの境界面を拘束面に設定して、当該拘束面における節点及び結線の配置を崩さないように処理対象ブロックのメッシュ化を行う。また、処理対象ブロックとして第5ブロック(図5において数字「5」が記されたブロック)をメッシュ化する場合には、第2ブロックとの境界面及び第4ブロックとの境界面を拘束面に設定して、当該拘束面における節点及び結線の配置を崩さないように処理対象ブロックのメッシュ化を行う。
【0049】
本実施例の選択規則にて、処理対象モデルを構成する各ブロックを処理対象ブロックに選択してメッシュ化を行うと、図5(b)から理解できるように、拘束面は、たかだか1つ又は2つで済み、非拘束面を調整シロとして各ブロックを、隣接ブロックとの境界面において節点及び結線の配置が一致するように、適切にメッシュ化することができる。
【0050】
このようにして、全ブロックについてのメッシュ化を完了し、記憶装置20に、処理対象モデルを構成する各ブロックのメッシュモデルが登録されると、演算装置10は、S230で肯定判断して、当該データベース化処理を終了する。
【0051】
また、演算装置10は、ユーザインタフェース50を通じて結合処理の実行指示が入力されると、記憶装置20に記憶されたプログラムに従って、図8に示す結合処理を実行する。尚、実行指示は、個別の解析モデルを生成する必要が生じたときに、ユーザインタフェース50を通じて入力される。この結合処理は、ユーザから指定された結合対象のブロック群に対応する各ブロックのメッシュモデルを結合して、新たなメッシュモデルを生成するための処理である。
【0052】
結合処理を開始すると、演算装置10は、結合対象のブロック群の指定操作を受け付ける(S310)。そして、当該指定操作により結合対象のブロック群が確定すると、S320に移行し、統合節点データに登録する節点の節点番号jを、j=1に初期化し、統合要素データに登録するメッシュ要素の要素番号kを、k=1に初期化する。また、S320では、統合節点データ及び統合要素データを格納する単一又は個別のデータファイルを作成する。
【0053】
尚、統合節点データとは、結合対象のブロック群に対応する各ブロックのメッシュモデルを結合してなる統合メッシュモデルの節点データのことであり、統合要素データとは、この統合メッシュモデルの要素データのことである。
【0054】
結合処理では、統合節点データに、結合対象の各ブロックの節点データに登録された各節点のレコードを登録し、統合要素データに、結合対象の各ブロックの要素データに登録された各メッシュ要素のレコードを登録することで、結合対象の各ブロックの節点データをまとめた統合節点データ及び結合対象の各ブロックの要素データをまとめた統合要素データを生成する。本実施例では、この処理によって、結合対象の各ブロックに対応するメッシュモデルを結合する動作を実現する。
【0055】
但し、データベース化された各ブロックの節点データ及び要素データには、1から始まる連続した節点番号及び要素番号が付されている。また、ブロック境界では、隣接するブロックと節点が重複している。そのため、複数ブロックを統合する場合には、重複する節点を取り除き、節点番号及び要素番号を整序する必要がある。
【0056】
そこで、本実施例の統合節点データ及び統合要素データの生成時には、1から始まる連続した節点番号及び要素番号を、各節点及び各メッシュ要素に再付与する。このような処理を実現するため、S320では、次に統合節点データに登録する節点(レコード)に付与すべき節点番号j及び、次に統合要素データに登録するメッシュ要素(レコード)に付与すべき要素番号kを1に初期化する。
【0057】
S320での処理を終えると、演算装置10は、上記指定された結合対象のブロック群から、処理対象ブロックを一つ選択し(S330)、処理対象ブロックに対応するメッシュモデルのデータ(節点データ及び要素データ)を、記憶装置20においてデータベース化されたメッシュモデル群の中から読み出す(S340)。
【0058】
そして、読み出した処理対象ブロックに対応するメッシュモデルのデータに基づき、節点登録処理及び要素登録処理(S350,S360)を実行する。図9は、節点登録処理を表すフローチャートであり、図10は、要素登録処理を表すフローチャートである。この節点登録処理の実行により、演算装置10は、処理対象ブロックの節点データに登録された各節点のレコードを、統合節点データに登録し、要素登録処理の実行により、処理対象ブロックの要素データに登録された各メッシュ要素のレコードを、統合要素データに登録する。
【0059】
節点登録処理を開始すると、演算装置10は、処理対象ブロックの節点データに登録されたレコード群の内、節点番号が1の先頭レコードを、統合節点データへの登録対象レコードに設定し(S351)、当該登録対象レコードに対応する節点と重複する節点のレコードが既に統合節点データに登録されているか否かを判断する(S352)。ここでの判断は、例えば、登録対象レコードが示す節点の位置座標と、統合節点データに登録された節点の位置座標とを比較することにより実現することができる。
【0060】
そして、登録されていないと判断すると(S352でNo)、演算装置10は、S353に移行し、登録対象レコードを、節点番号jのレコードとして、統合節点データに登録する。即ち、図11(a)に示すように、登録対象レコードが示す節点番号を節点番号jに補正して、この補正後のレコードを、統合節点データに登録する。尚、図11(a)には、統合節点データの生成態様を示す。
【0061】
また、この処理を終えると、演算装置10は、S354に移行し、次に登録するレコードに付与すべき節点番号jを1加算した値に更新する(j←j+1)。更に、S355に移行して、今回登録対象としたレコードの統合節点データへの登録前後(換言すれば、上記補正前後)の節点番号の対応関係を、一時記憶する。
【0062】
一方、登録対象レコードに対応する節点と重複する節点のレコードが既に統合節点データに登録されていると判断すると(S352でYes)、演算装置10は、S353,S354の処理を実行せずに、S355に移行することで、重複する節点のレコードを、統合節点データに登録しないようにする。そして、S355では、今回登録対象としたレコードの節点番号と、統合節点データにおいて既に登録されている重複節点のレコードに付与されている節点番号との対応関係を、一時記憶する。
【0063】
このようにして、登録対象レコードを統合節点データに登録するしないに関わらず、登録対象レコードの節点番号と、統合節点データにおいて対応する節点のレコードに付与されている節点番号との対応関係を一時記憶する。
【0064】
その後、演算装置10は、S356に移行し、登録対象レコードを、処理対象ブロックの節点データに登録されているレコード群の内、現在の登録対象レコードの次の節点番号を有するレコードに切り替える。そして、該当するレコードが存在する場合には(S357でYes)、当該切り替え後の新たな登録対象レコードについて、S352以降の処理を、上述したように実行する。
【0065】
そして、処理対象ブロックの節点データに登録された全レコードについて上述の処理を実行すると、S357で否定判断し、当該節点登録処理を終了する。その後、S360に移行する。
【0066】
一方、S360で要素登録処理を開始すると(図10参照)、演算装置10は、処理対象ブロックの要素データに登録されたレコード群の内、要素番号が1の先頭レコードを、統合要素データへの登録対象レコードに設定する(S361)。そして、登録対象レコードを、図11(b)に示すように、要素番号kのレコードとして、統合節点データに登録する(S362)。即ち、登録対象レコードが示す要素番号を、要素番号kに補正し、この補正後のレコードを、統合要素データに登録する。尚、図11(b)には、統合要素データの生成態様を示す。
【0067】
但し、ここでは、登録対象レコードに記述された要素番号だけでなく、登録対象レコードに記述された節点番号(メッシュ要素を構成する節点の節点番号)についても補正する。即ち、ここでは、節点登録処理のS355で一時記憶された「処理対象ブロックの節点データに登録された各節点の節点番号と、統合節点データに登録されたこれら各節点の節点番号との対応関係」に従って、登録対象レコードに記述された節点番号を、統合節点データにおいて該当節点に再付与された節点番号に補正する。
【0068】
このようにして、S362では、要素番号と共に、登録対象レコードに記述されたメッシュ要素を構成する節点の節点番号を、統合節点データにて用いられている節点番号に補正して、この補正後のレコードを、統合要素データに登録する。
【0069】
また、この処理を終えると、演算装置10は、S363に移行し、次に登録するレコードに付与すべき要素番号kを1加算した値に更新する(k←k+1)。更に、演算装置10は、S364に移行し、登録対象レコードを、処理対象ブロックの要素データに登録されたレコード群の内、現在、登録対象に設定されているレコードの次の要素番号を有するレコードに切り替える。そして、該当するレコードが存在する場合には(S365でYes)、当該切り替え後の新たな登録対象レコードについて、S362以降の処理を、上述したように実行する。
【0070】
そして、処理対象ブロックの要素データに登録された全レコードについて上述の処理を実行すると、S365で否定判断して、当該要素登録処理を終了し、S370に移行する(図8参照)。更に、S370では、結合対象に指定された全ブロックについて、S330〜S360の処理を実行したか否かを判断し、実行していなければ(S370でNo)、S330に移行して、処理対象ブロックを、次ブロックに変更し、S340以降の処理を実行する。
【0071】
このような処理を繰返し実行することで、演算装置10は、結合対象の各ブロックに対応する節点データに登録された各節点のレコードを統合節点データに登録し、結合対象の各ブロックに対応する要素データに登録された各メッシュ要素のレコードを統合要素データに登録して、結合対象の各ブロックに対応するメッシュモデルを結合してなる統合メッシュモデルの節点データ(統合節点データ)及び要素データ(統合要素データ)を完成させる。
【0072】
そして、全ブロックについてS330〜S360の処理を実行した場合には(S370でYes)、統合節点データ及び統合要素データの生成が完了したことになるので、当該生成の完成した統合節点データ及び統合要素データを、統合メッシュモデルのデータとして、ユーザから指定された出力先に出力する(S380)。例えば、ユーザから指定された記憶装置20や磁気ディスク、光ディスク、外部のユーザ端末内の領域に上記完成した統合節点データ及び統合要素データを書き込む。その後、当該結合処理を終了する。
【0073】
尚、図12には、4つの互いに隣接するブロックに対応するメッシュモデルを結合して統合メッシュモデルを生成したときの節点の態様を示す。図12に示すように、統合メッシュモデルにおいては、各ブロックのメッシュモデルにおいて重複する節点が、一つのみ登録され、残りの節点については削除される。
【0074】
以上、本実施例の情報処理システム1について説明したが、この情報処理システム1は、地震波動解析に役立つ。例えば、図4(a)に示すように、国内全域の地質モデルを1ブロック100km四方のブロックに分割し、上記データベース化処理を通じて、この地質モデルのメッシュモデルを、100km四方のブロック単位でデータベース化すれば、結合処理を通じて、図13(a)太線(実線)で囲む地域のメッシュモデルを結合することで、南海・東南海・東海連動地震解析用のメッシュモデルを簡単に生成することができる。また、図13(b)太線(実線)で囲む地域のメッシュモデルを結合することで、南関東地震解析用のメッシュモデルを簡単に生成することができる。この他、図13(c)太線(実線)で囲む地域のブロックのメッシュモデルを単体で用いて、東京湾北部直下地震についての振動解析を行うことも可能である。
【0075】
このように本実施例によれば、大規模な形状モデル(地質モデル)を複数ブロックに分割してメッシュ化し、各ブロックのメッシュモデルをデータベース化し、後日、これらのメッシュモデルの結合により、データベース化された地質モデルの一部領域についてのメッシュモデルを生成することができるので、効率的に多様な領域のメッシュモデルを生成することができて便利である。即ち、過去に生成したメッシュモデルと一部領域が重複するメッシュモデルの生成に際して、従来では、人的労力及び計算労力をかけて、一から新たなメッシュモデルを生成していたが、本実施例では、そのようなことをする必要がなく節点番号や要素番号を整序する程度で、迅速にメッシュモデルを生成することができる。
【0076】
尚、上記実施例と本発明との対応関係は次の通りである。即ち、演算装置10が実行するS130の処理は、本発明の分割手順の一例に対応する。また、演算装置10が実行するS150〜S170,S190〜S210の処理は、本発明の第一生成手順の一例に対応する。また、S180,S220の処理は、本発明の保存手順の一例に対応する。この他、S330,340の処理は、本発明の抽出手順の一例に対応し、S350,S360の処理は、本発明の第二生成手順の一例に対応する。
【0077】
また、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、処理対象モデルを構成する各ブロックを順にメッシュ化したが、各ブロックをメッシュ化する前に、各ブロックの隣接ブロックとの接触面に対し、節点及び結線を設定して拘束面を設定し、その後、各ブロックを並列にメッシュ化して、各ブロックのメッシュモデルを生成するようにしてもよい。このように各ブロックを並列にメッシュ化すれば、より迅速に各ブロックのメッシュモデルを生成することが可能である。この他、本発明は、地質モデルに限定されず、種々の形状モデルに対応するメッシュモデルの生成技術に適用可能である。
【0078】
ところで、上記実施例では、拘束面の設定されたブロックをメッシュ化する必要があるので、このメッシュ化技術として、拘束面の設定されたブロックを四面体要素により自動で分割する技術について、その一例を以下に開示する。
【0079】
<単一の拘束面を有するブロックの四面体要素によるメッシュ化方法>
単一の拘束面を有するブロックを四面体要素でメッシュ化する場合には、図14に示す手順により、このブロックを自動でメッシュ化することができる。但し、ここでは、図15左上に示すように、面P13−P12−P15−P18が拘束面であるものとする。
【0080】
この種のブロック(以下、処理対象ブロックという。)のメッシュ化に際しては、まず、図15左上に示すように、唯一存在する拘束面P13−P12−P15−P18と対向する処理対象ブロックの面P14−P17−P16−P11の四つ角のいずれか一つの節点P11を頂点とする四面体要素であって、拘束面P13−P12−P15−P18に形成された三角形状の各メッシュ要素を底面とする四面体要素(三角錐)によって、処理対象ブロックを分割する(S410)。
【0081】
更に、図15右上に示すように、節点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を頂点とする四面体要素により処理対象ブロックを分割する(S420)。
【0082】
また、図15右下に示すように、節点P11と、節点P12と、節点P14の対角に位置する処理対象ブロックの角の節点P15と、を結ぶ三角形P11−P12−P15の面上に設けられた三角形状の各メッシュ要素と底面する四面体要素であって、節点P13の対角に位置する処理対象ブロックの角の節点P16を頂点とする四面体要素により処理対象ブロックを分割する(S430)。
【0083】
更に、図15左下に示すように、処理対象ブロックにおいて四面体要素に分割されていない四角錐P11−P16−P17−P14−P12の領域を、P11−P17−P12を境界面として二分割して四面体要素に分割する(S440)。このようにして、ここでは、まず処理対象ブロックを簡易に四面体要素でメッシュ化する。
【0084】
この後、図16に示すように処理対象ブロックにおける拘束面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を四面体要素でメッシュ化する(S450)。
【0085】
この後には、互いに直交する非拘束面のペアが共有する処理対象ブロックの各辺(辺P13−P14、辺P17−P12、辺P18−P11、辺P16−P15、辺P14−P11、辺P17−P16、辺P14−P17、及び辺P11−P16の各辺)に沿って、ペアに該当する非拘束面の夫々に付加された第一被覆体Q1の表面に接触する直方体であって第一被覆体Q1との接触面が第一被覆体Q1の面と同サイズの直方体で構成される第二被覆体Q2を付加する。第二被覆体Q2は各角に節点を有するものである。この付加前又は後には、第二被覆体Q2を、第一被覆体Q1との接触面において第一被覆体Q1と節点及び結線が一致するように、四面体要素でメッシュ化する(S460)。
【0086】
具体的には、第二被覆体Q2における第一被覆体Q1に接触する二つの面の内、一方の面に接触する第一被覆体Q1の当該接触面においてS450でのメッシュ化により形成された三角形状の各メッシュ要素を基準にして、第二被覆体Q2を、当該各メッシュ要素を底面に有する三角柱の一群に分割し、これら三角柱の夫々を、他方の面に接触する第一被覆体Q1の当該接触面の結線パターンに合わせて、三つの四面体要素で分割することにより、第二被覆体Q2を六つの四面体要素でメッシュ化する。
【0087】
更に、図16に示すように、拘束面P13−P12−P15−P18に接しない節点P11,P14,P16,P17が設定された角の夫々に、角の周囲に付加される第二被覆体Q2の表面に接触する直方体であって第二被覆体Q2との接触面が第二被覆体Q2の面と同サイズの直方体で構成される第三被覆体Q3を付加し、この付加前又は後には、各角に節点を有する第三被覆体Q3を、第二被覆体Q2との接触面において第二被覆体Q2と節点及び結線が一致するように四面体要素でメッシュ化する(S470)。
【0088】
具体的には、第三被覆体Q3における第二被覆体Q2に接触する三つの面(即ち、第一、第二及び第三の面)の内、第一の面に接触する第二被覆体Q2の当該接触面においてS460でのメッシュ化により形成された三角形状の各メッシュ要素を基準にして、第三被覆体Q3を、当該各メッシュ要素を底面に有する三角柱の一群に分割し、これら三角柱の夫々を、第二及び第三の面に接触する第二被覆体Q2の当該接触面の結線パターンに合わせて、三つの四面体要素により分割することにより、第三被覆体Q3を六つの四面体要素でメッシュ化する。
【0089】
このようにして、処理対象ブロックにおける拘束面P13−P12−P15−P18以外の外周に第一〜第三被覆体Q1,Q2,Q3を付加して、処理対象ブロックと第一〜第三被覆体Q1,Q2,Q3とからなる直方体形状のスーパーボックスを生成する。この時点で、スーパーボックスは、簡易に四面体要素でメッシュ化された状態にされる。
【0090】
図17(a)は、図16に示す処理対象ブロック及び第一〜第三被覆体Q1,Q2,Q3からなるスーパーボックスを、方角Daから見た斜視図であり、図17(b)は、同スーパーボックスを、方角Dbから見た斜視図である。
【0091】
この処理後には、スーパーボックスにおける処理対象ブロックに未設定の節点を設定し、スーパーボックスをDelaunay法に基づき四面体要素で再メッシュ化する(S480)。その後、スーパーボックスから処理対象ブロックを抽出することで(S490)、拘束面における節点及び結線の形状を維持した状態で、処理対象ブロックを四面体要素により自動でメッシュ化する。
【0092】
<直交する二つの拘束面が設定されたブロックの四面体要素によるメッシュ化方法>
直交する二つの拘束面が設定された処理対象ブロックを四面体要素によるメッシュ化する場合には、図18に示す手順により自動でブロックをメッシュ化することができる。以下では、処理対象ブロックの面P27−P23−P22−P26及び面P28−P24−P22−P26(図19参照)が拘束面であるものとして話を進める。但し、図19左上では、拘束面P27−P23−P22−P26における節点及び結線の図示を省略する。
【0093】
まず、二つの拘束面(面P27−P23−P22−P26及び面P28−P24−P22−P26)が共有する辺P22−P26の端点のいずれか一方と対角関係にある処理対象ブロックの角の節点P21を頂点とし、二つの拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割する(S510)。
【0094】
その後、節点P21と、節点P21と対角関係にある処理対象ブロックの角の節点P22と、節点P22を一端とする辺であって二つの拘束面が共有する辺P22−P26とは直交関係にある拘束面の夫々の辺P22−P23及び辺P22−P24において節点P22とは反対側の端点の節点P23,P24と、を結ぶ三角形P21−P22−P23及び三角形P21−P22−P24の夫々の面に形成された三角形状の各メッシュ要素を底面とする四面体要素であって、二つの拘束面が共有する辺P22−P26の端点であって節点P22とは反対側の端点とは対角に位置する処理対象ブロックの角の節点P25を頂点とする四面体要素により処理対象ブロックを分割する(S520)。このようにして、ここでは処理対象ブロックを四面体要素で簡易にメッシュ化する。
【0095】
この後には、処理対象ブロックにおける非拘束面(面P21−P25−P23−P27、面P21−P25−P24−P28、面P21−P27−P26−P28及び面P25−P23−P22−P24)の夫々に、S450の処理と同様の第一被覆体Q1を付加する。付加前又は後には、第一被覆体Q1を、非拘束面との接触面において非拘束面と節点及び結線が一致するように四面体要素でメッシュ化する(S550)。
【0096】
更に、S460の処理と同様、互いに直交する非拘束面のペアが共有する処理対象ブロックの各辺(辺P21−P27、辺P21−P28、辺P21−P25、辺P23−P25及び辺P24−P25の各辺)に沿って、ペアに該当する非拘束面の夫々に付加された第一被覆体Q1の表面に接触する第二被覆体Q2を付加する。また、付加前又は後には、第二被覆体Q2を、第一被覆体Q1との接触面において第一被覆体Q1と節点及び結線が一致するように、四面体要素でメッシュ化する(S560)。
【0097】
更に、S470の処理と同様、二つの拘束面(面P27−P23−P22−P26及び面P28−P24−P22−P26)のいずれにも接しない節点P21,P25が設定された角の夫々に、角の周囲に付加される第二被覆体Q2の表面に接触する第三被覆体Q3を付加する。また、付加前又は後には、第三被覆体Q3を、第二被覆体Q2との接触面において第二被覆体Q2と節点及び結線が一致するように、四面体要素でメッシュ化する(S570)。
【0098】
このようにして、処理対象ブロックには、二つの拘束面(面P27−P23−P22−P26及び面P28−P24−P22−P26)以外の周囲に第一〜第三被覆体Q1,Q2,Q3を付加して、処理対象ブロックと第一〜第三被覆体Q1,Q2,Q3とからなる直方体形状のスーパーボックスであって簡易に四面体要素でメッシュ化したスーパーボックスを生成する(図20参照)。
【0099】
この処理後には、S480の処理と同様、上記スーパーボックスにおける処理対象ブロックに対して未設定の節点を設定して、スーパーボックスをDelaunay法に基づき四面体要素で再メッシュ化する(S580)。
【0100】
その後、スーパーボックスから処理対象ブロックを抽出することで(S590)、拘束面における節点及び結線の形状を維持した状態で、処理対象ブロックを四面体要素により自動でメッシュ化する。
【符号の説明】
【0101】
1…情報処理システム、10…演算装置、20…記憶装置、30…ドライブ装置、40…LANインタフェース、50…ユーザインタフェース、11…CPU、13…RAM
【技術分野】
【0001】
本発明は、形状モデルのメッシュ化に用いられるプログラム、方法及びシステムに関する。
【背景技術】
【0002】
従来、地質モデルを有限要素法により解析することで地震波動解析を行うシステムが知られている(例えば、特許文献1参照)。この種のシステムでは、地質モデルを生成し、地質モデルの領域に地質物性値を定義し、地質モデルにおける地質物性値が定義された領域に地質物性値に応じたメッシュを生成し、メッシュ化された地質モデルを対象に、別途生成した震源モデル及び解析条件に従って有限要素法により地震波動伝播シミュレーションを実行する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−122675号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、従来の地震波動解析では、震源に合わせて、対応する地域の地質モデルを、一からメッシュ化してメッシュモデルを生成している。この手法では、複数の震源についての地震波動解析を行う際に、メッシュモデルを生成する地域が重複する場合であっても、解析対象毎に、地質モデルを一からメッシュ化してメッシュモデルを生成しなければならない。そして、地質モデルのメッシュ化は、大規模であることから非常な労力を伴う。
【0005】
本発明は、こうした問題に鑑みなされたものであり、形状モデルに対応するメッシュモデルの生成を効率的に実現可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するためになされた本発明のプログラムは、コンピュータに、次の分割手順と、第一生成手順と、保存手順と、抽出手順と、第二生成手順とを実行させるためのプログラムである。
【0007】
分割手順は、メッシュ化対象の形状モデルを、複数のブロックに分割する手順である。第一生成手順は、上記分割手順による分割後の複数のブロックを、隣接するブロックとの境界面における節点及び結線が上記隣接するブロックと一致するようにメッシュ化して、複数のブロックの夫々に対応するメッシュモデルを生成する手順である。そして、保存手順は、上記複数のブロックの夫々に対応するメッシュモデルを記憶装置に保存する手順である。本発明によれば、このようにして形状モデルを複数ブロックに分割し、ブロック単位でメッシュモデルを生成して、これを保存する。
【0008】
一方、抽出手順は、入力インタフェースを通じて入力された指定情報に従って、上記記憶装置に保存された複数のブロックの夫々に対応するメッシュモデルの一群から、上記指定情報が示す結合対象のメッシュモデルの一群を抽出する手順である。そして、第二生成手順は、上記抽出手順により抽出された上記結合対象のメッシュモデルの一群を結合することにより、これらメッシュモデルの一群に対応する形状モデルの一部領域についてのメッシュモデルを生成する手順である。具体的に、第二生成手順は、メッシュモデル間で重複する節点を単一の節点を残して削除することにより、上記結合対象のメッシュモデルの一群を結合する手順とすることができる。
【0009】
本発明によれば、このようにしてブロック単位で生成したメッシュモデルを結合することにより、入力インタフェースを通じて入力された指定情報に従う形状モデルの一部領域についてのメッシュモデルを生成する。従って、本発明のプログラムを用いれば、特に大規模な形状モデルに対応するメッシュモデルを効率的に生成することができる。
【0010】
従来では、形状モデルをブロック単位で細分化し、境界面での節点及び結線が一致するように、各ブロックの形状モデルをメッシュ化することが難しかった。このため、これら各ブロックのメッシュモデルをデータベース化する思想自体がなく、既存のメッシュモデルとは一部エリアの重複する形状モデルのメッシュモデルを新たに生成する際に、既存のメッシュモデルを有効活用することができなかった。
【0011】
即ち、メッシュモデルを生成する対象の形状モデルが大規模で、地層構造を表す形状モデル(地質モデル)のように物性に応じた要素サイズの切り替え等が必要な複雑な構造を採る形状モデルの場合には、既存のメッシュモデルを有効活用しようとしても、節点と結線とが一致しないために異なるメッシュモデル間を繋げることができず、更には、既存のメッシュモデルを補正して利用するのが困難で、既存のメッシュモデルと一部重複するエリアを有する形状モデルのメッシュモデルを生成する際にも、一からこれを生成しなければならなかった。
【0012】
一方、本発明によれば、上述のように隣接ブロック間で節点と結線が一致するようにして、ブロック単位でメッシュモデルをデータベース化することができるので、各ブロックのメッシュモデルを簡単に結合して、大規模なメッシュモデルを効率的に生成することができる。また、部分モデルを迅速に生成することができるといった利点もある。例えば、本発明を用いて、国内全域の地層構造を表す形状モデル(地質モデル)についてのメッシュモデルを、ブロック単位で生成し、これを記憶装置に保存してデータベース化すれば、個別の震源毎に、地震波動解析するのに必要な地域のメッシュモデルを、データベース化されたブロック単位のメッシュモデルの結合により効率的に生成することができる。従って、本発明のプログラムは、地震波動解析等に大変役立つ。また、本発明によれば、形状モデルをブロック単位で分割してメッシュ化するので、形状モデルを分割せずにメッシュ化する場合と比較して、コンピュータに必要な演算能力やリソースを抑えることができるといった利点もある。
【0013】
ところで、第一生成手順及び第二生成手順におけるメッシュモデルの生成は、メッシュモデルを表すデータを生成するといった具体的手順によって実現することができる。例えば、第一生成手順は、ブロック毎に、当該ブロックのメッシュモデルを表すデータとして、このメッシュモデルを構成する各節点の属性情報を記述した節点データ、及び、このメッシュモデルを構成する各メッシュ要素の属性情報を記述した要素データを生成する手順とすることができる。節点データには、各節点の属性情報として、各節点の識別コード及び位置座標を記述することができ、要素データには、各メッシュ要素の属性情報として、各メッシュ要素を構成する節点及び結線の情報を、上記節点の識別コードを用いて記述することができる。
【0014】
また、第二生成手順は、結合対象のメッシュモデルの一群に対応する節点データの一群をまとめてなる節点データである統合節点データ、及び、結合対象のメッシュモデルの一群に対応する要素データの一群をまとめてなる要素データである統合要素データを生成することにより、上記形状モデルの一部領域についてのメッシュモデルを表すデータを生成する手順とすることができる。統合節点データには、結合対象のメッシュモデル間で重複する節点の属性情報を統合節点データに重複登録しないようにして節点データの一群に登録された各節点の属性情報を登録し、統合要素データには、要素データの一群に登録された各メッシュ要素の属性情報を登録するといった具合である。
【0015】
また、メッシュモデルを構成する各節点に対しては、上記識別コードとしてシーケンシャルな番号を付与することが考えられるが、このような手法で、各ブロックのメッシュモデルについての節点データを生成する場合等には、例えば、ブロック毎に、このブロック内の節点に対して識別番号が1から順に付されることになるため、統合節点データの生成時に、各節点に対して識別コードの再付与(割り当て)が必要になる。そこで、第二生成手順は、次のような手順とされるとよい。
【0016】
即ち、第二生成手順は、統合節点データに各節点の属性情報を登録する際、各節点に対して識別コードを再付与し、各節点の再付与後の識別コード及び位置座標を、各節点の属性情報として統合節点データに記述する一方、統合要素データに各メッシュ要素の属性情報を登録する際、各メッシュ要素の属性情報の記述に用いる節点の識別コードを再付与後の識別コードに補正することで、再付与後の識別コードを用いて節点及び結線の情報を記述してなる各メッシュ要素の属性情報を統合要素データに登録する手順とすることができる。このようにすれば、統合節点データ及び統合要素データを適切に生成することができる。
【0017】
また、本発明のプログラムによれば、上述したようにメッシュ化対象の形状モデルが国内全域等の所定地域(特に広域)の地層構造を表す形状モデルである場合に、その効果が特に有効に発揮される。この他、本発明は、地震波動解析の分野に限らず様々な分野にで、節点数及び要素数が大規模な有限要素モデルをブロック分割により生成したり、部分モデルを生成したりするのに役立つ。
【0018】
また、本発明のプログラムは、光ディスクや磁気ディスク、半導体製メモリ等の記録媒体に記録してユーザに提供することができる。更に、上述したプログラムの発明に対応する技術的思想は、メッシュモデル生成方法やメッシュモデル生成システムの発明にも適用することができる。
【図面の簡単な説明】
【0019】
【図1】情報処理システム1の構成を表すブロック図である。
【図2】演算装置10が実行するデータベース化処理を表すフローチャートである。
【図3】メッシュ化対象モデルの分割方法に関する説明図である。
【図4】国内全域の地質モデルに対するブロック化のパターンを示した図である。
【図5】各ブロックのメッシュ化順を示した図である。
【図6】節点データ及び要素データの構成を表す図である。
【図7】隣接ブロックとの境界面における節点及び結線の配置を示した図である。
【図8】演算装置10が実行する結合処理を表すフローチャートである。
【図9】演算装置10が実行する節点登録処理を表すフローチャートである。
【図10】演算装置10が実行する要素登録処理を表すフローチャートである。
【図11】統合節点データ及び統合要素データの作成方法及び構成を表す図である。
【図12】メッシュモデルの結合態様を示した図である。
【図13】地震波動解析に際してのブロックの結合例を示した図である。
【図14】拘束面が一つであるときのメッシュ化手順を示すフローチャートである。
【図15】拘束面が一つであるときの初期メッシュ生成態様を示した図である。
【図16】スーパーボックスの生成例を示した図である。
【図17】拘束面が一つであるときのスーパーボックスの構成図である。
【図18】拘束面が二つであるときのメッシュ化手順を示すフローチャートである。
【図19】拘束面が二つであるときの初期メッシュ生成態様を示した図である。
【図20】拘束面が二つであるときのスーパーボックスの構成図である。
【発明を実施するための形態】
【0020】
以下に本発明の実施例について、図面と共に説明する。
図1に示す本実施例の情報処理システム1は、与えられた形状モデルの一部領域についてのメッシュモデルを、ユーザからの指示に従って生成する機能をプログラムの実行により実現するものである。この情報処理システム1は、ユーザからの指示に従って、上記形状モデルを表すモデルデータとして、外部からメッシュ化対象の地質モデルを定義するモデルデータを取得し、このモデルデータが表す地質モデルを複数ブロックに分割して、隣接ブロックにおける節点及び結線のパターンが一致するように、各ブロックをメッシュ化する。これによって、上記与えられた形状モデルとしての地質モデルに対応するメッシュモデルを、ブロック単位で生成し、これを記憶装置20に保存することで、地質モデルに対応するメッシュモデルを、ブロック単位のデータとしてデータベース化する。
【0021】
その後、ユーザから結合対象のブロック群が指定されると、指定されたブロック群に対応する各ブロックのメッシュモデルを結合して、上記地質モデルの一部領域についてのメッシュモデルを生成する。上記地質モデルとしては、国内全域の地層構造を表す地質モデルを挙げることができ、これをブロック単位でメッシュ化してデータベース化することで、国内の一部地域についての地質モデルに対応したメッシュモデルを上記データベース化されたメッシュモデルを利用して効率的に生成することができる。
【0022】
このような機能を有する情報処理システム1の詳細構成を以下に説明する。本実施例の情報処理システム1は、図1に示すように、演算装置10と、記憶装置20と、ドライブ装置30と、LANインタフェース40と、ユーザインタフェース50とを備える。演算装置10は、各種プログラムを実行するCPU11及びCPU11によるプログラム実行時に作業領域として使用されるRAM13等から構成され、記憶装置20は、CPU11が実行する各種プログラムやプログラム実行時に使用される各種データを記憶する。この記憶装置20は、例えばハードディスク装置で構成される。
【0023】
ドライブ装置30は、磁気ディスクや光ディスクに書き込まれたデータを読取可能且つ磁気ディスクや光ディスクに対してデータを書込可能な装置であり、LANインタフェース40は、LANに接続されたノードと通信可能なインタフェースである。
【0024】
情報処理システム1は、例えばドライブ装置30を通じて、磁気ディスクや光ディスクが記憶する上記モデルデータを取得する。この他、情報処理システム1は、LANインタフェース40を通じてLANに接続されたユーザ端末から上記モデルデータを取得することができる。
【0025】
ユーザインタフェース50は、キーボードやポインティングデバイス等から構成され、情報処理システム1は、このユーザインタフェース50を通じて入力されるユーザからの指示に従って、モデルデータを取得し、このモデルデータに基づいて、モデルデータが表す地質モデルを複数ブロックに分割し、各ブロックを、隣接ブロックにおける節点及び結線のパターンが一致するようにメッシュ化する。そして、ブロック毎に、このブロックに対応するメッシュモデルのデータを記憶装置20に保存して、上記モデルデータに対応する地質モデルのメッシュモデルを、ブロック単位のデータとしてデータベース化する。
【0026】
具体的に、演算装置10は、ユーザインタフェース50を通じてデータベース化の実行指示が入力されると、記憶装置20に記憶されたプログラムに従って、図2に示すデータベース化処理を実行する。
【0027】
データベース化処理を開始すると、演算装置10は、ユーザインタフェース50を通じてモデルデータの指定操作を受け付け、この操作により指定されたモデルデータを取得する。例えば、ドライブ装置30やLANインタフェース40を通じてモデルデータを取得する。この他、記憶装置20にモデルデータが書き込まれている場合には、記憶装置20からモデルデータを読み出すことによって、上記指定されたモデルデータを取得する。そして、取得したモデルデータが表す地質モデルを処理対象モデルに設定する(S110)。尚、ここで言う地質モデルは、所定地域(例えば国内全域)の地層構造を表すモデルであり、本実施例のモデルデータには、地質モデルの外形を表す情報と共に、地層境界毎に、当該地層境界の各地点の位置座標が記述される。即ち、本実施例のモデルデータは、地質モデルの外形と各地層の形状とが記述されたデータとして構成される。
【0028】
演算装置10は、S110の処理後、ユーザインタフェース50を通じて、処理対象モデルの分割サイズについての指定操作を受け付ける(S120)。本実施例では、処理対象モデルを、図3に示すように碁盤の目のように二方向に分割してブロック化するが、ここでは、分割後のブロックサイズを指定する情報の入力操作を、ユーザインタフェース50を通じて受け付ける。具体的に、ブロックサイズとしては、ブロック一辺の長さの入力操作を受け付ければよい。尚、本実施例では、説明を簡単にするため、図3に示すように処理対象モデルを深さ方向には分割しないものとする。
【0029】
そして、分割サイズの指定操作がなされると、処理対象モデルを、指定されたブロックサイズのブロック群に分割する(S130)。即ち、処理対象モデルを複数ブロックに区画化して各ブロックの境界を決定し、この各ブロックの境界の位置情報をブロックの分布に関するマップデータとして記憶装置20に記憶保持する。
【0030】
図4は、国内全域の地質モデルに対するブロック化のパターンを示した図であり、図4(a)は、ブロックの一辺を100kmとしたときのブロック化の態様を示す図であり、図4(b)は、ブロックの一辺を200kmとしたときのブロック化の態様を示す図である。
【0031】
尚、遠方海域等のメッシュ化の必要がない領域については、この領域をブロック化及びメッシュ化の対象から外せばよい。この他、処理対象モデルの内、ブロック分割する領域をユーザに指定させて、指定されなかった領域についてはブロック化及びメッシュ化の対象から外してもよい。
【0032】
S130での処理を終えると、演算装置10は、S140に移行し、ブロック毎に、各地層の物性情報(後述する物性番号)及びメッシュ要素についてのサイズ(以下、要素サイズという。)情報の入力操作を受け付ける。S140における各ブロック及び各地層の物性情報・要素サイズ情報の入力が完了すると、演算装置10は、続くS150にて、処理対象モデルを構成するブロック群の内、所定規則に従う第1ブロックを、処理対象ブロックに選択する。
【0033】
本実施例では、図5に示すように、ブロックの互いに直交する二つの配列方向(以下、Ax方向及びAy方向とする。)を基準に、処理対象ブロックの選択規則が定められている。図5(a)に示す各ブロック内の数字は、ブロックの選択順を表す数字である。説明を簡単にするため、以下では、図5(a)に示すように、処理対象モデルが10個のブロックに分割された場合の選択規則について説明する。
【0034】
本実施例では、Ax方向及びAy方向の最上流側地点に位置するブロックを第1ブロックとして、この第1ブロックを基準にAx方向に配列されたブロック列の各ブロックを、その配列順に処理対象ブロックとして選択する。そして、Ax方向下流末端のブロックを処理対象ブロックとして選択した後には、Ay方向下流において隣接するブロック列の各ブロックを、Ax方向の最も上流側地点に位置するブロックからAx方向配列順に処理対象ブロックとして選択する。このような選択規則により、本実施例では、各ブロックを順次処理対象ブロックに選択する。尚、このように処理対象ブロックを順に選択するのは、後述する処理で、処理対象ブロックのメッシュ化を簡単にするためである。
【0035】
このような選択規則に従って第1ブロックを処理対象ブロックに選択すると、演算装置10は、続くS160にて上記モデルデータから第1ブロックに対応するエリアのデータを抽出し、この抽出データに基づき、第1ブロックを、地層毎に、当該地層に対して指定されたメッシュ要素のサイズでメッシュ化する(S170)。尚、各地層は、四面体要素や六面体要素によりメッシュ化することができるが、近似精度が良く同じ体積での要素数が少なくて済むので、各地層を六面体要素によりメッシュ化するのが好ましい。但し、各地層を六面体要素によりメッシュ化する場合には、地層毎に用いる要素サイズが異なるため、例えば、地層境界周辺については、五面体要素及び四面体要素によりメッシュ化して、異なるサイズの六面体要素を接続することになり、メッシュ生成がかなり複雑となる。一方、四面体要素によりメッシュ化する場合には、要素数が多くなるものの、メッシュ生成が六面体要素を用いる場合と比べると易しいといった利点がある。
【0036】
また、処理対象ブロックのメッシュ化に際しては、処理対象ブロックに対応するメッシュモデルのデータとして、当該メッシュ化後の処理対象ブロック(メッシュモデル)が有する各節点の属性情報を記述した節点データ及び各メッシュ要素の属性情報を記述した要素データを生成する。ここでは、上記節点データ及び上記要素データの実体として、上記節点データ及び上記要素データを格納した単一のデータファイル、又は、節点データ及び要素データの夫々を格納した個別のデータファイルを生成する。
【0037】
ここで、節点データの構成について説明する。節点データは、図6(a)に示すように、メッシュモデルを構成する節点毎に、節点番号と節点の位置座標(X座標、Y座標、Z座標)とが記述されたレコードを有する。図6(a)は、節点データの構成を表す図である。同一メッシュモデル内の各節点には、通常、先頭レコードから順に「1,2,3,…」と1から始まる連続した番号が節点番号として割り当てられる。尚、割り当てに際し、欠番は許容されるが、重複は許容されない。
【0038】
一方、要素データは、メッシュモデルを構成するメッシュ要素毎に、要素番号と、物性番号と、要素タイプと、メッシュ要素を構成する節点の節点番号と、が記述されたレコードを有するものである。図6(b)は、要素データの構成を表す図である。図6(b)に示すように、各メッシュ要素には、節点番号と同様、先頭レコードから順に「1,2,3,…」と1から始まる連続した番号が要素番号として割り当てられる。
【0039】
各メッシュ要素のレコードに記述される物性番号は、該当メッシュ要素の物性を定義するものである。本実施例の情報処理システム1にて生成されたメッシュモデルを用いた地震波動解析の際には、物性番号と、その物性番号に対応する物性の詳細情報とが記述された物性テーブルが参照される。即ち、物性番号は、地震波動解析の際に用いるべき物性の詳細情報を有する物性テーブルの参照先を表す番号である。この意味で、要素データにおいて各メッシュ要素に対して記述される物性番号は、該当メッシュ要素の物性を定義するものと言える。尚、物性テーブルに記述される各物性番号に対応する物性の詳細情報としては、S波速度、P波速度、密度、S波Q値及びP波Q値等を挙げることができる。
【0040】
また、各メッシュ要素のレコードに記述される要素タイプは、該当メッシュ要素の形状を示すものであり、四面体要素、ピラミッド(四角錐)要素、プリズム(三角柱)要素、及び、六面体要素のいずれかを表す。この他、各メッシュ要素のレコードには、該当メッシュ要素を構成する各節点の節点番号が、節点間の結線パターンに対応する配列順で記述される。即ち、各メッシュ要素における節点間の結線パターンに関する情報は、この節点番号の配列順の情報としてレコードに記述される。例えば、四面体要素の節点番号列については、節点番号列の先頭の節点を基準に、残りの節点により構成される三角形を右回りに回るように各節点の節点番号を配列して、生成することができる。
【0041】
S170の処理で、このような構成の要素データ及び節点データを生成すると、演算装置10は、当該生成した要素データ及び節点データを、今回の処理対象ブロック(第1ブロック)に対応するメッシュモデルのデータとして、記憶装置20に登録(保存)する(S180)。各ブロックに対応する節点データ及び要素データの記憶装置20への登録方法としては、例えば、記憶装置20に、ブロックの識別番号を用いた処理対象モデルを構成する各ブロックの分布(空間配置)に関するデータを登録しておく一方、記憶装置20には、各ブロックの要素データ及び節点データを、該当ブロックの識別番号を付して登録する方法が挙げられる。この他、各ブロックの要素データ及び節点データを、ブロックの識別番号に対応する配列で記憶装置20に登録する方法が挙げられる。
【0042】
この処理を終えると、演算装置10は、処理対象ブロックを、上述の選択規則に従う次ブロックに切り替え(S190)、S160での処理と同様に、上記モデルデータから、切り替え後の処理対象ブロックに対応するエリアのデータを抽出し(S200)、この抽出データに基づいて、当該処理対象ブロックを、各地層に対応するサイズのメッシュ要素にてメッシュ化する。これによって、処理対象ブロックに対応するメッシュモデルのデータ(上記節点データ及び要素データ)を生成する(S210)。
【0043】
但し、メッシュ化に際しては、処理対象ブロックにおける既にメッシュ化の完了した隣接ブロックとの境界面に対し、隣接ブロックと同一のパターンで節点及び結線を配置して、拘束面を設定する。即ち、S210では、図7に示すように、隣接ブロックとの境界面において、隣接ブロックと同一位置に節点を設定し、更にこれら節点間に、隣接ブロックの同一パターンの結線を設定することで、上記境界面を拘束面に設定する。そして、この拘束面における節点及び結線の配置を崩さないようにして、処理対象ブロックのメッシュ化を行って、当該処理対象ブロックに対応するメッシュモデルのデータ(上記節点データ及び要素データ)を生成する(S210)。これによって、隣接ブロックとの境界面において節点及び結線の一致するメッシュモデルを生成する。尚、このようなメッシュモデルは、ユーザとの対話により生成されてよいが、大規模なメッシュモデルに関しては、ユーザとの対話によりメッシュモデルを生成すると膨大な時間がかかるので、ユーザとの対話なしに自動的に生成されるのが好ましい。
【0044】
その後、演算装置10は、S180での処理と同様、S210の処理で生成した処理対象ブロックに対応するメッシュモデルのデータ(要素データ及び節点データ)を記憶装置20に保存(登録)する(S220)。そして、処理対象モデルを構成する全ブロックについて、これらブロックをメッシュ化し、当該ブロックのメッシュモデルのデータを記憶装置20に保存したか否かを判断する(S230)。
【0045】
ここで、全ブロックについて保存していないと判断すると(S230でNo)、演算装置10は、S190に移行し、処理対象ブロックを上述の選択規則に従う次ブロックに切り替えて、S200以降の処理を上述したように実行する。
【0046】
このようにして、選択規則に従う順序で処理対象モデルを構成する各ブロックを順次メッシュ化し、このメッシュモデルのデータを記憶装置20に登録する。これによって、本実施例では、記憶装置20に、境界面での節点及び結線のパターンが隣接ブロックのメッシュモデルと一致する処理対象モデルを構成する各ブロックのメッシュモデルを登録する。この結果、記憶装置20には、処理対象モデルに対応するメッシュモデルが、ブロック単位のデータとしてデータベース化される。
【0047】
尚、本実施例では、上述した選択規則に従う順序で各ブロックをメッシュ化する結果、S210でのメッシュ化に際して設定される拘束面は、1つ又は2つに限定される。図5(b)は、図5(a)に示す処理対象モデルを構成する各ブロックを処理対象ブロックに設定してメッシュ化する際の拘束面を示す図であり、処理対象ブロックを、塗り潰しブロックにて表現し、メッシュ化の完了したブロックを、非塗り潰しブロックにて表現し、拘束面を太線にて表現したものである。
【0048】
図5(b)に示すように、処理対象ブロックとして第2ブロック(図5において数字「2」が記されたブロック)をメッシュ化する場合には、第1ブロックとの境界面を拘束面に設定して、当該拘束面における節点及び結線の配置を崩さないように処理対象ブロックのメッシュ化を行う。また、処理対象ブロックとして第5ブロック(図5において数字「5」が記されたブロック)をメッシュ化する場合には、第2ブロックとの境界面及び第4ブロックとの境界面を拘束面に設定して、当該拘束面における節点及び結線の配置を崩さないように処理対象ブロックのメッシュ化を行う。
【0049】
本実施例の選択規則にて、処理対象モデルを構成する各ブロックを処理対象ブロックに選択してメッシュ化を行うと、図5(b)から理解できるように、拘束面は、たかだか1つ又は2つで済み、非拘束面を調整シロとして各ブロックを、隣接ブロックとの境界面において節点及び結線の配置が一致するように、適切にメッシュ化することができる。
【0050】
このようにして、全ブロックについてのメッシュ化を完了し、記憶装置20に、処理対象モデルを構成する各ブロックのメッシュモデルが登録されると、演算装置10は、S230で肯定判断して、当該データベース化処理を終了する。
【0051】
また、演算装置10は、ユーザインタフェース50を通じて結合処理の実行指示が入力されると、記憶装置20に記憶されたプログラムに従って、図8に示す結合処理を実行する。尚、実行指示は、個別の解析モデルを生成する必要が生じたときに、ユーザインタフェース50を通じて入力される。この結合処理は、ユーザから指定された結合対象のブロック群に対応する各ブロックのメッシュモデルを結合して、新たなメッシュモデルを生成するための処理である。
【0052】
結合処理を開始すると、演算装置10は、結合対象のブロック群の指定操作を受け付ける(S310)。そして、当該指定操作により結合対象のブロック群が確定すると、S320に移行し、統合節点データに登録する節点の節点番号jを、j=1に初期化し、統合要素データに登録するメッシュ要素の要素番号kを、k=1に初期化する。また、S320では、統合節点データ及び統合要素データを格納する単一又は個別のデータファイルを作成する。
【0053】
尚、統合節点データとは、結合対象のブロック群に対応する各ブロックのメッシュモデルを結合してなる統合メッシュモデルの節点データのことであり、統合要素データとは、この統合メッシュモデルの要素データのことである。
【0054】
結合処理では、統合節点データに、結合対象の各ブロックの節点データに登録された各節点のレコードを登録し、統合要素データに、結合対象の各ブロックの要素データに登録された各メッシュ要素のレコードを登録することで、結合対象の各ブロックの節点データをまとめた統合節点データ及び結合対象の各ブロックの要素データをまとめた統合要素データを生成する。本実施例では、この処理によって、結合対象の各ブロックに対応するメッシュモデルを結合する動作を実現する。
【0055】
但し、データベース化された各ブロックの節点データ及び要素データには、1から始まる連続した節点番号及び要素番号が付されている。また、ブロック境界では、隣接するブロックと節点が重複している。そのため、複数ブロックを統合する場合には、重複する節点を取り除き、節点番号及び要素番号を整序する必要がある。
【0056】
そこで、本実施例の統合節点データ及び統合要素データの生成時には、1から始まる連続した節点番号及び要素番号を、各節点及び各メッシュ要素に再付与する。このような処理を実現するため、S320では、次に統合節点データに登録する節点(レコード)に付与すべき節点番号j及び、次に統合要素データに登録するメッシュ要素(レコード)に付与すべき要素番号kを1に初期化する。
【0057】
S320での処理を終えると、演算装置10は、上記指定された結合対象のブロック群から、処理対象ブロックを一つ選択し(S330)、処理対象ブロックに対応するメッシュモデルのデータ(節点データ及び要素データ)を、記憶装置20においてデータベース化されたメッシュモデル群の中から読み出す(S340)。
【0058】
そして、読み出した処理対象ブロックに対応するメッシュモデルのデータに基づき、節点登録処理及び要素登録処理(S350,S360)を実行する。図9は、節点登録処理を表すフローチャートであり、図10は、要素登録処理を表すフローチャートである。この節点登録処理の実行により、演算装置10は、処理対象ブロックの節点データに登録された各節点のレコードを、統合節点データに登録し、要素登録処理の実行により、処理対象ブロックの要素データに登録された各メッシュ要素のレコードを、統合要素データに登録する。
【0059】
節点登録処理を開始すると、演算装置10は、処理対象ブロックの節点データに登録されたレコード群の内、節点番号が1の先頭レコードを、統合節点データへの登録対象レコードに設定し(S351)、当該登録対象レコードに対応する節点と重複する節点のレコードが既に統合節点データに登録されているか否かを判断する(S352)。ここでの判断は、例えば、登録対象レコードが示す節点の位置座標と、統合節点データに登録された節点の位置座標とを比較することにより実現することができる。
【0060】
そして、登録されていないと判断すると(S352でNo)、演算装置10は、S353に移行し、登録対象レコードを、節点番号jのレコードとして、統合節点データに登録する。即ち、図11(a)に示すように、登録対象レコードが示す節点番号を節点番号jに補正して、この補正後のレコードを、統合節点データに登録する。尚、図11(a)には、統合節点データの生成態様を示す。
【0061】
また、この処理を終えると、演算装置10は、S354に移行し、次に登録するレコードに付与すべき節点番号jを1加算した値に更新する(j←j+1)。更に、S355に移行して、今回登録対象としたレコードの統合節点データへの登録前後(換言すれば、上記補正前後)の節点番号の対応関係を、一時記憶する。
【0062】
一方、登録対象レコードに対応する節点と重複する節点のレコードが既に統合節点データに登録されていると判断すると(S352でYes)、演算装置10は、S353,S354の処理を実行せずに、S355に移行することで、重複する節点のレコードを、統合節点データに登録しないようにする。そして、S355では、今回登録対象としたレコードの節点番号と、統合節点データにおいて既に登録されている重複節点のレコードに付与されている節点番号との対応関係を、一時記憶する。
【0063】
このようにして、登録対象レコードを統合節点データに登録するしないに関わらず、登録対象レコードの節点番号と、統合節点データにおいて対応する節点のレコードに付与されている節点番号との対応関係を一時記憶する。
【0064】
その後、演算装置10は、S356に移行し、登録対象レコードを、処理対象ブロックの節点データに登録されているレコード群の内、現在の登録対象レコードの次の節点番号を有するレコードに切り替える。そして、該当するレコードが存在する場合には(S357でYes)、当該切り替え後の新たな登録対象レコードについて、S352以降の処理を、上述したように実行する。
【0065】
そして、処理対象ブロックの節点データに登録された全レコードについて上述の処理を実行すると、S357で否定判断し、当該節点登録処理を終了する。その後、S360に移行する。
【0066】
一方、S360で要素登録処理を開始すると(図10参照)、演算装置10は、処理対象ブロックの要素データに登録されたレコード群の内、要素番号が1の先頭レコードを、統合要素データへの登録対象レコードに設定する(S361)。そして、登録対象レコードを、図11(b)に示すように、要素番号kのレコードとして、統合節点データに登録する(S362)。即ち、登録対象レコードが示す要素番号を、要素番号kに補正し、この補正後のレコードを、統合要素データに登録する。尚、図11(b)には、統合要素データの生成態様を示す。
【0067】
但し、ここでは、登録対象レコードに記述された要素番号だけでなく、登録対象レコードに記述された節点番号(メッシュ要素を構成する節点の節点番号)についても補正する。即ち、ここでは、節点登録処理のS355で一時記憶された「処理対象ブロックの節点データに登録された各節点の節点番号と、統合節点データに登録されたこれら各節点の節点番号との対応関係」に従って、登録対象レコードに記述された節点番号を、統合節点データにおいて該当節点に再付与された節点番号に補正する。
【0068】
このようにして、S362では、要素番号と共に、登録対象レコードに記述されたメッシュ要素を構成する節点の節点番号を、統合節点データにて用いられている節点番号に補正して、この補正後のレコードを、統合要素データに登録する。
【0069】
また、この処理を終えると、演算装置10は、S363に移行し、次に登録するレコードに付与すべき要素番号kを1加算した値に更新する(k←k+1)。更に、演算装置10は、S364に移行し、登録対象レコードを、処理対象ブロックの要素データに登録されたレコード群の内、現在、登録対象に設定されているレコードの次の要素番号を有するレコードに切り替える。そして、該当するレコードが存在する場合には(S365でYes)、当該切り替え後の新たな登録対象レコードについて、S362以降の処理を、上述したように実行する。
【0070】
そして、処理対象ブロックの要素データに登録された全レコードについて上述の処理を実行すると、S365で否定判断して、当該要素登録処理を終了し、S370に移行する(図8参照)。更に、S370では、結合対象に指定された全ブロックについて、S330〜S360の処理を実行したか否かを判断し、実行していなければ(S370でNo)、S330に移行して、処理対象ブロックを、次ブロックに変更し、S340以降の処理を実行する。
【0071】
このような処理を繰返し実行することで、演算装置10は、結合対象の各ブロックに対応する節点データに登録された各節点のレコードを統合節点データに登録し、結合対象の各ブロックに対応する要素データに登録された各メッシュ要素のレコードを統合要素データに登録して、結合対象の各ブロックに対応するメッシュモデルを結合してなる統合メッシュモデルの節点データ(統合節点データ)及び要素データ(統合要素データ)を完成させる。
【0072】
そして、全ブロックについてS330〜S360の処理を実行した場合には(S370でYes)、統合節点データ及び統合要素データの生成が完了したことになるので、当該生成の完成した統合節点データ及び統合要素データを、統合メッシュモデルのデータとして、ユーザから指定された出力先に出力する(S380)。例えば、ユーザから指定された記憶装置20や磁気ディスク、光ディスク、外部のユーザ端末内の領域に上記完成した統合節点データ及び統合要素データを書き込む。その後、当該結合処理を終了する。
【0073】
尚、図12には、4つの互いに隣接するブロックに対応するメッシュモデルを結合して統合メッシュモデルを生成したときの節点の態様を示す。図12に示すように、統合メッシュモデルにおいては、各ブロックのメッシュモデルにおいて重複する節点が、一つのみ登録され、残りの節点については削除される。
【0074】
以上、本実施例の情報処理システム1について説明したが、この情報処理システム1は、地震波動解析に役立つ。例えば、図4(a)に示すように、国内全域の地質モデルを1ブロック100km四方のブロックに分割し、上記データベース化処理を通じて、この地質モデルのメッシュモデルを、100km四方のブロック単位でデータベース化すれば、結合処理を通じて、図13(a)太線(実線)で囲む地域のメッシュモデルを結合することで、南海・東南海・東海連動地震解析用のメッシュモデルを簡単に生成することができる。また、図13(b)太線(実線)で囲む地域のメッシュモデルを結合することで、南関東地震解析用のメッシュモデルを簡単に生成することができる。この他、図13(c)太線(実線)で囲む地域のブロックのメッシュモデルを単体で用いて、東京湾北部直下地震についての振動解析を行うことも可能である。
【0075】
このように本実施例によれば、大規模な形状モデル(地質モデル)を複数ブロックに分割してメッシュ化し、各ブロックのメッシュモデルをデータベース化し、後日、これらのメッシュモデルの結合により、データベース化された地質モデルの一部領域についてのメッシュモデルを生成することができるので、効率的に多様な領域のメッシュモデルを生成することができて便利である。即ち、過去に生成したメッシュモデルと一部領域が重複するメッシュモデルの生成に際して、従来では、人的労力及び計算労力をかけて、一から新たなメッシュモデルを生成していたが、本実施例では、そのようなことをする必要がなく節点番号や要素番号を整序する程度で、迅速にメッシュモデルを生成することができる。
【0076】
尚、上記実施例と本発明との対応関係は次の通りである。即ち、演算装置10が実行するS130の処理は、本発明の分割手順の一例に対応する。また、演算装置10が実行するS150〜S170,S190〜S210の処理は、本発明の第一生成手順の一例に対応する。また、S180,S220の処理は、本発明の保存手順の一例に対応する。この他、S330,340の処理は、本発明の抽出手順の一例に対応し、S350,S360の処理は、本発明の第二生成手順の一例に対応する。
【0077】
また、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、処理対象モデルを構成する各ブロックを順にメッシュ化したが、各ブロックをメッシュ化する前に、各ブロックの隣接ブロックとの接触面に対し、節点及び結線を設定して拘束面を設定し、その後、各ブロックを並列にメッシュ化して、各ブロックのメッシュモデルを生成するようにしてもよい。このように各ブロックを並列にメッシュ化すれば、より迅速に各ブロックのメッシュモデルを生成することが可能である。この他、本発明は、地質モデルに限定されず、種々の形状モデルに対応するメッシュモデルの生成技術に適用可能である。
【0078】
ところで、上記実施例では、拘束面の設定されたブロックをメッシュ化する必要があるので、このメッシュ化技術として、拘束面の設定されたブロックを四面体要素により自動で分割する技術について、その一例を以下に開示する。
【0079】
<単一の拘束面を有するブロックの四面体要素によるメッシュ化方法>
単一の拘束面を有するブロックを四面体要素でメッシュ化する場合には、図14に示す手順により、このブロックを自動でメッシュ化することができる。但し、ここでは、図15左上に示すように、面P13−P12−P15−P18が拘束面であるものとする。
【0080】
この種のブロック(以下、処理対象ブロックという。)のメッシュ化に際しては、まず、図15左上に示すように、唯一存在する拘束面P13−P12−P15−P18と対向する処理対象ブロックの面P14−P17−P16−P11の四つ角のいずれか一つの節点P11を頂点とする四面体要素であって、拘束面P13−P12−P15−P18に形成された三角形状の各メッシュ要素を底面とする四面体要素(三角錐)によって、処理対象ブロックを分割する(S410)。
【0081】
更に、図15右上に示すように、節点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を頂点とする四面体要素により処理対象ブロックを分割する(S420)。
【0082】
また、図15右下に示すように、節点P11と、節点P12と、節点P14の対角に位置する処理対象ブロックの角の節点P15と、を結ぶ三角形P11−P12−P15の面上に設けられた三角形状の各メッシュ要素と底面する四面体要素であって、節点P13の対角に位置する処理対象ブロックの角の節点P16を頂点とする四面体要素により処理対象ブロックを分割する(S430)。
【0083】
更に、図15左下に示すように、処理対象ブロックにおいて四面体要素に分割されていない四角錐P11−P16−P17−P14−P12の領域を、P11−P17−P12を境界面として二分割して四面体要素に分割する(S440)。このようにして、ここでは、まず処理対象ブロックを簡易に四面体要素でメッシュ化する。
【0084】
この後、図16に示すように処理対象ブロックにおける拘束面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を四面体要素でメッシュ化する(S450)。
【0085】
この後には、互いに直交する非拘束面のペアが共有する処理対象ブロックの各辺(辺P13−P14、辺P17−P12、辺P18−P11、辺P16−P15、辺P14−P11、辺P17−P16、辺P14−P17、及び辺P11−P16の各辺)に沿って、ペアに該当する非拘束面の夫々に付加された第一被覆体Q1の表面に接触する直方体であって第一被覆体Q1との接触面が第一被覆体Q1の面と同サイズの直方体で構成される第二被覆体Q2を付加する。第二被覆体Q2は各角に節点を有するものである。この付加前又は後には、第二被覆体Q2を、第一被覆体Q1との接触面において第一被覆体Q1と節点及び結線が一致するように、四面体要素でメッシュ化する(S460)。
【0086】
具体的には、第二被覆体Q2における第一被覆体Q1に接触する二つの面の内、一方の面に接触する第一被覆体Q1の当該接触面においてS450でのメッシュ化により形成された三角形状の各メッシュ要素を基準にして、第二被覆体Q2を、当該各メッシュ要素を底面に有する三角柱の一群に分割し、これら三角柱の夫々を、他方の面に接触する第一被覆体Q1の当該接触面の結線パターンに合わせて、三つの四面体要素で分割することにより、第二被覆体Q2を六つの四面体要素でメッシュ化する。
【0087】
更に、図16に示すように、拘束面P13−P12−P15−P18に接しない節点P11,P14,P16,P17が設定された角の夫々に、角の周囲に付加される第二被覆体Q2の表面に接触する直方体であって第二被覆体Q2との接触面が第二被覆体Q2の面と同サイズの直方体で構成される第三被覆体Q3を付加し、この付加前又は後には、各角に節点を有する第三被覆体Q3を、第二被覆体Q2との接触面において第二被覆体Q2と節点及び結線が一致するように四面体要素でメッシュ化する(S470)。
【0088】
具体的には、第三被覆体Q3における第二被覆体Q2に接触する三つの面(即ち、第一、第二及び第三の面)の内、第一の面に接触する第二被覆体Q2の当該接触面においてS460でのメッシュ化により形成された三角形状の各メッシュ要素を基準にして、第三被覆体Q3を、当該各メッシュ要素を底面に有する三角柱の一群に分割し、これら三角柱の夫々を、第二及び第三の面に接触する第二被覆体Q2の当該接触面の結線パターンに合わせて、三つの四面体要素により分割することにより、第三被覆体Q3を六つの四面体要素でメッシュ化する。
【0089】
このようにして、処理対象ブロックにおける拘束面P13−P12−P15−P18以外の外周に第一〜第三被覆体Q1,Q2,Q3を付加して、処理対象ブロックと第一〜第三被覆体Q1,Q2,Q3とからなる直方体形状のスーパーボックスを生成する。この時点で、スーパーボックスは、簡易に四面体要素でメッシュ化された状態にされる。
【0090】
図17(a)は、図16に示す処理対象ブロック及び第一〜第三被覆体Q1,Q2,Q3からなるスーパーボックスを、方角Daから見た斜視図であり、図17(b)は、同スーパーボックスを、方角Dbから見た斜視図である。
【0091】
この処理後には、スーパーボックスにおける処理対象ブロックに未設定の節点を設定し、スーパーボックスをDelaunay法に基づき四面体要素で再メッシュ化する(S480)。その後、スーパーボックスから処理対象ブロックを抽出することで(S490)、拘束面における節点及び結線の形状を維持した状態で、処理対象ブロックを四面体要素により自動でメッシュ化する。
【0092】
<直交する二つの拘束面が設定されたブロックの四面体要素によるメッシュ化方法>
直交する二つの拘束面が設定された処理対象ブロックを四面体要素によるメッシュ化する場合には、図18に示す手順により自動でブロックをメッシュ化することができる。以下では、処理対象ブロックの面P27−P23−P22−P26及び面P28−P24−P22−P26(図19参照)が拘束面であるものとして話を進める。但し、図19左上では、拘束面P27−P23−P22−P26における節点及び結線の図示を省略する。
【0093】
まず、二つの拘束面(面P27−P23−P22−P26及び面P28−P24−P22−P26)が共有する辺P22−P26の端点のいずれか一方と対角関係にある処理対象ブロックの角の節点P21を頂点とし、二つの拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割する(S510)。
【0094】
その後、節点P21と、節点P21と対角関係にある処理対象ブロックの角の節点P22と、節点P22を一端とする辺であって二つの拘束面が共有する辺P22−P26とは直交関係にある拘束面の夫々の辺P22−P23及び辺P22−P24において節点P22とは反対側の端点の節点P23,P24と、を結ぶ三角形P21−P22−P23及び三角形P21−P22−P24の夫々の面に形成された三角形状の各メッシュ要素を底面とする四面体要素であって、二つの拘束面が共有する辺P22−P26の端点であって節点P22とは反対側の端点とは対角に位置する処理対象ブロックの角の節点P25を頂点とする四面体要素により処理対象ブロックを分割する(S520)。このようにして、ここでは処理対象ブロックを四面体要素で簡易にメッシュ化する。
【0095】
この後には、処理対象ブロックにおける非拘束面(面P21−P25−P23−P27、面P21−P25−P24−P28、面P21−P27−P26−P28及び面P25−P23−P22−P24)の夫々に、S450の処理と同様の第一被覆体Q1を付加する。付加前又は後には、第一被覆体Q1を、非拘束面との接触面において非拘束面と節点及び結線が一致するように四面体要素でメッシュ化する(S550)。
【0096】
更に、S460の処理と同様、互いに直交する非拘束面のペアが共有する処理対象ブロックの各辺(辺P21−P27、辺P21−P28、辺P21−P25、辺P23−P25及び辺P24−P25の各辺)に沿って、ペアに該当する非拘束面の夫々に付加された第一被覆体Q1の表面に接触する第二被覆体Q2を付加する。また、付加前又は後には、第二被覆体Q2を、第一被覆体Q1との接触面において第一被覆体Q1と節点及び結線が一致するように、四面体要素でメッシュ化する(S560)。
【0097】
更に、S470の処理と同様、二つの拘束面(面P27−P23−P22−P26及び面P28−P24−P22−P26)のいずれにも接しない節点P21,P25が設定された角の夫々に、角の周囲に付加される第二被覆体Q2の表面に接触する第三被覆体Q3を付加する。また、付加前又は後には、第三被覆体Q3を、第二被覆体Q2との接触面において第二被覆体Q2と節点及び結線が一致するように、四面体要素でメッシュ化する(S570)。
【0098】
このようにして、処理対象ブロックには、二つの拘束面(面P27−P23−P22−P26及び面P28−P24−P22−P26)以外の周囲に第一〜第三被覆体Q1,Q2,Q3を付加して、処理対象ブロックと第一〜第三被覆体Q1,Q2,Q3とからなる直方体形状のスーパーボックスであって簡易に四面体要素でメッシュ化したスーパーボックスを生成する(図20参照)。
【0099】
この処理後には、S480の処理と同様、上記スーパーボックスにおける処理対象ブロックに対して未設定の節点を設定して、スーパーボックスをDelaunay法に基づき四面体要素で再メッシュ化する(S580)。
【0100】
その後、スーパーボックスから処理対象ブロックを抽出することで(S590)、拘束面における節点及び結線の形状を維持した状態で、処理対象ブロックを四面体要素により自動でメッシュ化する。
【符号の説明】
【0101】
1…情報処理システム、10…演算装置、20…記憶装置、30…ドライブ装置、40…LANインタフェース、50…ユーザインタフェース、11…CPU、13…RAM
【特許請求の範囲】
【請求項1】
コンピュータに、
メッシュ化対象の形状モデルを、複数のブロックに分割する分割手順と、
前記分割手順による前記分割後の前記複数のブロックを、隣接するブロックとの境界面における節点及び結線が前記隣接するブロックと一致するようにメッシュ化して、前記複数のブロックの夫々に対応するメッシュモデルを生成する第一生成手順と、
前記複数のブロックの夫々に対応するメッシュモデルを記憶装置に保存する保存手順と、
入力インタフェースを通じて入力された指定情報に従って、前記記憶装置に保存された前記複数のブロックの夫々に対応するメッシュモデルの一群から、前記指定情報が示す結合対象のメッシュモデルの一群を抽出する抽出手順と、
前記抽出手順により抽出された前記結合対象のメッシュモデルの一群を結合することにより、これらメッシュモデルの一群に対応する前記形状モデルの一部領域についてのメッシュモデルを生成する第二生成手順と、
を実行させるためのプログラム。
【請求項2】
前記第二生成手順では、メッシュモデル間で重複する節点を単一の節点を残して削除することにより、前記結合対象のメッシュモデルの一群を結合すること
を特徴とする請求項1記載のプログラム。
【請求項3】
前記第一生成手順では、ブロック毎に、このブロックのメッシュモデルを表すデータとして、このメッシュモデルを構成する各節点の属性情報を記述した節点データ、及び、このメッシュモデルを構成する各メッシュ要素の属性情報を記述した要素データを生成し、前記節点データには、前記各節点の属性情報として、各節点の識別コード及び位置座標を記述し、前記要素データには、前記各メッシュ要素の属性情報として、各メッシュ要素を構成する節点及び結線の情報を前記節点の識別コードを用いて記述し、
前記第二生成手順では、前記結合対象のメッシュモデルの一群に対応する前記節点データの一群をまとめてなる節点データである統合節点データ、及び、前記結合対象のメッシュモデルの一群に対応する前記要素データの一群をまとめてなる要素データである統合要素データを生成することにより、前記形状モデルの一部領域についてのメッシュモデルを表すデータを生成し、前記統合節点データには、前記結合対象のメッシュモデル間で重複する節点の属性情報を前記統合節点データに重複登録しないようにして前記節点データの一群に登録された各節点の属性情報を登録し、前記統合要素データには、前記要素データの一群に登録された各メッシュ要素の属性情報を登録すること
を特徴とする請求項1又は請求項2記載のプログラム。
【請求項4】
前記第二生成手順では、前記統合節点データに前記各節点の属性情報を登録する際、各節点に識別コードを再付与し、各節点の再付与後の識別コード及び位置座標を、前記各節点の属性情報として前記統合節点データに記述し、前記統合要素データに前記各メッシュ要素の属性情報を登録する際、前記各メッシュ要素の属性情報の記述に用いる前記節点の識別コードを前記再付与後の識別コードに補正することで、前記再付与後の識別コードを用いて前記節点及び結線の情報を記述してなる前記各メッシュ要素の属性情報を前記統合要素データに登録すること
を特徴とする請求項3記載のプログラム。
【請求項5】
前記メッシュ化対象の形状モデルは、所定地域の地層構造を表す形状モデルであること
を特徴とする請求項1〜請求項4のいずれか一項に記載のプログラム。
【請求項6】
メッシュモデル生成方法であって、
メッシュ化対象の形状モデルを、複数のブロックに分割する分割手順と、
前記分割手順による前記分割後の前記複数のブロックを、隣接するブロックとの境界面における節点及び結線が前記隣接するブロックと一致するようにメッシュ化して、前記複数のブロックの夫々に対応するメッシュモデルを生成する第一生成手順と、
前記複数のブロックの夫々に対応するメッシュモデルを記憶装置に保存する保存手順と、
入力インタフェースを通じて入力された指定情報に従って、前記記憶装置に保存された前記複数のブロックの夫々に対応するメッシュモデルの一群から、前記指定情報が示す結合対象のメッシュモデルの一群を抽出する抽出手順と、
前記抽出手順により抽出された前記結合対象のメッシュモデルの一群を結合することにより、これらメッシュモデルの一群に対応する前記形状モデルの一部領域についてのメッシュモデルを生成する第二生成手順と、
を含むことを特徴とするメッシュモデル生成方法。
【請求項7】
メッシュモデル生成システムであって、
メッシュ化対象の形状モデルを、複数のブロックに分割する分割手段と、
前記分割手段による前記分割後の前記複数のブロックを、隣接するブロックとの境界面における節点及び結線が前記隣接するブロックと一致するようにメッシュ化して、前記複数のブロックの夫々に対応するメッシュモデルを生成する第一生成手段と、
前記複数のブロックの夫々に対応するメッシュモデルを記憶装置に保存する保存手段と、
入力インタフェースを通じて入力された指定情報に従って、前記記憶装置に保存された前記複数のブロックの夫々に対応するメッシュモデルの一群から、前記指定情報が示す結合対象のメッシュモデルの一群を抽出する抽出手段と、
前記抽出手段により抽出された前記結合対象のメッシュモデルの一群を結合することにより、これらメッシュモデルの一群に対応する前記形状モデルの一部領域についてのメッシュモデルを生成する第二生成手段と、
を備えることを特徴とするメッシュモデル生成システム。
【請求項1】
コンピュータに、
メッシュ化対象の形状モデルを、複数のブロックに分割する分割手順と、
前記分割手順による前記分割後の前記複数のブロックを、隣接するブロックとの境界面における節点及び結線が前記隣接するブロックと一致するようにメッシュ化して、前記複数のブロックの夫々に対応するメッシュモデルを生成する第一生成手順と、
前記複数のブロックの夫々に対応するメッシュモデルを記憶装置に保存する保存手順と、
入力インタフェースを通じて入力された指定情報に従って、前記記憶装置に保存された前記複数のブロックの夫々に対応するメッシュモデルの一群から、前記指定情報が示す結合対象のメッシュモデルの一群を抽出する抽出手順と、
前記抽出手順により抽出された前記結合対象のメッシュモデルの一群を結合することにより、これらメッシュモデルの一群に対応する前記形状モデルの一部領域についてのメッシュモデルを生成する第二生成手順と、
を実行させるためのプログラム。
【請求項2】
前記第二生成手順では、メッシュモデル間で重複する節点を単一の節点を残して削除することにより、前記結合対象のメッシュモデルの一群を結合すること
を特徴とする請求項1記載のプログラム。
【請求項3】
前記第一生成手順では、ブロック毎に、このブロックのメッシュモデルを表すデータとして、このメッシュモデルを構成する各節点の属性情報を記述した節点データ、及び、このメッシュモデルを構成する各メッシュ要素の属性情報を記述した要素データを生成し、前記節点データには、前記各節点の属性情報として、各節点の識別コード及び位置座標を記述し、前記要素データには、前記各メッシュ要素の属性情報として、各メッシュ要素を構成する節点及び結線の情報を前記節点の識別コードを用いて記述し、
前記第二生成手順では、前記結合対象のメッシュモデルの一群に対応する前記節点データの一群をまとめてなる節点データである統合節点データ、及び、前記結合対象のメッシュモデルの一群に対応する前記要素データの一群をまとめてなる要素データである統合要素データを生成することにより、前記形状モデルの一部領域についてのメッシュモデルを表すデータを生成し、前記統合節点データには、前記結合対象のメッシュモデル間で重複する節点の属性情報を前記統合節点データに重複登録しないようにして前記節点データの一群に登録された各節点の属性情報を登録し、前記統合要素データには、前記要素データの一群に登録された各メッシュ要素の属性情報を登録すること
を特徴とする請求項1又は請求項2記載のプログラム。
【請求項4】
前記第二生成手順では、前記統合節点データに前記各節点の属性情報を登録する際、各節点に識別コードを再付与し、各節点の再付与後の識別コード及び位置座標を、前記各節点の属性情報として前記統合節点データに記述し、前記統合要素データに前記各メッシュ要素の属性情報を登録する際、前記各メッシュ要素の属性情報の記述に用いる前記節点の識別コードを前記再付与後の識別コードに補正することで、前記再付与後の識別コードを用いて前記節点及び結線の情報を記述してなる前記各メッシュ要素の属性情報を前記統合要素データに登録すること
を特徴とする請求項3記載のプログラム。
【請求項5】
前記メッシュ化対象の形状モデルは、所定地域の地層構造を表す形状モデルであること
を特徴とする請求項1〜請求項4のいずれか一項に記載のプログラム。
【請求項6】
メッシュモデル生成方法であって、
メッシュ化対象の形状モデルを、複数のブロックに分割する分割手順と、
前記分割手順による前記分割後の前記複数のブロックを、隣接するブロックとの境界面における節点及び結線が前記隣接するブロックと一致するようにメッシュ化して、前記複数のブロックの夫々に対応するメッシュモデルを生成する第一生成手順と、
前記複数のブロックの夫々に対応するメッシュモデルを記憶装置に保存する保存手順と、
入力インタフェースを通じて入力された指定情報に従って、前記記憶装置に保存された前記複数のブロックの夫々に対応するメッシュモデルの一群から、前記指定情報が示す結合対象のメッシュモデルの一群を抽出する抽出手順と、
前記抽出手順により抽出された前記結合対象のメッシュモデルの一群を結合することにより、これらメッシュモデルの一群に対応する前記形状モデルの一部領域についてのメッシュモデルを生成する第二生成手順と、
を含むことを特徴とするメッシュモデル生成方法。
【請求項7】
メッシュモデル生成システムであって、
メッシュ化対象の形状モデルを、複数のブロックに分割する分割手段と、
前記分割手段による前記分割後の前記複数のブロックを、隣接するブロックとの境界面における節点及び結線が前記隣接するブロックと一致するようにメッシュ化して、前記複数のブロックの夫々に対応するメッシュモデルを生成する第一生成手段と、
前記複数のブロックの夫々に対応するメッシュモデルを記憶装置に保存する保存手段と、
入力インタフェースを通じて入力された指定情報に従って、前記記憶装置に保存された前記複数のブロックの夫々に対応するメッシュモデルの一群から、前記指定情報が示す結合対象のメッシュモデルの一群を抽出する抽出手段と、
前記抽出手段により抽出された前記結合対象のメッシュモデルの一群を結合することにより、これらメッシュモデルの一群に対応する前記形状モデルの一部領域についてのメッシュモデルを生成する第二生成手段と、
を備えることを特徴とするメッシュモデル生成システム。
【図1】
【図2】
【図3】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図14】
【図18】
【図4】
【図13】
【図15】
【図16】
【図17】
【図19】
【図20】
【図2】
【図3】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図14】
【図18】
【図4】
【図13】
【図15】
【図16】
【図17】
【図19】
【図20】
【公開番号】特開2012−215526(P2012−215526A)
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願番号】特願2011−82158(P2011−82158)
【出願日】平成23年4月1日(2011.4.1)
【出願人】(000206211)大成建設株式会社 (1,602)
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願日】平成23年4月1日(2011.4.1)
【出願人】(000206211)大成建設株式会社 (1,602)
[ Back to top ]