以下に本発明の実施例について、図面と共に説明する。
[第一実施例]
図1に示す本実施例の情報処理システム1は、与えられた形状モデルを複数ブロックに分割して、ブロック単位で、この形状モデルをメッシュ化するものである。この情報処理システム1は、ユーザからの指示に従って、上記形状モデルとして、メッシュ化対象の地質モデルを定義するモデルデータを外部から取得し、このモデルデータが表す地質モデルを複数ブロックに分割し、隣接ブロック間において節点及び結線のパターンが一致するように、各ブロックをメッシュ化する。これによって、与えられた地質モデルに対応するメッシュモデルを、ブロック単位で生成し、これを記憶装置20に登録し、地質モデルに対応するメッシュモデルを、ブロック単位のデータとしてデータベース化する。
そして、ユーザから結合対象のブロック群が指定されると、指定されたブロック群に対応する各ブロックのメッシュモデルを結合することで、上記地質モデルの全域又は一部領域についてのメッシュモデルを生成する。尚、メッシュ化対象の地質モデルとしては、国内全域等の広域の地層構造を表す地質モデルを挙げることができ、データベース化されたブロックの全てを結合することで、上記地質モデルの全域に対応したメッシュモデルを生成することができ、データベース化されたブロックの一部を結合することで、上記地質モデルの一部地域に対応したメッシュモデルを生成することができる。
このような機能を有する情報処理システム1の詳細構成を以下に説明する。本実施例の情報処理システム1は、図1に示すように、演算装置10と、記憶装置20と、ドライブ装置30と、LANインタフェース40と、ユーザインタフェース50とを備える。演算装置10は、各種プログラムを実行するCPU11及びプログラム実行時に作業領域として使用されるRAM13等から構成され、記憶装置20は、CPU11が実行する各種プログラムやプログラム実行時に使用される各種データを記憶する。この記憶装置20は、例えばハードディスク装置で構成される。
ドライブ装置30は、磁気ディスクや光ディスクに書き込まれたデータを読取可能且つ磁気ディスクや光ディスクに対してデータを書込可能な装置であり、LANインタフェース40は、LANに接続されたノードと通信可能なインタフェースである。情報処理システム1は、例えばドライブ装置30を通じて、磁気ディスクや光ディスクが記憶する上記モデルデータを取得する。この他、情報処理システム1は、LANインタフェース40を通じてユーザ端末から上記モデルデータを取得する構成にされてもよい。
ユーザインタフェース50は、キーボードやポインティングデバイス等から構成され、情報処理システム1は、このユーザインタフェース50を通じて入力されるユーザからの指示に従って、各種処理を実行する。具体的に、演算装置10は、ユーザインタフェース50を通じてデータベース化の実行指示が入力されると、記憶装置20に記憶されたプログラムに従って、図2に示すデータベース化処理を実行する。
データベース化処理を開始すると、演算装置10は、ユーザインタフェース50を通じてモデルデータの指定操作を受け付け、この操作により指定されたモデルデータを取得する。例えば、ドライブ装置30やLANインタフェース40を通じてモデルデータを取得する。この他、記憶装置20にモデルデータが書き込まれている場合には、記憶装置20からモデルデータを読み出すことによって、上記指定されたモデルデータを取得する。そして、取得したモデルデータが表す地質モデルを処理対象モデルに設定する(S110)。尚、本実施例のモデルデータには、地質モデルの外形を表す情報と共に、地層境界毎に、当該地層境界の各地点の位置座標が記述される。即ち、本実施例のモデルデータは、地質モデルの外形と各地層の形状とが記述されたデータとして構成される。
演算装置10は、S110の処理後、ユーザインタフェース50を通じて、処理対象モデルのブロック化に関する指定操作を受け付ける(S120)。本実施例では、処理対象モデルを、図3に示すように、ユーザから指定される特定の一方向(以下、分割方向と言う。)に垂直な平面で分割してブロック化するが、S120では、その分割方向と分割後のブロックサイズ(各ブロックの分割方向の幅)を指定する情報の入力操作を、ユーザインタフェース50を通じて受け付ける。尚、分割方向としては、任意の方向ではなく、直方体形状の上記地質モデルの縦方向又は横方向(即ち、図3に示すY方向又はX方向)のいずれかの指定を受け付ける。
そして、このような指定操作がなされると、処理対象モデルを、指定された分割方向に垂直な平面により区切って、処理対象モデルを、指定されたブロックサイズのブロック群に分割する(S130)。即ち、処理対象モデルにおける各ブロックの境界を決定し、この各ブロックの境界の位置情報を記憶する。
S130での処理を終えると、演算装置10は、S140に移行し、各地層の物性情報及びメッシュ要素のサイズ(以下、要素サイズという。)情報の入力操作を受け付ける。S140における各地層の物性情報・要素サイズ情報の入力が完了すると、演算装置10は、続くS150にて、処理対象モデルを構成するブロック群の内、所定規則に従う第1ブロックを、処理対象ブロックとして選択する。
本実施例では、図4(a)に示すように、分割方向最上流に位置するブロックから下流に向けて順に処理対象ブロックを選択する。図4(a)において<>で囲まれる数字は、処理対象ブロックの選択順位を表す。従って、S150では、分割方向最上流に位置するブロックを処理対象ブロックとして選択する。
このような選択規則に従って処理対象ブロックを選択すると、演算装置10は、続くS160にて上記モデルデータから処理対象ブロックに対応するエリアのデータを抽出し、この抽出データに基づき、処理対象ブロックを、各地層に対して指定された上記メッシュ要素のサイズでメッシュ化する(S170)。尚、メッシュ要素としては、四面体要素や六面体要素等を用いることができる。即ち、各地層は、四面体要素や六面体要素によりメッシュ化することができる。但し、各地層を六面体要素によりメッシュ化する場合には、地層毎に用いる要素サイズが異なるため、例えば、地層境界周辺を、五面体要素及び四面体要素によりメッシュ化して、異なるサイズの六面体要素を接続する必要が生じる。従って、各地層は、四面体要素によりメッシュ化されるとよい。四面体要素によりメッシュ化する場合には、六面体要素を用いる場合と比較してメッシュ生成が易しい。
そして、S170では、メッシュ化後の処理対象ブロック(メッシュモデル)における節点及び結線の配置を表すメッシュデータを生成する。尚、このメッシュデータには、節点及び結線の配置に関する情報(換言すればメッシュ要素の配置に関する情報)の他、各メッシュ要素に対応する物性情報等が記述される。物性情報としては、S波速度、P波速度、密度、S波Q値及びP波Q値等に関する情報を挙げることができる。
S170の処理で、このようなメッシュデータを生成すると、演算装置10は、当該生成したメッシュデータを、今回の処理対象ブロックの位置情報と関連付けて、記憶装置20に登録(保存)する(S180)。
この処理を終えると、演算装置10は、処理対象ブロックを、上述の選択規則に従う次ブロックに切り替え(S190)、S160での処理と同様に、上記モデルデータから、新たな処理対象ブロックに対応するエリアのデータを抽出する(S200)。また、処理対象ブロックの面であって、既にメッシュ化の完了したメッシュ化済ブロックとの接触面に、当該メッシュ化済ブロックと一致するパターンで節点及び結線を配置し、これによって拘束面を設定する(S210)。即ち、拘束面には、この拘束面に接触するメッシュ化済ブロックの面における節点及び結線の配置と、当該拘束面における節点及び結線の配置が一致するように、節点及び結線を配置する。
その後、演算装置10は、S220に移行し、拘束面における節点及び結線の配置を保持して、処理対象ブロック全体をメッシュ化し、この処理対象ブロックの節点及び結線の配置を表すメッシュデータを生成する。即ち、拘束面における節点及び結線の配置を変えることなく、処理対象ブロックをメッシュ化し、この処理対象ブロックの節点及び結線の配置を表すメッシュデータを生成する。尚、拘束面付ブロックのメッシュ化手順の詳細については後述するが、特願2011−082157についても参考にされたい。
S220の処理でメッシュデータを生成すると、演算装置10は、当該生成したメッシュデータを、今回の処理対象ブロックの位置情報と関連付けて、記憶装置20に登録する(S230)。そして、処理対象モデルを構成する全ブロックについて、これらブロックをメッシュ化し、当該ブロックのメッシュデータを記憶装置20に登録したか否かを判断する(S240)。
ここで、全ブロックについて登録していないと判断すると(S240でNo)、演算装置10は、S190に移行し、処理対象ブロックを上述の選択規則に従う次ブロックに切り替えて、S200以降の処理を実行することで、分割方向最上流に位置するブロックから順次、上述した手法で拘束面を設定して、節点及び結線の配置を隣接ブロック間で揃えながらメッシュ化し、このメッシュデータを記憶装置20に保存する。
図4(b)に示すように、選択順位が1位のブロックである分割方向最上流に位置するブロック(第1ブロック)をメッシュ化した後には、図5に例示するように、この第1ブロックに隣接する選択順位が2位のブロック(第2ブロック)における第1ブロックとの接触面に、既にメッシュ化の完了した第1ブロックの第2ブロックとの接触面における節点及び結線の配置と一致するパターンで、節点及び結線を配置する。これによって、第2ブロックに一つの拘束面を設定する。尚、図5は、第1ブロックのメッシュ化が完了している状態の図であるが、拘束面における節点及び結線の配置を明確にするため、第1ブロックにおける第2ブロックとの接触面以外の節点及び結線の図示を省略する。また、第1ブロックについては、その一部を透過して表す。
その後、演算装置10は、一つの拘束面を有する拘束面付ブロック(第2ブロック)をメッシュ化する。また、図4(b)に示すように、第2ブロックのメッシュ化後には、この第2ブロックと隣接する選択順位が3位のブロック(第3ブロック)における第2ブロックとの接触面に、第2ブロックと一致するパターンで節点及び結線を配置して、拘束面を設定し、一つの拘束面を有する第3ブロックをメッシュ化する。
本実施例では、このようにして処理対象モデルを構成する各ブロックを順次メッシュ化し、記憶装置20に、隣接ブロックとの接触面での節点及び結線のパターンが隣接ブロックのメッシュモデルと一致する各ブロックのメッシュモデルを上記メッシュデータとして登録する。この結果、記憶装置20には、処理対象モデルに対応するメッシュモデルが、ブロック単位のメッシュデータとしてデータベース化される。
そして、全ブロックについてのメッシュ化を完了し、記憶装置20に、処理対象モデルを構成する各ブロックのメッシュデータを登録すると、演算装置10は、S240で肯定判断して、当該データベース化処理を終了する。
また、演算装置10は、ユーザインタフェース50を通じて複数ブロックの結合指示が入力されると、記憶装置20に記憶されたプログラムに従って、図6(a)に示す結合処理を実行する。尚、この指示は、個別の解析モデルを生成する必要が生じたときに、ユーザインタフェース50を通じて入力される。この結合処理は、ユーザから指定された結合対象のブロック群に対応する各ブロックのメッシュモデルを結合して、新たなメッシュモデルを生成するための処理である。
即ち、結合処理を開始すると、演算装置10は、結合対象のブロック群の指定操作を受け付ける(S310)。そして、当該指定操作により結合対象のブロック群が確定すると、S320に移行し、記憶装置20が記憶する結合対象のブロック群に対応する各ブロックのメッシュデータに基づき、結合対象の各ブロックのメッシュモデルを結合してなる統合メッシュモデルの節点及び結線の配置を表すメッシュデータを生成する。そして、これを記憶装置20に出力し、当該結合処理を終了する。このメッシュデータには、統合メッシュモデルにおける節点及び結線の配置の他、統合メッシュモデルにおける各メッシュ要素の物性情報等が記述される。
尚、結合対象の各ブロックには、その隣接ブロックとの接触面に、隣接ブロックと重複する節点及び結線が配置されている。このため、各ブロックのメッシュモデルを結合する際には、図6(b)に示すように、重複する節点及び結線の夫々を、一つの節点又は結線の情報としてまとめて、統合メッシュモデルのメッシュデータを生成する。尚、この点の技術については、特願2011−082158を参照されたい。
以上に、第一実施例の情報処理システム1について説明したが、本実施例によれば、メッシュ化対象の地質モデルを、複数ブロックに分割して、ブロック毎に、そのメッシュモデルを演算により生成するので、従来よりも簡単に大規模な地質モデルに対応するメッシュモデルを生成することができる。
即ち、形状モデルのメッシュ化に際しては、節点が増加するほど指数関数的に演算量が増加し、コンピュータリソースが増大するため、形状モデルをブロック化しない従来技術によれば、大規模な形状モデルのメッシュモデルの生成を、処理能力の低いコンピュータを用いて実現することは難しかった。これに対し、本実施例によれば、大規模な地質モデルをブロック毎に分けてメッシュ化することができるので、処理能力の低いコンピュータを用いて、大規模な地質モデルのメッシュモデルの生成を実現することができる。
また、地質モデルを複数ブロックに分割してメッシュ化する際には、節点及び結線の配置を隣接ブロックとの接触面において揃える必要があるが、本実施例によれば、各ブロックを配列順にメッシュ化し、各ブロックをメッシュ化する際には、メッシュ化済ブロックにおけるメッシュ化対象ブロックとの接触面における節点及び結線の配置を参照し、メッシュ化対象ブロックに拘束面を設定することで、メッシュ化対象ブロックとメッシュ化済ブロックとの間で節点及び結線の配置を揃えるようにした。従って、本実施例によれば、簡単に隣接ブロック間の節点及び結線の配置を揃えることができる。即ち、本実施例によれば、複数ブロックを結合して大規模なメッシュモデルを生成することができるように節点及び結線を効率的に配置することができ、簡単に大規模な地質モデルに対応するメッシュモデルを生成することができる。
更に言えば、本実施例によれば、データベース化されたブロック毎のメッシュモデルの一部のみを結合して新たなメッシュモデルを生成することができるため、広域の地質モデルをブロック分割して、各ブロックのメッシュモデルをデータベース化すれば、様々な震源の地震波動解析に対応することができて、地震波動解析を容易にすることができる。
[第二実施例]
続いて、第二実施例について説明する。第二実施例は、各ブロックのメッシュ化を並列処理により実現するものであり、複数の演算装置を用いて情報処理システム2を構成する。
図7に示すように、第二実施例の情報処理システム2は、複数の演算装置10a,10b,10c、並びに、第一実施例と同様の記憶装置20、ドライブ装置30、LANインタフェース40、及び、ユーザインタフェース50を備える。演算装置10a,10b,10cも、ハードウェア的には第一実施例の演算装置10と同一構成にされる。
但し、第二実施例の情報処理システム2においては、主たる演算装置10aが、第一実施例のデータベース化処理に代えて、図8に示すブロックデータ生成処理及び図9に示すブロックメッシュ化処理を実行し、その他の演算装置10b,cが、第一実施例のデータベース化処理に代えて、図9に示すブロックメッシュ化処理を実行する。
尚、図8に示すブロックデータ生成処理及び図9に示すブロックメッシュ化処理は、記憶装置20に記憶されたプログラムに従う情報処理により実現される。便宜上、本実施例では、3つの演算装置10a,10b,10cを備える情報処理システム2を例に挙げて説明するが、演算装置の数は、これに限定されず、情報処理装置2は、2つや4以上の多数の演算装置を備える構成とすることができる。
このように構成される第二実施例の情報処理システム2は、分割したブロックの夫々に拘束面を設定した後、複数の演算装置10a,10b,10cを用いて、各ブロックのメッシュ化を並列に行う。
演算装置10aは、ブロックデータの生成指示がユーザインタフェース50を通じて入力されると、図8に示すブロックデータ生成処理を開始する。そして、第一実施例のデータベース化処理と同様に、S110〜S140の処理を実行する。その後、演算装置10aは、地質モデルの分割面の一群、換言すれば、分割後の地質モデルにおける互いに隣接するブロック間の境界面の一群の内、一つの面を処理対象面として選択し(S410)、この処理対象面を、デローニ(Delaunay)法を用いて三角形要素によりメッシュ化する(S420)。ここでは、上記モデルデータから境界面における地層構造のデータを抽出し、各地層に形成すべきメッシュ要素のサイズに対応した間隔で節点を配置し、各節点を結ぶ三角形要素を、二次元デローニ法を用いて生成して、処理対象面を三角形要素によりメッシュ化する。尚、節点については、地層毎に形成すべきメッシュ要素のサイズが指定されることから、ここでは、指定されたメッシュ要素のサイズに対応した間隔で自動的に節点を配置して、処理対象面をメッシュ化する。尚、層毎の節点の配置例については、図5を参考にされたい。
また、S420での処理結果に基づき、演算装置10aは、処理対象面における節点及び結線の配置を記述したデータである拘束面データを生成する(S430)。
演算装置10aは、S430での処理を終えると、上記メッシュ化対象の地質モデルにおける分割面の全てに対し、このような拘束面データを生成したか否かを判断し(S440)、全ての分割面について拘束面データを生成していないと判断すると(S440でNo)、S410に戻って、処理対象面を切り替え、S420以降の処理を実行する。このようにして、演算装置10aは、拘束面データを、上記メッシュ化対象の地質モデルにおける分割面(隣接ブロック間の境界面)毎に生成する。
そして、全分割面について拘束面データを生成すると、演算装置10aは、上記モデルデータ及び分割面毎の拘束面データに基づき、地質モデルを構成する複数のブロックの夫々に対して、ブロック毎に、このブロックにおける地層境界位置、各地層の物性・メッシュ要素サイズ、及び、このブロックの隣接ブロックとの接触面における節点及び結線の配置を表すブロックデータを生成する(S450)。尚、この際、各ブロックの隣接ブロックとの接触面に対しては、隣接ブロックの面と同じ拘束面データを用いて、隣接ブロックの面と一致するパターンの節点及び結線を配置し、この情報をブロックデータに記述する。その後、演算装置10aは、このブロックデータを記憶装置20に保存し、当該ブロックデータ生成処理を終了する。
本実施例の演算装置10aは、このような内容のブロックデータ生成処理を実行するによって、メッシュ化対象の地質モデルを、ブロック分割し、各ブロックが有する隣接ブロックとの接触面の全てに対して、隣接ブロック間で一致するパターンの節点及び結線を配置する。これによって、図10に示すように、各ブロックのメッシュ化を行う前に、各ブロックの隣接ブロックとの接触面の全てに対して拘束面を設定する。
また、演算装置10aによるブロックデータ生成処理が完了すると、演算装置10a,10b,10cは、図9に示すブロックメッシュ化処理を実行する。これによって、地質モデルを構成する複数のブロックの夫々を並列にメッシュ化する。
ブロックメッシュ化処理を実行すると、演算装置10a,10b,10cは、記憶装置20に保存されたメッシュ化のなされていないブロックのブロックデータを一つ処理対象データに選択する(S510)。
そして、処理対象データを選択すると、演算装置10a,10b,10cは、このブロックデータ(処理対象データ)に基づき、処理対象データに対応するブロックを、拘束面における節点及び結線の配置を保持した状態で、メッシュ化する(S520)。尚、本実施例では、拘束面を1面又は2面有するブロックを、その拘束面での節点及び結線の配置を保持した状態で、メッシュ化することになる。そして、メッシュ化したブロックにおける節点及び結線の配置を表すメッシュデータを、今回メッシュ化したブロックの位置情報と関連付けて、記憶装置20に登録する(S530)。その後、ブロックメッシュ化処理を終了する。
演算装置10a,10b,10cは、このような内容のブロックメッシュ化処理を繰返し実行することにより、メッシュ化のなされていない拘束面付ブロックの夫々を分担して、記憶装置20に保存されたブロックデータに基づきメッシュ化し、このメッシュデータを記憶装置20に登録して、地質モデルに対応するメッシュモデルを、ブロック単位のメッシュデータとしてデータベース化する。尚、メッシュ化の完了したブロックのブロックデータは、記憶装置20から破棄することができる。例えば、演算装置10a,10b,10cは、メッシュ化の完了したブロックのブロックデータを破棄し、このブロックデータに代わりに、対応するメッシュデータを記憶装置20に登録することができる。
尚、S510の処理について言及すれば、記憶装置20に記憶される各ブロックデータに、このブロックデータに基づくブロックメッシュ化処理が実行されているか否かを表すフラグを付し、これらブロックデータ毎のフラグを記憶装置20に記憶させるおくことで、演算装置10a,10b,10cの夫々は、S510において、処理対象データ(メッシュ化対象のブロックデータ)を、重複しないように自動選択し、地質モデルを構成する複数のブロックの夫々を並列にメッシュ化する構成にすることができる。
即ち、演算装置10a,10b,10cの夫々は、上記フラグを参照することによって、メッシュ化のなされていないブロックのブロックデータの内、他の演算装置により処理対象データに選択されていないブロックデータを、処理対象データ(メッシュ化対象のブロックデータ)に選択する(S510)構成にすることができる。具体的に、S510では、フラグがリセットされた状態のブロックデータを、処理対象データに選択し、当該選択したブロックデータのフラグをリセット状態からセット状態に変更することにより、このブロックデータに基づくブロックメッシュ化処理が実行されていることを、フラグを通じて、他の演算装置に示すことができる。
演算装置10a,10b,10cの夫々は、このようにして処理対象データを選択した後、このブロックデータに基づき、対応するブロックをメッシュ化する(S520)。各ブロックのメッシュ化に要する時間には、ばらつきがあるので、このように情報処理システム2を構成すると、複数の演算装置10a,10b,10cにて、効率的に、各ブロックを並列にメッシュ化することが可能である。
但し、情報処理システム2は、主たる演算装置10aが、各ブロックのメッシュ化前に(例えば、図8に示すブロックデータ生成処理の終了時に)、所定のアルゴリズムに従って、演算装置10a,10b,10cの夫々に対し、メッシュ化すべきブロック群(演算装置10a,10b,10c間で重複しないブロック群)を割り当てる構成にされてもよい。そして、各演算装置10a,10b,10cは、S510において、予め割り当てられたブロック群の中から、メッシュ化の完了していないブロックのブロックデータを一つ処理対象データとして選択する構成にされてもよい。即ち、情報処理システム2は、どのブロックを、どの演算装置10a,10b,10cにメッシュ化させるかを、主たる演算装置10aが、所定のアルゴリズムに従って、決定する構成にされてもよい。
この他にも、情報処理システム2には、様々な並列処理の手続きを採用することができる。例えば、情報処理システム2には、演算装置10a,10b,10cが、ユーザインタフェース50を通じてユーザから入力される指示に従って、地質モデルを構成する複数のブロックを分担してメッシュ化するような構成を採用されてもよい。
以上には、第二実施例として、複数の演算装置10a,10b,10cを備える情報処理システム2(例えば、大規模コンピュータ)により各ブロックを並列処理によりメッシュ化する例を示したが、情報処理システム2は、複数の演算装置10a,10b,10cではなく、単一の演算装置10aを備える構成にされてもよい。この場合、情報処理システム2の演算装置10aは、記憶装置20に記憶されたブロックデータに基づき、地質モデルに対応する各ブロックを順次メッシュ化する(第一変形例)。但し、単一の演算装置10aで、複数ブロックを並列にメッシュ化することも考えられる(第二変形例)。
この他、複数の情報処理システムをネットワーク接続し、ネットワークを通じた通信により、複数の情報処理システムにて各ブロックを並列にメッシュ化してもよい(第三変形例)。
図11は、複数の情報処理システム3,4を用いて、各ブロックをメッシュ化する通信システム100の構成を表すブロック図である。
但し、図11に示す情報処理システム3は、情報処理システム1と同様のハードウェアを有し、演算装置にて図8及び図9に示す処理を実行する構成にされているものとする。換言すれば、情報処理システム3は、図8及び図9に示す処理を実行する単一の演算装置10aを備える情報処理システム2と同様の構成にされているものとする。
また、図11に示す情報処理システム4は、情報処理システム1と同様のハードウェアを有し、演算装置にて図9に示すブロックメッシュ化処理を実行する構成にされているものとする。換言すれば、情報処理システム4は、図9に示す処理を実行する単一の演算装置10b(又は演算装置10c)を備える情報処理システム2と同様の構成にされているものとする。
この通信システム100によれば、主たる情報処理システム3は、図8に示すブロックデータ生成処理を実行して各ブロックデータを自己の記憶装置20に記憶させる。
一方、各情報処理システム3,4は、主たる情報処理システム3が有する記憶装置20を参照して、この記憶装置20に、メッシュ化のなされていないブロックであって他の情報処理システム3,4でメッシュ化中でもないブロックについてのブロックデータ(即ち、処理対象データに選択されてもいないブロックデータ)が存在する場合、図9に示すブロックメッシュ化処理を繰返し実行する。そして、各ブロックメッシュ化処理では、メッシュ化のなされていないブロックであって他の情報処理システム3,4でメッシュ化中でもないブロックについてのブロックデータの一つを、処理対象データとして、情報処理システム3が有する記憶装置20から読み出し又はネットワークを通じて取得し(S510)、この取得データに基づき、処理対象データに対応するブロック(拘束面付ブロック)をメッシュ化し(S520)、該当ブロックのメッシュデータを、主たる情報処理システム3の記憶装置20に登録する(S530)。
このように各ブロックを並列にメッシュ化する通信システム100によれば、ネットワーク接続された複数のコンピュータを用いて、各ブロックのメッシュ化を並列に実行することができ、処理能力の低い情報処理システム(コンピュータ)を用いて迅速に、大規模な地質モデルに対応するメッシュモデルを生成することができる。
この他、本実施例では、隣接ブロックとの接触面のみに拘束面を設定するため、メッシュ化対象のブロックとして、拘束面が1面のブロックと、拘束面が2面のブロックとが混在することになるが、このような拘束面の配置の異なるブロックの混在は、各ブロックをメッシュ化するためのプログラムの構成を煩雑にする原因となる。従って、本実施例の情報処理システム2,3は次のように構成されてもよい。
即ち、S410〜S440の処理の繰返しによっては、隣接ブロックとの接触面だけでなく、ブロック分割された地質モデルの両端面R1,R2(図10参照)に対しても節点及び結線を配置して、この面を拘束面に設定してもよい。このように地質モデルの両端面にも拘束面を設定すれば、地質モデルの両端に位置するブロックについても拘束面を2つ有するブロックとすることができる。従って、S520の処理で、拘束面の数によってメッシュ化の手続きを変更する必要がなく、プログラムの構成を簡単にすることができる。
[第三実施例]
続いて、第三実施例について説明する。第三実施例の情報処理システム2は、メッシュ化対象の地質モデルを、互いに直交関係にある複数の平面により、二次元格子状に分割して、分割後の各ブロックをメッシュ化するものであり、その他の構成については、第二実施例の情報処理システム2と同様である。従って、以下では、図12を用いて、メッシュ化対象の地質モデルの分割方法を説明し、図13を用いて各ブロックに対する拘束面の設定方法について説明する。
第三実施例の情報処理システム2では、第二実施例と同様、ブロックデータ生成処理(図8参照)を実行するが、このブロックデータ生成処理のS120では、分割後の各ブロックにおける縦方向(Y方向)及び横方向(X方向)の幅を指定する情報を取得する(図12参照)。そして、S130では、図12に示すように、高さ方向(Z方向)に延びる平面であって、縦方向(Y方向)を法線方向とする平面、及び、横方向(X方向)を法線方向とする平面により、メッシュ化対象の地質モデル(処理対象モデル)を二次元格子状にブロック分割する。具体的には、縦幅及び横幅がS120で指定されたサイズとなるように、処理対象モデルを二次元格子状にブロック分割し、各ブロックの境界の位置情報を記憶する。本実施例では、このようにして、処理対象モデルをブロック分割する。
そして、S410〜S450の処理(図8参照)では、分割後の地質モデルにおける互いに隣接するブロック間の境界面を一つずつ処理対象面として選択し(S410)、この処理対象面に節点及び結線を配置して拘束面データを生成することにより、境界面毎の拘束面データを生成する(S420,S430)。
そして、この拘束面データに基づき、図13(a)に示す斜線部分又は図13(b)に示す太線部分に対応する各ブロックの面を、拘束面として設定した各ブロックのブロックデータを生成する。尚、図13(a)は、各ブロックにおける拘束面の配置を表す各ブロックの斜視図であり、図13(b)は、各ブロックを上面側又は下面側から見た各ブロックの平面図であって、各ブロックにおける拘束面の配置を表す図である。
即ち、各ブロックのブロックデータには、このブロックにおける地層境界位置、及び、各地層の物性・メッシュ要素サイズに加えて、このブロックの上面及び下面以外の4側面の内、隣接ブロックと接触する面夫々の節点及び結線の配置を表す情報を記述することにより、ブロック毎に、このブロックの4側面の内、隣接ブロックと接触する面(2面又は3面又4面)を拘束面に設定してなるブロックデータを生成する。勿論、各拘束面には、この拘束面における節点及び結線の配置と、この拘束面に接触する隣接ブロックの拘束面における節点及び結線の配置とが一致するように、節点及び結線を配置する。
そして、本実施例の情報処理システム2によれば、このような拘束面の情報を有するブロックデータに基づき、各ブロックデータに対応するブロックを、ブロックメッシュ化処理(図9)を通じてメッシュ化し、ブロック毎のメッシュデータを記憶装置20に登録することにより、地質モデルに対応する各ブロックのメッシュデータをデータベース化し、ユーザからの指示に従って、適宜図6(a)に示す結合処理を実行することにより、地質モデルの全域又は一部地域に対応するメッシュモデルを生成する。尚、本実施例では、第二実施例と同様、複数の情報処理システム3,4を用いて、各ブロックのメッシュ化を並列に実行することができる。
以上、第三実施例の情報処理システム2について説明したが、本実施例によれば、メッシュ化対象の地質モデルを二次元格子状に分割するので、ブロック分割数を増やして各ブロックに対するメッシュ化に係る演算量を抑えることができる。また、データベース化された各ブロックのメッシュモデルを結合し、地震波動解析に用いるメッシュモデルを生成する際に、地震波動解析に必要十分な地域のブロックを結合して、地震波動解析に好適なメッシュモデルを生成することが容易となり、地震波動解析を効率的に行うことができる。
尚、第二実施例と同様、拘束面の数がばらつかないようにするために、第三実施例の情報処理システム2は、全てのブロックに関して、上面及び下面以外の4側面に拘束面を設定する構成にされてもよい。即ち、隣接ブロックとの接触面以外に、地質モデルにおける各側面に対応するブロックの面に対しても拘束面を設定してもよい。
[第四実施例]
続いて、第四実施例を、図14を用いて説明する。第四実施例の情報処理システム2は、第三実施例の情報処理システム2において、更に、高さ方向に垂直な平面を用いてメッシュ化対象の地質モデルを分割することにより、三次元格子状にメッシュ化対象の地質モデルを分割するようにしたものである。即ち、第四実施例の情報処理システム2では、第二実施例及び第三実施例と同様、演算装置10が、図8に示すブロックデータ生成処理を実行するが、このブロックデータ生成処理のS120では、分割後の各ブロックにおける縦方向(Y方向)及び横方向(X方向)及び高さ方向(Z方向)の幅を指定する情報をブロックサイズの情報として取得し、S130では、その指定情報に基づき、メッシュ化対象の地質モデルを、図14に示すように三次元格子状に分割することで、この地質モデルを、指定された縦幅及び横幅及び高さ方向の幅を有するブロックの一群に分割する。
そして、S410〜S450の処理では、各ブロックに対応するブロックデータを生成し、各ブロックのブロックデータには、このブロックにおける地層境界位置、及び、各地層の物性・メッシュ要素サイズに加えて、このブロックの6面の内、隣接ブロックと接触する面夫々の節点及び結線の配置を表す情報を記述することにより、ブロック毎に、このブロックの隣接ブロックと接触する面(最大6面)を拘束面に設定してなるブロックデータを生成する。勿論、各拘束面には、この拘束面における節点及び結線の配置と、この拘束面に接触する隣接ブロックの拘束面における節点及び結線の配置とが一致するように、節点及び結線を配置する。
そして、これらブロックデータに基づき、各ブロックをメッシュ化し、そのメッシュデータを記憶装置20に登録することにより、メッシュ化対象の地質モデルにおける全領域又は一部領域に対応するメッシュモデルを生成することができるようにする。
本実施例のように地質モデルを三次元格子状に分割すれば、データベース化された各ブロックのメッシュモデルを結合して、地震波動解析に用いるメッシュモデルを生成する際に、地震波動解析に必要十分な地域及び深さまでのブロックを結合して、地震波動解析に好適なメッシュモデルを生成することができ、地震波動解析を効率的に行うことができる。また、地表面に近いブロック群のみを結合して、地表に近い地盤のみの解析や津波の伝播解析等に好適なメッシュモデルを作成することも可能である。
尚、第二実施例及び第三実施例と同様、ブロック毎に拘束面の数がばらつかないようにするために、第四実施例の情報処理システム2は、全てのブロックに関して、その全面(6面)に拘束面を設定する構成にされてもよい。即ち、隣接ブロックとの接触面以外に、地質モデルの表面に対応するブロックの面に対しても拘束面を設定してもよい。
[拘束面付ブロックのメッシュ化方法]
続いて、拘束面付ブロックのメッシュ化方法について説明する。以下では、単一の拘束面を有するブロック(図4(b)参照)のメッシュ化方法、平行な2面を拘束面として有するブロック(図10参照)のメッシュ化方法、側面に該当する4面を拘束面として有するブロック(図13(a)(b)参照)のメッシュ化方法、全面(6面)を拘束面として有するブロックのメッシュ化方法について、夫々説明する。
(A)単一の拘束面を有するブロックの四面体要素によるメッシュ化方法
第一実施例において、単一の拘束面を有するブロックを四面体要素でメッシュ化する場合には、図15に示す手順により、このブロックをメッシュ化することができる。ここでは、図16左上に示す面P13−P12−P15−P18が拘束面であるものとする。
このブロック(以下、処理対象ブロックという。)のメッシュ化に際しては、図16左上に示すように、唯一存在する拘束面P13−P12−P15−P18と対向する処理対象ブロックの面P14−P17−P16−P11の四つ角のいずれか一つの節点P11を頂点とする四面体要素であって、拘束面P13−P12−P15−P18に形成された三角形状の各メッシュ要素を底面とする四面体要素によって、処理対象ブロックを分割する(S610)。
更に、図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)。
また、図16右下に示すように、節点P11と、節点P12と、節点P14の対角に位置する処理対象ブロックの角の節点P15と、を結ぶ三角形P11−P12−P15の面上に設けられた三角形状の各メッシュ要素と底面する四面体要素であって、節点P13の対角に位置する処理対象ブロックの角の節点P16を頂点とする四面体要素により処理対象ブロックを分割する(S630)。
更に、図16左下に示すように、処理対象ブロックにおいて四面体要素に分割されていない四角錐P11−P16−P17−P14−P12の領域を、P11−P17−P12を境界面として二分割して四面体要素に分割する(S640)。このようにして、ここでは、処理対象ブロックを簡易に四面体要素でメッシュ化する。
この後、図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)。
この後には、互いに直交する非拘束面のペアが共有する処理対象ブロックの各辺(辺P13−P14、辺P17−P12、辺P18−P11、辺P16−P15、辺P14−P11、辺P17−P16、辺P14−P17、及び辺P11−P16の各辺)に沿って、ペアに該当する非拘束面の夫々に付加された第一被覆体Q1の表面に接触する直方体であって第一被覆体Q1との接触面が第一被覆体Q1の面と同サイズの直方体で構成される第二被覆体Q2を付加する。この付加前又は後には、第二被覆体Q2を、第一被覆体Q1との接触面において第一被覆体Q1と節点及び結線が一致するように、四面体要素でメッシュ化する(S660)。
具体的には、第二被覆体Q2における第一被覆体Q1に接触する二つの面の内、一方の面に接触する第一被覆体Q1の当該接触面においてS650でのメッシュ化により形成された三角形状の各メッシュ要素を基準にして、第二被覆体Q2を、当該各メッシュ要素を底面に有する三角柱の一群に分割し、これら三角柱の夫々を、他方の面に接触する第一被覆体Q1の当該接触面の結線パターンに合わせて、三つの四面体要素で分割することにより、第二被覆体Q2を六つの四面体要素でメッシュ化する。
更に、図17に示すように、拘束面P13−P12−P15−P18に接しない節点P11,P14,P16,P17が設定された角の夫々に、角の周囲に付加される第二被覆体Q2の表面に接触する直方体であって第二被覆体Q2との接触面が第二被覆体Q2の面と同サイズの直方体で構成される第三被覆体Q3を付加し、この付加前又は後には、各角に節点を有する第三被覆体Q3を、第二被覆体Q2との接触面において第二被覆体Q2と節点及び結線が一致するように四面体要素でメッシュ化する(S670)。
このようにして、処理対象ブロックにおける拘束面P13−P12−P15−P18以外の外周に第一〜第三被覆体Q1,Q2,Q3を付加して、処理対象ブロックと第一〜第三被覆体Q1,Q2,Q3とからなる直方体形状のスーパーボックスを生成する。この時点で、スーパーボックスは、簡易に四面体要素でメッシュ化された状態にされる。図18(a)は、図17に示す処理対象ブロック及び第一〜第三被覆体Q1,Q2,Q3からなるスーパーボックスを、方角Daから見た斜視図であり、図18(b)は、同スーパーボックスを、方角Dbから見た斜視図である。
この処理後には、スーパーボックスにおける処理対象ブロックに未設定の節点を設定し、スーパーボックスをデローニ法に基づき四面体要素で再メッシュ化する(S680)。その後、スーパーボックスから処理対象ブロックを抽出する(S690)。このようにして、単一の拘束面を有するブロックについては、拘束面における節点及び結線の形状を保持した状態で、処理対象ブロックを四面体要素によりメッシュ化することができる。
(B)平行な2面を拘束面として有するブロックの四面体要素によるメッシュ化方法
第二実施例において、平行な2面を拘束面として有するブロックを四面体要素でメッシュ化する場合には、図19及び図20に示すように、このブロックをメッシュ化する。図19及び図20において、拘束面は、面P33−P34−P38−P37及び面P36−P35−P39−P30であるものとする。
メッシュ化に際しては、まず処理対象ブロックの内部領域の一点(中央領域)に節点P31を設定する。そして、節点P31を頂点とし拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割する(図19左図参照)。更に、処理対象ブロックが有する非拘束面P36−P33−P34−P35の内部領域の一点に節点P321を設定し、非拘束面P36−P33−P34−P35の拘束面と共有する二辺に設定された節点(拘束面の節点)と上記節点P321とを結んで、この非拘束面を三角形要素により分割し、これら三角形要素と節点P31をと結んで、処理対象ブロックを四面体要素により分割する(図19右図参照)。
同様にして、処理対象ブロックが有する非拘束面P37−P38−P39−P30についても、その内部領域の一点に節点P322を設定し(図20左上図参照)、この非拘束面を三角形要素により分割し、これら三角形要素と節点P31をと結んで処理対象ブロックを四面体要素により分割する。
この他、非拘束面P36−P30−P37−P33に対しても節点P323を設定して(図20右上参照)、この非拘束面を三角形要素により分割し、これら三角形要素と節点P31をと結んで処理対象ブロックを四面体要素により分割し、非拘束面P34−P38−P39−P35に対しても節点P324を設定して(図20右下参照)、この非拘束面を三角形要素により分割し、これら三角形要素と節点P31をと結んで処理対象ブロックに四面体要素により分割する。
このようにして、処理対象ブロックを四面体要素により簡易にメッシュ化した後には、単一の拘束面を有するブロックの四面体要素によるメッシュ化方法と同様の手法で、拘束面以外の非拘束面を覆うように、処理対象ブロックに対して被覆体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以外の拘束面の節点及び結線の配置を省略する。
このブロックのメッシュ化に際しては、第一の非拘束面P72−P73−P74−P75の内部領域に一つの節点P711を設定し、この節点P711を頂点とし、拘束面の夫々に形成された三角形状の各メッシュ要素を底面とする四面体要素により処理対象ブロックを分割する(図21第一段(最上段)及び第二段参照)。その後、第二の非拘束面P76−P77−P78−P79の内部領域に一つの節点P712を設定し、この節点P712と、この非拘束面P76−P77−P78−P79の拘束面と共有する四辺の夫々に設定された各節点とを結んで、非拘束面P76−P77−P78−P79を三角形要素により分割する(図21第三段参照)。そして、これら三角形要素と節点P711をと結んで処理対象ブロックに四面体要素により分割する。
このようにして、処理対象ブロックを四面体要素により簡易にメッシュ化した後には、拘束面以外の非拘束面を覆うように、処理対象ブロックに対して被覆体Q1を付加し、これによってスーパーボックスを形成する(図21第四段参照)。そして、このスーパーボックスに、必要な節点を配置して、デローニ法に基づき四面体要素で再メッシュ化する。その後、スーパーボックスから処理対象ブロックを抽出することにより、4側面を拘束面として有するブロックについては、拘束面における節点及び結線の形状を保持した状態で、四面体要素によりメッシュ化することができる。
(D)6面を拘束面として有するブロックの四面体要素によるメッシュ化方法
第四実施例において、6面を拘束面として有するブロックを四面体要素でメッシュ化する場合には、図22に示すようにして、このブロックをメッシュ化することができる。即ち、ブロックの内部領域の一点に節点P91を設定し、この節点P91を頂点し、各拘束面の三角形要素を底面とする四面体要素により、処理対象ブロックを四面体要素により簡易にメッシュ化する。その後には、この処理対象ブロックに、必要な節点を配置して、処理対象ブロックをデローニ法に基づき四面体要素で再メッシュ化する。6面を拘束面として有するブロックについては、このようにして、拘束面における節点及び結線の形状を保持した状態で、四面体要素によりメッシュ化することができる。
[最後に]
以上、本発明の実施例について説明したが、本発明は、上記実施例に限定されるものではなく種々の態様を採ることができる。尚、上記実施例の演算装置10,10aが実行するS130の処理は、分割手順の一例に対応し、演算装置10が実行するS210及び演算装置10aが実行するS410〜S440の処理は、設定手順の一例に対応し、演算装置10が実行するS220及び演算装置10a,10b,10cが実行するS520の処理は、メッシュ化手順の一例に対応する。