説明

演算子生成方法、演算子生成装置、及びシミュレーション装置

【課題】時間領域有限差分法により行う弾性体からなる有限な媒質中の地震波の伝播についての数値解析において、計算効率、精度に加え安定性を好適に実現することができる演算子を生成する方法、演算子生成装置、及びシミュレーション装置を提供する。
【解決手段】状態ベクトルに作用し各離散点での変位ベクトルの空間1階差分演算子をP、弾性定数行列をCとして、剛性行列H′をPCP、又はその線形結合の形に設計する。また、質量行列T′に関しては、離散点での差分近似により導かれる正定値の対角質量行列をT、δTnum=T′−Tとして、回転及び並進に対応する前記状態ベクトルに演算子δTnumを作用させた結果が0となるように設計する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時間領域有限差分法により行う、弾性体からなる有限な媒質中の波動についての数値解析に関し、その演算子生成方法、演算子生成装置、及びシミュレーション装置に関する。
【背景技術】
【0002】
弾性体の運動方程式を解く手法として時間領域差分法が用いられている。時間領域差分法を用いた数値解析では、安定性、計算効率、精度の3つが問題となる。古くから数多くの時間領域差分法による弾性波動計算手法は開発されてきたが、これら安定性、計算効率、精度を同時に好適に実現する手法はこれまでなかった。
【0003】
例えば、非特許文献1に示される時間領域差分計算手法は、弾性波動を効率よく、高精度に計算する手法を提供したが、安定性は保証されていなかった。
【0004】
ここでいう、「効率がよい」とは、特定の計算精度を得るための数値解析を行う計算機の使用リソースが少ないことを意味する。具体的には、計算時間が少なく、また当該計算に用いる差分演算子の幅が抑制される手法は、高い効率性であると評価される。また、計算手法における「精度」の評価に関しては、許容される効率性の範囲で実現できる「最適な精度」というものを考えることができる。以下、「最適精度を持つ演算子」とは非特許文献2に示される条件(後述の(9)式)を満たす演算子を意味する。
【非特許文献1】Takeuchi,N., and R.J. Geller, 2000, Physics of the Earth and Planetary Interiors, 119,99-131.
【非特許文献2】Geller,R.J., and N. Takeuchi, 1995, Geophysical Journal International, 123, 449-470.
【非特許文献3】Geller,R.J., and N. Takeuchi, 1998, Geophysical Journal International, 135, 48-62.
【発明の開示】
【発明が解決しようとする課題】
【0005】
既に述べたように、時間領域有限差分法により行う弾性体からなる有限な媒質中の波動についての数値解析において、従来の計算手法は、安定性、計算効率、精度を同時に好適に実現することができないという問題がある。
【0006】
本発明は上記問題点を解決するためになされたものであり、時間領域有限差分法により行う弾性体からなる有限な媒質中の波動についての数値解析において、安定性、計算効率、精度を同時に好適に実現することができる演算子を生成する方法、演算子生成装置、及びシミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る演算子生成方法及び演算子生成装置は、予測子修正子法を用いた時間領域有限差分法により行う、弾性体からなる有限な媒質中の波動についての数値解析に関し、運動方程式の陰形式の差分近似である次式、
【数22】

(ここで、Δtは時間方向の差分ステップを表し、c,c,cは解析対象空間に設定した複数の離散点での変位ベクトルの各成分からなる状態ベクトルであって、それぞれ時刻t+Δt,t,t−Δtにおけるものを表し、fは前記各離散点での外力ベクトルを表し、T′は質量行列を表し、H′は剛性行列を表す。)に基づいて設定される予測子及び修正子にて用いる演算子を生成するものであって、当該演算子として前記H′、及び次式、
δTnum=T′−T
で表されるδTnum(ここで、Tは前記離散点での差分近似により導かれる正定値の対角質量行列である。)を生成する方法又は手段を含み、前記H′を、前記状態ベクトルに作用し前記各離散点での前記変位ベクトルの空間1階差分演算子P(ここで、iは、Iを前記解析対象空間の次元に応じて決まる所定の自然数として、1≦i≦Iなる整数である。)と、弾性定数行列Cとから次式、
【数23】

(ここで、aは正のスカラー係数であり、演算子Pは演算子Pを表す行列の転置行列で表される演算子である。)に基づいて生成し、かつ、回転及び並進に対応する前記状態ベクトルに前記演算子δTnumを作用させた結果が0となるように当該δTnumを設定する。
【0008】
本発明に係るシミュレーション装置は、予測子修正子法を用いた時間領域有限差分法により行う、弾性体からなる有限な媒質中の波動についての数値解析を行うものであって、運動方程式の陰形式の差分近似である次式、
【数24】

(ここで、Δtは時間方向の差分ステップを表し、c,c,cは解析対象空間に設定した複数の離散点での変位ベクトルの各成分からなる状態ベクトルであって、それぞれ時刻t+Δt,t,t−Δtにおけるものを表し、fは前記各離散点での外力ベクトルを表し、T′は質量行列を表し、H′は剛性行列を表す。)に基づいて設定される予測子及び修正子であって、前記離散点での差分近似により導かれる正定値の対角質量行列T及び、δTnum=T′−Tで表される演算子δTnumを用いて、次式、
【数25】

で与えられる前記予測子と、次式、
【数26】

で与えられる前記修正子とをそれぞれ計算して、次式、
【数27】

で与えられる前記状態ベクトルcを時間発展的に順次生成する演算手段を有し、前記H′は、前記状態ベクトルに作用し前記各離散点での前記変位ベクトルの空間1階差分演算子P(ここで、iは、Iを前記解析対象空間の次元に応じて決まる所定の自然数として、1≦i≦Iなる整数である。)と、弾性定数行列Cとから次式、
【数28】

(ここで、aは正のスカラー係数であり、演算子Pは演算子Pを表す行列の転置行列で表される演算子である。)で表される演算子であり、前記演算子δTnumは、回転及び並進に対応する前記状態ベクトルに当該演算子δTnumを作用させた結果が0となる演算子である。
【発明の効果】
【0009】
本発明によれば、時間領域有限差分法により行う弾性体からなる有限な媒質中の波動についての数値解析に関し、安定性、計算効率、精度を同時に好適に実現することができる演算子及びシミュレーション装置が得られる。
【発明を実施するための最良の形態】
【0010】
以下、本発明の実施の形態(以下実施形態という)について説明する。
【0011】
本発明の実施形態である計算機システムは、演算処理部、記憶部、入力部及び出力部を含んで構成され、例えば、地震波解析に用いられる。演算処理部は、CPU(Central Processing Unit:中央演算処理部)として、各種のプログラムを実行する。具体的には、演算処理部は、後述する演算子生成方法に基づく演算子生成処理を行ったり、当該処理で生成される演算子を用いたシミュレーションを行う。これにより、計算機システムは、本発明に係る演算子生成装置、シミュレーション装置を実現する。また、演算処理部は、計算機システムの各部を制御する。
【0012】
記憶部は、演算処理部で実行される各種プログラムを格納する。また記憶部は、プログラム実行のための作業領域として使用され、計算過程でのデータを一時的に保持するためにも用いられる。また、記憶部は、演算子生成処理の結果として得られる演算子を保持したり、時間発展的なシミュレーションで得られる各時間ステップの解析結果を保持する。
【0013】
入力部は、キーボードやマウス等を含み、ユーザは入力部を操作して、演算処理部において演算子生成処理やシミュレーションに用いられる各種パラメータ等の設定を行う。
【0014】
出力部は、プリンタやディスプレイ等を含み、例えば、生成された演算子をプリントアウトしたり、シミュレーション結果をグラフィック表示したりすることができる。
【0015】
本実施形態に係る演算子生成方法、演算子生成装置及びシミュレーション装置は、時間領域有限差分法により行う、弾性体からなる有限な媒質中の波動についての数値解析に関する。
【0016】
ここで、演算子生成方法、演算子生成装置及びシミュレーション装置は相互に関連している。すなわち、演算子生成方法は、シミュレーション装置にて実行される時間領域有限差分法による数値解析処理に対応した演算子を生成する方法であり、演算子生成装置は当該演算子生成方法を実行して演算子を生成する。そして、シミュレーション装置は生成された演算子を用いて数値解析を行う。そのため、本発明に係る演算子生成及びシミュレーションの内容を理解する上では、それら全体を1つの計算スキームとして説明することが好適である。そこで、以下、本発明に係る演算子生成及びシミュレーションの内容を含んだ弾性波動解析スキームについて説明する。
【0017】
[運動方程式]
本発明に関するシミュレーションの対象となる弾性体中の弾性波動伝播に関する運動方程式は以下のような式で表される。
【数29】

【0018】
ここで、ρは密度、Cijklは弾性定数、uは変位ベクトルであり、各添え字i,j,k,lはそれぞれx,y又はzであり、三次元空間におけるxyz直交座標系の各軸方向の成分を表す。また、ui,j はu のj方向の微分(j=x,y,z)を表す。fは外力ベクトルのi方向成分である。なお、この式は、アインシュタインの縮約規則を用いて表現している。ちなみに当該規則は以下の数式表現においても適宜採用する。
【0019】
[1ステップの陰形式の差分近似]
時間領域差分法による解析では運動方程式を最適計算スキームに離散化する。離散化により、上記運動方程式の陰形式の差分近似である次式が得られる。
【数30】

【0020】
ここで、Δtは時間ステップを表す。c,c,cは解析対象空間に設定した複数の離散点に対する変位ベクトルの各成分からなる状態ベクトルであって、それぞれ、時刻t+Δt,t,t−Δtにおけるものを表す。また、fは前記各離散点での外力ベクトル、T′は質量行列、H′は剛性行列を表す。
【0021】
この離散化手法が時間発展に対して完全に安定であるためには、T′が正定値、H′が半正定値であることが必要条件となる。ここで、H′は以下の形式で表現できれば、半正定値性の条件を満たす。
【数31】

【0022】
ここで、Pは運動方程式中に現れる空間1階微分の差分近似であり、上付き文字T は行列の転置を表す。また、Cは弾性定数行列(空間の不均質性及び異方性も含む)である。また、(3)式右辺に現れる正定値演算子の線形結合である次式で表されるH′も半正定値性の条件を満たす。
【数32】

【0023】
ここで、i = 1,…,I(Iは整数)で、aは正の係数で、Pはそれぞれ1階差分演算子である。
【0024】
[予測子修正子法]
上記陰形式の方程式はそのままの形では計算機システムを用いた処理に適さず、実際には予測子修正子法を用いて計算機システムによるシミュレーションが行われる。予測子修正子法では、(2)式に基づいて、それぞれ陽形式で表現される予測子及び修正子が設定される。予測子及び修正子としてそれぞれ下記(5),(6)式を定義する。
【数33】

【数34】

【0025】
ここで、Tは対角質量行列である。また、δTnumは、
【数35】

となる質量行列の残差である。
【0026】
(5)式左辺括弧内の第1項は、時刻t+Δtにおける状態ベクトルcの予測値である。シミュレーションでは、まず、予測子を用いて既知の状態ベクトルc,cからcの予測値を計算する。次いで、修正子を用いて、予測値に対する修正値δcを計算する。そして、次式に示すように予測子と修正子とから得られた結果を加算して、次のタイムステップの状態ベクトルcが得られる。
【数36】

【0027】
[安定性の実現]
この予測子修正子法の安定性を保証するために、δTnum=T′−Tを、以下の条件を満たすように設計する。すなわち、修正子で用いられる演算子δTnumは、それをもとの運動方程式の固有周波数が0となる固有ベクトル(並進および回転に対応する)に作用させたとき、その結果が0となるという条件と、T′が正定値となるという条件とを満たすように設計する。
【0028】
本発明に係る演算子生成方法、演算子生成装置は、このδTnumに関する条件と、上述の(3)式又は(4)式の条件とを満たすように、(5),(6)式で用いる演算子H′,δTnumを生成する。そして、予測子修正子法によるシミュレーションは、このように生成された演算子H′,δTnumを用いて行われ、これにより安定性を確保することができる。
【0029】
[最適精度の実現]
以上、シミュレーションにおいて安定性を実現する演算子の生成について述べてきたが、次に安定性に加え、さらに上述の「最適な精度」が得られる演算子の生成について説明する。
【0030】
厳密な演算子の表現となる質量行列及び剛性行列をそれぞれT,Hと定義し、演算子の残差を以下のように定義する。
δT=T′−T
δH=H′−H
【0031】
また、正確な運動方程式の固有ベクトルをu(ここでmは複数存在し得る固有モードの識別子である。)、当該uに対応する固有周波数をωとして、固有ベクトルに対するδT及びδHの行列要素の対角成分をδTmm及びδHmmと定義する。
【0032】
T′及びH′が非特許文献2の最適精度演算子となる条件は、次式が空間についての差分ステップの2次以上の精度で成立することである。
【数37】

【0033】
この条件を満たす演算子を得るために、離散化した運動方程式に現れる1階差分演算子を以下のように設計する。D,D,Dを所定の微分定義位置でのそれぞれx,y,z軸方向に対する2点1階差分演算子とする。また、E,E,Eを前記微分定義位置でのx軸方向、y軸方向及びz軸方向それぞれに関する3点差分近似による、最適精度を持つように設計した2次精度0階差分演算子とする。ここでr,s,tはそれぞれ1又は2で、3点差分近似に用いる3つの離散点の微分定義位置に対する配置の相違を示すインデックスである。例えば、r=1は3つの離散点がx軸の負方向にシフトした配置、r=2は正方向にシフトした配置を表す。ここで、各離散点のx,y,z各方向における中点の座標をそれぞれx,y,zとし、離散点の間隔をhとする。例えば、微分定義位置の座標を(x,y,z)とした場合、r=1は具体的には、3つの離散点のうち中央の点のx座標がx−h/2となる配置を示し、r=2は中央の点のx座標がx+h/2となる配置を示す。他のインデックスs,tについても同様である。
【0034】
これらD,D,D、及びE,E,Eを用いて、1階差分演算子Drst,Drst,Drstを次式で定義する。
【数38】

【0035】
ちなみに、例えば、差分演算子Drstは、Dを微分方向であるx軸とは別の他の2つの軸、すなわちy軸及びz軸両方向、に拡散した1階微分の差分近似である。Drst,Drstについても同様である。
【0036】
例えば、上式中に現れるE,Eの具体形を、格子点上の任意連続関数fに作用する形で示したものが次に示す(13),(14)式それぞれの第1行、第2行の式である。E,Eも同様の具体形を有する。
【数39】

【0037】
なお、(13),(14)式それぞれの第3行の式は第1行、第2行で表される式をテイラー展開した結果を示している。このようにE,E,Eは、0階微分(当該テイラー展開の第1項)に特定の係数を有する2階微分成分(当該テイラー展開の第2項)が付加されたものとなり、これにより(9)式で示した最適精度の条件が満たされるようになる。
【0038】
最適精度条件が満たされる場合には、(4)式の差分演算子Pは、Drst,Drst,Drstを用いてr,s,tの8通り(2通り)の組み合わせのそれぞれに対応して定められる。すなわち、(4)式の説明で述べたIは8であり、iは1≦i≦Iなる整数である。また、各aは1/8となる。
【0039】
具体的には、Prstを、任意なベクトルv,wを用いた以下の双二次形式で定義する。
【数40】

【0040】
ここでPrstはDrst(i=x,y,z)の組み合わせを行列表記した1階差分演算子であり、r,s,tの組み合わせに応じて番号付けを行い、各Pと対応させる。
【0041】
2次元(P−SV問題およびSH問題) の場合(解析対象空間をxz平面とする)は、3次元の場合のDrst,Drst,Drstに相当する差分演算子Drs,Drsが次式で定義される。ここで、rとsは上述の3次元の場合のrとtに対応するインデックスであり、それぞれの値は1又は2である。
【数41】

【0042】
ちなみに、例えば、差分演算子Drsは、Dを微分方向であるx軸とは別の他の1つの軸、すなわちz軸方向に拡散した1階微分の差分近似である。Drsについても同様である。
【0043】
最適精度条件が満たされる場合には、(4)式の演算子Pは、Drs,Drsを用いてr,sの4通り(2通り)の組み合わせのそれぞれに対応して定められる。すなわち、2次元の場合、1≦i≦Iなる整数iの上限値Iは4であり、また、各aは1/4となる。
【0044】
具体的には、2次元の場合のPrsを以下の表式を用いて定義する。
【数42】

【0045】
ここでPrsはDrs(i=x,z)の組み合わせを行列表記した1階差分演算子であり、r,sの組で番号付けを行うことで各Pに対応させる。
【0046】
この演算子が作用する状態ベクトルとして、y成分の変位のみを持つようにとることでSH問題は定義され、x,z成分のみを持つようにとることでP−SV問題は定義される。
【0047】
上記のようにH′を複数のPの和で表現することにより、数値演算子の一般固有値問題を解いたとき、並進・回転モード以外の固有周波数が0となる固有モードの存在を防ぐことができる。
【0048】
[非物理現象の抑制]
上記のように定義されたH′を用いてシミュレーションを行うと、3次元、2次元のいずれの解析においても、空間一格子ごとに振動するような成分を有する高波数の波が低い振動数を持つようになる現象が生じ得る。物理的にいえば、高波数(短波長)の波はより高い振動数を持つのが自然であり、上述の現象は非物理的な現象である。この現象の発生を抑制する演算子について以下説明する。
【0049】
非物理現象の発生を抑制するためには、Fで定義されるi軸(i=x,y,z)方向の3点2階差分演算子を用いて演算子Qを設計し、上述のH′を以下のように修正する。ただし、rは、上述のEの定義と同様に、差分演算子を定義する離散点の配置のシフト方向を示すインデックスであり、その値は1又は2である。
【数43】

【0050】
ここで、j=1,…,J(Jは問題の次元により定義される所定の整数)であり、εは正の係数である。また、Qは各jに対応する2階差分演算子である。(19)式は2次元、3次元問題共通である。具体的なF,Q,εの表式は後に記載する。
【0051】
ここまでで、安定でかつ最適精度の条件を満たし、非物理現象の励起を抑制する剛性行列H′の定義が完了した。
【0052】
[質量行列の定義]
次に、安定でかつ最適精度条件に適合し得る正定値質量行列T′を示す。最適精度条件に適合し得る質量行列T′を、予測子計算に用いる対角質量行列Tと、残差δTnumとを用いて(7)式と同じ形式の次式で表す。
【数44】

【0053】
前述のように、予測子修正子法の安定性のために、δTnumは、離散化された剛性行列H′と同様に並進及び回転モードに作用させたとき、その値が0となる必要がある。この条件を満たしつつ、最適精度の条件も満たすために、H′の表式を利用して、以下のようにδTnumを定義する。
【数45】

【0054】
この式の右辺は剛性行列の表現における弾性行列CをXで置き換えたものである。Xは、最適精度条件を満たすように、密度および格子間隔Δx(aはx,y,zのいずれか)を用いて定義される値で、
【数46】

となるものである。ここで、ρ(α) はα番目の微分定義点における密度の値であり、δab,δcd,δacはクロネッカーのデルタであり、a,b,c,dはそれぞれ座標軸x,y,zに対応する添え字である。
【0055】
ここまでで、予測子修正子法を用いた手法を安定にかつ、最適な精度で計算するための、剛性行列H′と、質量行列T′(及びδTnum)を導出することができた。
【0056】
これらの演算子を用い、予測子修正子法を用いて時間発展計算を行うことで、時刻格子、空間格子上における任意の点における状態ベクトルで表せる変位場を計算することが可能となる。
【0057】
[シミュレーションにおける計算効率の向上]
予測子修正子法におけるほとんどの計算負荷は、T′,H′による空間差分演算部分になる。この空間差分演算を以下の手順で行うことにより、シミュレーション実行時の計算効率を向上させることができる。
【0058】
上述したように、H′,T′は(3)式のような形式の行列の積を含んでいる。例えば、(3)式で表される演算子を状態ベクトルに作用させる演算では、
step1:差分演算子行列Pと格子点における変位の値に対応する状態ベクトルuとの積、
step2:step1の差分演算結果の各要素を弾性定数倍する演算、
step3:step2の演算結果を、差分演算子の転置であるP倍する演算、
を連続的に、効率よく行う必要がある。なお、弾性定数は微分定義位置において定義されているものとする。
【0059】
3次元上の格子点上の変位を、通常の有限要素法で用いられるように番号付けを行い、1次元ベクトルに置き換えたものをuとし、Pの要素をPijとすると、上記step1の演算は、
【数47】

と書き表される。uは格子点での値で定義されるベクトルであるのに対し、vは微分定義位置における演算結果を1次元的に番号付けして整列したベクトルである。(23)式は、或る微分定義位置(i) におけるvを計算するために微分定義位置i周辺の各uの値にPijで定義される重みを乗算し、和をとる形になっている。図1は、2次元の場合の(23)式の演算を説明する図であり、ステンシルの模式図である。図1において、白丸(○)が格子点であり、黒四角(■)が微分定義位置を表す。各格子点の近くに示す数値はPijを示す。なお、一般的には微分定義位置に対して図1(a)のように6点の格子点が存在し得るが、微分定義位置が解析対象空間の境界に隣接する場合、図1(b)のように4点からなるステンシルが設定され得る。
【0060】
step2の演算は、単純なスカラー倍で書き表されるので特に工夫は必要でない。
【0061】
step3の演算は、
【数48】

と書き表される。(24)式において、wは格子点における演算結果を表すベクトルである。また(24)式において、w(j)=Pjkとおいた。ここで、w(j)はvで表されるベクトルのj番目の微分定義点の値を、k番目の格子点に分配することで計算される。すなわち、右辺のvが上述のように微分定義位置での値で定義されるベクトルであるのに対し、wはuと同じく格子点における演算結果を表すベクトルである。図2は、2次元の場合の(24)式の演算を説明する図であり、ステンシルの模式図である。図2は図1と同様、白丸(○)が格子点であり、黒四角(■)が微分定義位置を表す。また、各格子点の近くに示す数値はPijを示す。なお、図2(a),(b)でのステンシルの違いも図1と同様である。
【0062】
すべての微分定義位置について、上記step1〜3の演算を繰り返し行うことで、全ての行列演算が完了する。この計算方法によれば巨大な行列とベクトルの積の計算を部分的な演算の和で効率よく実行することができる。
【0063】
[Qの具体的な表現]
以下に上述のF,Q及びεの具体形について表記する。まず3次元の場合について記述し、その後で2次元の場合について記述する。
【0064】
はじめに、2階差分演算子Fを0階差分演算子を定義したときと同様に、連続関数fに対する離散化表現を用いて定義する。以下にFの場合の具体形を示す。
【数49】

【0065】
他のFについても同様に定義される。これらのFの定義を用い、(15)式により表されるPrstの定義式におけるDrstを以下の6パターンで置き換え、Prstに相当する部分を抽出することによってQrst を定義する。
【数50】

【0066】
これらの6パターンの置き換えにより生成される2階差分演算子Qrstを用いて、以下のように剛性行列の要素Hrstを定義する。
【数51】

【0067】
そして、最終的に剛性行列H′を
【数52】

で計算する。上式ではj=1,2,3に対してε=5/144,j=4,5,6に対してε= (5/144)を用いた。5/144以上の値を使用した手法も可能であるが、その場合時間ステップΔt をより小さくとる必要があるため、5/144を用いるのが好適である。
【0068】
2次元の場合の2階差分演算子Qrsの表現は3次元の場合と同様に(18)式により表されるPrsの定義式におけるDrsを以下のように置き換えたものに対して、Prsに相当する演算子を抽出することにより計算することができる。
【数53】

【0069】
これらを用いて構成される2階差分演算子Qrsを用いて、2次元の場合の剛性行列の要素Hrsを定義する。
【数54】

【0070】
上式ではε=5/144,(j=1,2)を用いるが、2次元の場合は4/144 以上であれば、非物理的な現象を抑制することができる。これらの剛性行列の要素Hrsを用いて最終的に剛性行列H′は
【数55】

と書き表される。
【0071】
[上述の計算スキームの応用例等]
本計算スキームでは、各微分定義点に弾性定数(異方性を含む)および密度の値を与えることで、全ての行列を定義する。任意不均質構造は、弾性定数、密度の値を各微分定義点に与えることで実現でき、また、任意の表面地形形状は、空中の弾性定数および密度に0を与えることで導入できる。
【0072】
また、本計算スキームは陽解法を用いて時間を更新していく手法であり、時間ステップΔtのとりうる最大値は、固有値解析により求められる最大固有値により決定することが可能である。これは一般的な手法であるので、ここでは特に記述しない。
【0073】
上述の演算子生成方法により定義される安定かつ最適精度を持つ空間差分演算子は、既存の吸収境界条件を用いる手法と組み合わせて使用することもできる。よって、このような手法も本発明の演算子生成方法・装置及びシミュレーション装置の範囲に含まれる。
【0074】
また、上記により定義される安定かつ最適精度を持つ空間差分演算子は、既存の非弾性減衰を表現する手法と組み合わせて使用することができる。このような手法も本発明の範囲に含まれる。
【0075】
本発明においては3次元および2次元問題についての手法についてのみ扱う。これは、1次元の場合は、非特許文献3によって定義される手法と等価であるためである。
【0076】
「時間領域差分法」には、(a)「規則的な格子上で離散化し、変位もしくは速度、加速度を変数とし、時間発展を計算する手法」と、(b)「半格子幅での食い違いをもつ2種類の格子上で離散化し、変位もしくは速度、加速度、および応力を変数とし、時間発展を計算する手法」とが含まれる。ここまでは(a) について説明してきたが、本手法で用いた空間差分演算子を(b) の手法に適用することが可能である。すなわち、変位および速度の微分にP(もしくはP )を用い、応力の微分にはP(もしくはP)を用いて、時間発展計算を行うことで、安定性が保障されることになる。このような手法の場合、非特許文献3で示されているように、予測子修正子法は適用できないため、高精度性は保障できないが、予測子のみを用いて時間発展計算を行うことで、安定化の実現が可能である。
【0077】
なお、一般に解析対象空間に設定される格子点の数は非常に大きく、例えば、行列形式で表される離散化した演算子の規模も巨大となる。そのため、当該巨大な演算子行列の全体を生成して記憶部に保持したり、記憶部に保持した巨大な行列と、巨大な状態ベクトルとを直接、乗算することは、計算効率の観点から得策ではない。この点については、既に1つの工夫を、図1及び図2を用いて説明した。このように、本発明に係るシミュレーション装置では、状態ベクトルに演算子行列を作用させる計算を、解析対象空間の一部分ずつ行い得る。そして、その場合には、演算子行列のうち、これから計算を行う一部分に対応した行列要素が記憶部上に存在すれば処理を実行することができる。本発明に係る演算子生成方法、演算子生成装置は、このように必要とする一部分ずつを逐次的にシミュレーション装置に提供する演算子生成の仕方を含んでいる。
【0078】
また、演算子H′,δTnumは上述のように演算子(行列)の積を含む形式で表され得る。この場合に、演算子を生成するとは、その行列の積を計算した結果得られる行列H′や行列δTnumの行列要素を算出することには限定されず、積を構成する個々の演算子行列の要素を求めることも含む。例えば、図1及び図2を用いて説明した処理方法では、本発明の演算子生成では、H′を構成する行列の積PCPの1階差分演算子P,Pの行列要素は直接的・具体的に定めるが、H′の行列要素の具体的な値までは計算しない。しかし、この場合においてもP,Pに基づいてH′は(4)式により定義され、この意味においてH′は生成されているということができる。
【産業上の利用可能性】
【0079】
本発明に係る演算子生成方法、演算子生成装置、及びシミュレーション装置は、地震波の解析に用いることができる。地球内部を伝播してきた地震波形記録が持つ情報を十分に活用することができれば、より詳細で正確な内部構造推定が可能となる。高精度かつ高解像度の地球内部構造モデルの推定は、例えば、防災や、油田開発における物理探査などに利用することができる。
【図面の簡単な説明】
【0080】
【図1】PCPの形式の行列の積と状態ベクトルuとの積の演算方法を2次元の場合について説明するステンシルの模式図である。
【図2】PCPの形式の行列の積と状態ベクトルuとの積の演算方法を2次元の場合について説明するステンシルの模式図である。

【特許請求の範囲】
【請求項1】
予測子修正子法を用いた時間領域有限差分法により行う、弾性体からなる有限な媒質中の波動についての数値解析に関し、運動方程式の陰形式の差分近似である次式、
【数1】

(ここで、Δtは時間方向の差分ステップを表し、c,c,cは解析対象空間に設定した複数の離散点での変位ベクトルの各成分からなる状態ベクトルであって、それぞれ時刻t+Δt,t,t−Δtにおけるものを表し、fは前記各離散点での外力ベクトルを表し、T′は質量行列を表し、H′は剛性行列を表す。)に基づいて設定される予測子及び修正子にて用いる演算子を生成する演算子生成方法であって、
当該演算子として前記H′、及び次式、
δTnum=T′−T
で表されるδTnum(ここで、Tは前記離散点での差分近似により導かれる正定値の対角質量行列である。)を生成する方法を含み、
前記H′を、前記状態ベクトルに作用し前記各離散点での前記変位ベクトルの空間1階差分演算子P(ここで、iは、Iを前記解析対象空間の次元に応じて決まる所定の自然数として、1≦i≦Iなる整数である。)と、弾性定数行列Cとから次式、
【数2】

(ここで、aは正のスカラー係数であり、演算子Pは演算子Pを表す行列の転置行列で表される演算子である。)に基づいて生成し、
回転及び並進に対応する前記状態ベクトルに前記演算子δTnumを作用させた結果が0となるように当該δTnumを設定すること、
を特徴とする演算子生成方法。
【請求項2】
請求項1に記載の演算子生成方法において、
前記解析対象空間はx軸、y軸及びz軸を座標軸とする3次元空間であって、
前記各離散点に対応して設定される微分定義位置でのx軸方向、y軸方向及びz軸方向それぞれに関する2点1階差分演算子をD,D,Dとし、
前記微分定義位置でのx軸方向、y軸方向及びz軸方向それぞれに関する3点差分近似による、最適精度を持つように設計した2次精度0階差分演算子をE,E,E(ここでr,s,tは1又は2で、差分に用いる3つの前記離散点の前記微分定義位置に対する配置の相違に応じた当該演算子の種類を示す。)とし、
次式、
【数3】

により、前記D,D,Dを微分方向の軸とは別の他の2つの軸方向に拡散した1階差分演算子Drst,Drst,Drstを前記各微分定義位置にて定義した場合に、
前記各演算子P(ここで、前記Iは8であり、iは1≦i≦Iなる整数である。)は、前記Drst,Drst,Drstを用いて前記r,s,tの8通りの組み合わせのそれぞれに対応して定められ、前記各aは1/8であること、
を特徴とする演算子生成方法。
【請求項3】
請求項1に記載の演算子生成方法において、
前記解析対象空間はx軸及びz軸を座標軸とする2次元空間であって、
前記各離散点に対応して設定される微分定義位置でのx軸方向及びz軸方向それぞれに関する2点1階差分演算子をD,Dとし、
前記微分定義位置でのx軸方向及びz軸方向それぞれに関する3点差分近似による、最適精度を持つように設計した2次精度0階差分演算子をE,E(ここでr,sは1又は2で、差分に用いる3つの前記離散点の前記微分定義位置に対する配置の相違に応じた当該演算子の種類を示す。)とし、
次式、
【数4】

により、前記D,Dを微分方向の軸とは別の軸方向に拡散した1階差分演算子Drs,Drsを前記各微分定義位置にて定義した場合に、
前記各演算子P(ここで、前記Iは4であり、iは1≦i≦Iなる整数である。)は、前記Drs,Drsを用いて前記r,sの4通りの組み合わせのそれぞれに対応して定められ、前記各aは1/4であること、
を特徴とする演算子生成方法。
【請求項4】
請求項2又は請求項3に記載の演算子生成方法において、
前記H′を、前記状態ベクトルに作用し前記各離散点での前記変位ベクトルの空間2階差分演算子Q(ここで、jは、Jを前記解析対象空間の次元に応じて決まる所定の自然数として、1≦j≦Jなる整数である。)を用いて修正した次式、
【数5】

(ここで、εは正のスカラー係数であり、演算子Qは演算子Qを表す行列の転置行列で表される演算子である。)に基づいて生成し、
前記εは、当該H′の前記微分定義位置におけるテイラー展開の4次の項の係数が0以上となるように定められること、
を特徴とする演算子生成方法。
【請求項5】
請求項4に記載の演算子生成方法において、
前記質量行列を表す正確な演算子Tに対する前記T′の誤差をδTとし、前記剛性行列を表す正確な演算子Hに対する前記H′の誤差をδHとし、正確な運動方程式の固有ベクトルu(ここでmは複数存在し得る固有モードの識別子である。)、当該uに対応する固有周波数をωとして、δTmm及びδHmmを固有ベクトルに対するδT及びδHの行列要素の対角成分とした場合に、
前記T′及び前記H′が全ての前記固有モードについて関係式、
ωδTmm−δHmm=0
を空間についての差分間隔の2次以上の精度で近似的に満たすという条件の下で、対角行列Xを選択して、次式、
【数6】

で表される前記δTnumを生成すること、
を特徴とする演算子生成方法。
【請求項6】
予測子修正子法を用いた時間領域有限差分法により行う、弾性体からなる有限な媒質中の波動についての数値解析に関し、運動方程式の陰形式の差分近似である次式、
【数7】

(ここで、Δtは時間方向の差分ステップを表し、c,c,cは解析対象空間に設定した複数の離散点での変位ベクトルの各成分からなる状態ベクトルであって、それぞれ時刻t+Δt,t,t−Δtにおけるものを表し、fは前記各離散点での外力ベクトルを表し、T′は質量行列を表し、H′は剛性行列を表す。)に基づいて設定される予測子及び修正子にて用いる演算子を生成する演算子生成装置であって、
当該演算子として前記H′、及び次式、
δTnum=T′−T
で表されるδTnum(ここで、Tは前記離散点での差分近似により導かれる正定値の対角質量行列である。)を生成する手段を有し、
前記H′を、前記状態ベクトルに作用し前記各離散点での前記変位ベクトルの空間1階差分演算子P(ここで、iは、Iを前記解析対象空間の次元に応じて決まる所定の自然数として、1≦i≦Iなる整数である。)と、弾性定数行列Cとから次式、
【数8】

(ここで、aは正のスカラー係数であり、演算子Pは演算子Pを表す行列の転置行列で表される演算子である。)に基づいて生成し、
回転及び並進に対応する前記状態ベクトルに前記演算子δTnumを作用させた結果が0となるように当該δTnumを設定すること、
を特徴とする演算子生成装置。
【請求項7】
請求項6に記載の演算子生成装置において、
前記解析対象空間はx軸、y軸及びz軸を座標軸とする3次元空間であって、
前記各離散点に対応して設定される微分定義位置でのx軸方向、y軸方向及びz軸方向それぞれに関する2点1階差分演算子をD,D,Dとし、
前記微分定義位置でのx軸方向、y軸方向及びz軸方向それぞれに関する3点差分近似による、最適精度を持つように設計した2次精度0階差分演算子をE,E,E(ここでr,s,tは1又は2で、差分に用いる3つの前記離散点の前記微分定義位置に対する配置の相違に応じた当該演算子の種類を示す。)とし、
次式、
【数9】

により、前記D,D,Dを微分方向の軸とは別の他の2つの軸方向に拡散した1階差分演算子Drst,Drst,Drstを前記各微分定義位置にて定義した場合に、
前記各演算子P(ここで、前記Iは8であり、iは1≦i≦Iなる整数である。)は、前記Drst,Drst,Drstを用いて前記r,s,tの8通りの組み合わせのそれぞれに対応して定められ、前記各aは1/8であること、
を特徴とする演算子生成装置。
【請求項8】
請求項6に記載の演算子生成装置において、
前記解析対象空間はx軸及びz軸を座標軸とする2次元空間であって、
前記各離散点に対応して設定される微分定義位置でのx軸方向及びz軸方向それぞれに関する2点1階差分演算子をD,Dとし、
前記微分定義位置でのx軸方向及びz軸方向それぞれに関する3点差分近似による、最適精度を持つように設計した2次精度0階差分演算子をE,E(ここでr,sは1又は2で、差分に用いる3つの前記離散点の前記微分定義位置に対する配置の相違に応じた当該演算子の種類を示す。)とし、
次式、
【数10】

により、前記D,Dを微分方向の軸とは別の軸方向に拡散した1階差分演算子Drs,Drsを前記各微分定義位置にて定義した場合に、
前記各演算子P(ここで、前記Iは4であり、iは1≦i≦Iなる整数である。)は、前記Drs,Drsを用いて前記r,sの4通りの組み合わせのそれぞれに対応して定められ、前記各aは1/4であること、
を特徴とする演算子生成装置。
【請求項9】
請求項7又は請求項8に記載の演算子生成装置において、
前記H′を、前記状態ベクトルに作用し前記各離散点での前記変位ベクトルの空間2階差分演算子Q(ここで、jは、Jを前記解析対象空間の次元に応じて決まる所定の自然数として、1≦j≦Jなる整数である。)を用いて修正した次式、
【数11】

(ここで、εは正のスカラー係数であり、演算子Qは演算子Qを表す行列の転置行列で表される演算子である。)に基づいて生成し、
前記εは、当該H′の前記微分定義位置におけるテイラー展開の4次の項の係数が0以上となるように定められること、
を特徴とする演算子生成装置。
【請求項10】
請求項9に記載の演算子生成装置において、
前記質量行列を表す正確な演算子Tに対する前記T′の誤差をδTとし、前記剛性行列を表す正確な演算子Hに対する前記H′の誤差をδHとし、正確な運動方程式の固有ベクトルu(ここでmは複数存在し得る固有モードの識別子である。)、当該uに対応する固有周波数をωとして、δTmm及びδHmmを固有ベクトルに対するδT及びδHの行列要素の対角成分とした場合に、
前記T′及び前記H′が全ての前記固有モードについて関係式、
ωδTmm−δHmm=0
を空間についての差分間隔の2次以上の精度で近似的に満たすという条件の下で、対角行列Xを選択して、次式、
【数12】

で表される前記δTnumを生成すること、
を特徴とする演算子生成装置。
【請求項11】
予測子修正子法を用いた時間領域有限差分法により行う、弾性体からなる有限な媒質中の波動についての数値解析を行うシミュレーション装置であって、
運動方程式の陰形式の差分近似である次式、
【数13】

(ここで、Δtは時間方向の差分ステップを表し、c,c,cは解析対象空間に設定した複数の離散点での変位ベクトルの各成分からなる状態ベクトルであって、それぞれ時刻t+Δt,t,t−Δtにおけるものを表し、fは前記各離散点での外力ベクトルを表し、T′は質量行列を表し、H′は剛性行列を表す。)に基づいて設定される予測子及び修正子であって、前記離散点での差分近似により導かれる正定値の対角質量行列T及び、δTnum=T′−Tで表される演算子δTnumを用いて、次式、
【数14】

で与えられる前記予測子と、次式、
【数15】

で与えられる前記修正子とをそれぞれ計算して、次式、
【数16】

で与えられる前記状態ベクトルcを時間発展的に順次生成する演算手段を有し、
前記H′は、前記状態ベクトルに作用し前記各離散点での前記変位ベクトルの空間1階差分演算子P(ここで、iは、Iを前記解析対象空間の次元に応じて決まる所定の自然数として、1≦i≦Iなる整数である。)と、弾性定数行列Cとから次式、
【数17】

(ここで、aは正のスカラー係数であり、演算子Pは演算子Pを表す行列の転置行列で表される演算子である。)で表される演算子であり、
前記演算子δTnumは、回転及び並進に対応する前記状態ベクトルに当該演算子δTnumを作用させた結果が0となる演算子であること、
を特徴とするシミュレーション装置。
【請求項12】
請求項11に記載のシミュレーション装置において、
前記解析対象空間はx軸、y軸及びz軸を座標軸とする3次元空間であって、
前記各離散点に対応して設定される微分定義位置でのx軸方向、y軸方向及びz軸方向それぞれに関する2点1階差分演算子をD,D,Dとし、
前記微分定義位置でのx軸方向、y軸方向及びz軸方向それぞれに関する3点差分近似による、最適精度を持つように設計した2次精度0階差分演算子をE,E,E(ここでr,s,tは1又は2で、差分に用いる3つの前記離散点の前記微分定義位置に対する配置の相違に応じた当該演算子の種類を示す。)とし、
次式、
【数18】

により、前記D,D,Dを微分方向の軸とは別の他の2つの軸方向に拡散した1階差分演算子Drst,Drst,Drstを前記各微分定義位置にて定義した場合に、
前記H′は、前記Drst,Drst,Drstを用いて前記r,s,tの8通りの組み合わせのそれぞれに対応して定められた前記演算子P(ここで、前記Iは8であり、iは1≦i≦Iなる整数である。)を用い、前記各aを1/8として生成されるものであること、
を特徴とするシミュレーション装置。
【請求項13】
請求項11に記載のシミュレーション装置において、
前記解析対象空間はx軸及びz軸を座標軸とする2次元空間であって、
前記各離散点に対応して設定される微分定義位置でのx軸方向及びz軸方向それぞれに関する2点1階差分演算子をD,Dとし、
前記微分定義位置でのx軸方向及びz軸方向それぞれに関する3点差分近似による、最適精度を持つように設計した2次精度0階差分演算子をE,E(ここでr,sは1又は2で、差分に用いる3つの前記離散点の前記微分定義位置に対する配置の相違に応じた当該演算子の種類を示す。)とし、
次式、
【数19】

により、前記D,Dを微分方向の軸とは別の軸方向に拡散した1階差分演算子Drs,Drsを前記各微分定義位置にて定義した場合に、
前記H′は、前記Drs,Drsを用いて前記r,sの4通りの組み合わせのそれぞれに対応して定められた前記演算子P(ここで、前記Iは4であり、iは1≦i≦Iなる整数である。)を用い、前記各aを1/4として生成されるものであること、
を特徴とするシミュレーション装置。
【請求項14】
請求項12又は請求項13に記載のシミュレーション装置において、
前記H′は、前記状態ベクトルに作用し前記各離散点での前記変位ベクトルの空間2階差分演算子Q(ここで、jは、Jを前記解析対象空間の次元に応じて決まる所定の自然数として、1≦j≦Jなる整数である。)を用いて修正した次式、
【数20】

(ここで、εは正のスカラー係数であり、演算子Qは演算子Qを表す行列の転置行列で表される演算子である。)で表される演算子であり、
前記εは、当該H′の前記微分定義位置におけるテイラー展開の4次の項の係数が0以上となるように定められていること、
を特徴とするシミュレーション装置。
【請求項15】
請求項14に記載のシミュレーション装置において、
前記質量行列を表す正確な演算子Tに対する前記T′の誤差をδTとし、前記剛性行列を表す正確な演算子Hに対する前記H′の誤差をδHとし、正確な運動方程式の固有ベクトルu(ここでmは複数存在し得る固有モードの識別子である。)、当該uに対応する固有周波数をωとして、δTmm及びδHmmを固有ベクトルに対するδT及びδHの行列要素の対角成分とした場合に、
前記T′及び前記H′は、全ての前記固有モードについて関係式、
ωδTmm−δHmm=0
を空間についての差分間隔の2次以上の精度で近似的に満たし、
前記δTnumは、対角行列Xを用いて、次式、
【数21】

で表されるものであること、
を特徴とするシミュレーション装置。
【請求項16】
速度もしくは変位、及び応力を互いに食い違った格子上で定義するスタッガードグリッド法を用いた時間領域有限差分法により弾性体からなる有限な媒質中の波動についての数値解析を行うシミュレーション装置であって、
前記速度もしくは変位の空間1階差分演算子としてPを用い、
前記応力の空間1階差分演算子として前記演算子Pを表す行列の転置行列で表される演算子Pを用い、
解析対象空間における自由表面を、垂直速度成分を持つ格子上に配置すること、
を特徴とするシミュレーション装置。

【図1】
image rotate

【図2】
image rotate