震源の指定¶
モーメント時間関数¶
ここでは本コードで利用可能なモーメント時間関数(震源時間関数)とそのスペクトルを整理する.以下のモーメント時間関数は,すべて継続時間(もしくは特徴的時間)をもち,総モーメントがに規格化されている.
OpenSWPCでは,パラメタ stftypeの選択により,以下の震源時間関数が選択できる.
- Box-car function (
boxcar)
- Triangle function (
triangle)
- Herrmann function (
herrmann)
- Cosine function (
cosine)
- Küpper wavelet (
kupper)
- t-exp type function (
texp)
それぞれの震源時間関数形状とその振幅スペクトルを下図に示す.
震源時間関数
震源時間関数 (左)とその振幅スペクトル(右).
モーメント時間関数のスペクトルは, の条件下で,それぞれ から のロールオフを持つ. シミュレーションが数値分散を起こさないためには,対象周波数帯の上限で充分に震源のスペクトルが小さくなっている必要がある. そのような条件を満たす最大周波数として,ここでは(図中赤点線)を採用する. この以下の周波数では分散を起こさないようにモデルパラメタが設定されていればよい. 一方,スペクトルの応答がほぼ一定になる,つまり震源時間関数がデルタ関数と見なせるのは概ね(図中青点線)である.
モーメントテンソル震源¶
震源メカニズムは6成分のモーメントテンソル,もしくはダブルカップル震源を特徴付けるstrike,
dip,
rakeの3つの角度で与えられる.また,震源位置を計算座標系もしくは地理座標系でも与えられる.さらに,震源の大きさを表す方法に地震モーメント,モーメントマグニチュード,すべり量と断層面積の3通りがある.これらの組み合わせにより,あわせて10種類の震源メカニズムフォーマットがある.
震源はモーメント時間関数を用いて応力降下として与えられる.要素モーメント時間関数は上述の6種類から選び,関数名をパラメタとして与える.どの関数であっても,震源の破壊開始時間と継続時間,ならびに全モーメント(モーメント時間関数の時間積分値)がパラメタとして与えられる.
OpenSWPCは複数の点震源を用いることができる.震源ファイルに複数行の震源要素があれば,それらすべての要素(のうち計算モデル領域内にある点)から地震動を放射させる.震源位置と破壊開始時刻等を少しずつずらすことにより,擬似的に有限断層面からの破壊を再現することも可能である.
なお,震源ファイルは,そのフォーマットに関わらずすべて#から始まる行はコメント行と見なされる.
特殊な条件として,パラメタsdep_fitにより,震源位置を速度構造モデルのプレート境界上に置くことが可能である.この場合は,震源ファイルの深さ指定は無視される.この場合,構造モデルの指定で該当する番号の層が指定されていることが必要である.
Parameters
stf_format-
モーメントテンソルの表現の種別.以下10種類から選ぶ.
-
'xym0ij': , , , , , , , , , , , -
'xym0dc': , , , , , , strike, dip, rake -
'llm0ij': lon, lat, , , , , , , , , , -
'llm0dc': lon, lat, , , , , strike, dip, rake -
'xymwij': , , , , , , , , , , , -
'xymwdc': , , , , , , strike, dip, rake -
'llmwij': lon, lat, , , , , , , , , , -
'llmwdc': lon, lat, , , , , strike, dip, rake -
'lldsdc': lon, lat, , , , , , strike, dip, rake -
'xydsdc': , , , , , , , strike, dip, rake -
'psmeca': lon, lat, , , , , , , , iexp (new in v5.2)
それぞれの量の単位は,, , は[km], と は [Nm], , は [s], 角度変数はすべて [degree],すべり量は [m],面積は[m]がそれぞれ仮定されている.
-
- **
stftype** - 要素震源時間関数(モーメント時間関数)の種類.
'boxcar'(箱形関数),'triangle'(三角形),'herrmann'(Herrmann関数),'kupper'(Kupper wavelet),'cosine'(関数),'texp'(関数)から選択する. - **
fn_stf** - 震源情報ファイル.このファイル中に
stf_formatで指定された書式で震源情報を記載する. - **
sdep_fit** - 震源の深さを強制的に境界に合わせるかどうかの指定.
'asis': なにもしない(デフォルト)'bd{i}'(i=1,2,9):i番目の境界に合わせる.
地震の大きさの指定¶
モーメントテンソル成分を直接与える場合には,地震モーメントあるいはモーメントマグニチュードの指定と,モーメントテンソル成分のあいだに,大きさに関するトレードオフがある.たとえば,以下の2つの指定は完全に等価である:
1e15 |
1.0 |
1.0 |
1.0 |
0.0 |
0.0 |
0.0 |
|
1.0 |
1e15 |
1e15 |
1e15 |
0.0 |
0.0 |
0.0 |
入力されたパラメタに基づき,最終的な地震モーメントは,
により定まる.もし複数の点震源が指定される場合には上式のすべての点震源要素についての和が全地震モーメントとなる.2次元P-SV, SH計算の場合には,それぞれの断面で有効な成分のみが評価される.このように大きさが分離できる記法を採用しているため,通常はモーメントテンソル成分は
と規格化されていることが暗に期待されている.かならずしもそうする必要はないが,この規格化がされていないと,パラメタとして入力したやと実際に計算される地震の大きさが異なる可能性がある.
psmeca 指定¶
GMT のpsmeca -Sm やglobalcmtで標準的に使われているフォーマットで震源を指定する.指定されるのは震源の緯度経度深さならびに極座標系におけるモーメントテンソル(, , , , , の順)と地震モーメントの指数部(整数)である.指数部は慣例に従い dyn-cm 単位で与えられることに注意されたい.これらのパラメタがOpenSWPC内部で直交座標系におけるモーメントテンソルに変換されて計算に用いられる.震源における破壊開始時間は,ライズタイムは Ekström et al. (2012)[^Ekström2012] に基づき,スケーリング
によって定める.ただしここでもはdyn-cm単位の値である.
なお,本指定は version 5.2 から有効となる.
水平回転に関する注意
Version 5.2 現在,パラメタ phiのとき,震源メカニズムを strike, dip, rake で与えたときとモーメントテンソルで与えたときで,メカニズムの回転の挙動が異なる.
前者 strike, dip, rake で与えたときには,phi の値に関わらず strike は北から測ったものとして計算される.一方,モーメントテンソルはあくまでも回転後の, 座標に対して定義されていることが仮定される.つまり,カタログからモーメントテンソル成分を利用し,かつ座標系を水平回転して計算するときには,ユーザーがモーメントテンソルの回転計算を自ら行ってパラメタとして与えなければならない.
これらの挙動が系統的でないことは開発者も認識しており,将来のバージョンで挙動が変更される可能性がある.
実体力モード¶
モーメントテンソル震源に代わり,実体力を震源とすることもできる. この場合,のかわりに, , の力源を直接指定する. 実体力はモーメントテンソル震源と同様のベル型の震源時間関数を用いて計算される. 任意個の点震源を記述することができるが, モーメントテンソルによる震源と実体力による震源からの同時輻射は,一度の実行では計算できない.
Parameters
bf_mode- 実体波モードのON/OFFを設定する.
.true.でONになる. stf_format-
震源ファイルのフォーマット(下記参照).モーメントテンソル震源とは記法が異なるので注意.
-
'xy': x, y, z, , , , , -
'll': lon, lat , z, , , , ,
-
stftype- 要素震源時間関数(モーメント時間関数)の種類.指定法はモーメントテンソル震源に同じ.
fn_stf- 震源情報ファイル.モーメントテンソルとは記法が異なるので注意.
sdep_fit- 震源の深さを強制的に境界に合わせるかどうかの指定.
'asis': なにもしない(デフォルト)'bd{i}'(i=1,2,9):i番目の境界に合わせる.
平面波モード¶
震源からの輻射の代わりに,下方から平面波を入射させることができる.
平面波入射は,モデル深部にあらかじめ上方に向かう波動方程式の解を初期条件として設定することで実現する.
初期条件は座標原点における初期深さ(pw_ztop),平面波初期条件の特徴的長さ(pw_zlen)と,初期条件の最上端の平面形状を指定する角度パラメタ(pw_strike, pw_dip)および,S波の場合には平面内の振動極性方向パラメタ(pw_rake)を要する.これらの角度パラメタは,Aki and Richards (20021)による断層面指定のstrike, dip, rakeの角度定義に準ずる.3次元の場合,pw_strike=0で軸(通常は東)に角度pw_dipで傾き下がるような平面となる.pw_rake=0もしくはpw_rake=180の場合,S波の振動極性の方向が水平面と一致するSH波になる.
原点における深さpw_ztopの位置から,幅 pw_zlen (km)の区間に,平面波形状関数として,パラメタstftypeで定めたモーメント時間関数の形状を利用する.モーメント時間関数の定義により,その伝播方向に沿った空間積分が1になるように規格化されている.
平面波のジオメトリ
平面波モードの座標系指定.(左)平面波最上面位置の指定.(右)深さ断面における初期条件指定.
Parameters
pw_mode- 平面波モードON/OFFを定める.
.true.のときには平面波モードとなり,点震源のリストは無視される. pw_ztop- 初期条件の原点における平面波上端の座標値
pw_zlen- 初期条件の平面波波長スケール.モーメント時間関数の幅(ライズタイム)に相当する.
pw_ps- 平面波種別.'p'もしくは's'.
pw_strike- 平面波初期条件の方位角.軸から時計回りに角度単位で与える.
pw_dip- 平面波初期条件の傾斜角(度).0度で水平入射である.
pw_rake- S波の場合の平面内振動方向(度).水平面方向から反時計回りに測った角度で記述する.
stftype- 要素震源時間関数(モーメント時間関数)の種類.指定法はモーメントテンソル震源に同じ.
なお,平面波モードの場合には,吸収境界条件としてかならず abc_type='pml'を用いるべきである.
簡易版の境界条件 abc_type='cerjan'では,水平方向の端から非常に強い人工反射波が生じてしまう.
平面波入射と吸収境界条件
S波平面波入射深さ断面スナップショットの例.緑色がS波(rot),赤色がP波(div)振幅をそれぞれ表す.境界条件が(a) Cerjanの場合と(b) PMLの場合.
また,PMLを用いたとしても,傾斜角がゼロではない平面波入射は,かならず境界からの汚染を伴う.人工反射波の振幅が小さくなることを確認するか,汚染をさけるため領域を充分広く取るなどの対策が必要となる.
-
Aki, K., and P. G. Richards (2002), Quantitative Seismology: Theory and Methods, 2nd eidtion ed., University Science Books. ↩