/地球流体セミナー
/講演資料一覧
/2003-03-17/
 
 
石岡 圭一(東大・数理科学)  
2003 年 3 月 18 日
 
講演ビデオを見るには, 以下の各スライド画像をクリックし, 
左上に表示される「ビデオ開始」をクリックしてください.
 
 
 | 
タイトルぺージ 
 |  
 
  
  
1. ISPACK の概略と設計
 
 | 
ISPACK パッケージリスト 1
 |  
 
  
 
 | 
ISPACK パッケージリスト 2
 |  
 
  
 
 | 
ISPACK の設計思想
-  性能重視, コードの可読性よりもマニュアルを充実を優先
  
 |  
 
  
2. 球面スペクトル法の概要
 
 | 
球面調和関数展開 1
 |  
 
  
 
 | 
球面調和関数展開 2
 |  
 
  
 
 | 
展開係数に対する常微分方程式の決定
 |  
 
  
 
 | 
具体例: 球面上の 2 次元非発散オイラー方程式 1
 |  
 
  
 
 | 
具体例: 球面上の 2 次元非発散オイラー方程式 2
 |  
 
  
 
 | 
変換法
 |  
 
  
 
 | 
変換の手順
 |  
 
  
 
 | 
球面スペクトル法のよいところ
 |  
 
  
3. 球面調和関数変換のベクトル化
 
 | 
ルジャンドル陪関数変換
 |  
 
  
 
 | 
ルジャンドル陪関数変換に必要な計算量
 |  
 
  
 
 | 
変換のベクトル化
-  自然な最内側 DO LOOP 変数は j (緯度方法の格子点)
  
 |  
 
  
 
 | 
最内側 DO LOOP 変数を j としたときの問題点と解決策
 
-  ベクトル長が稼げない
 -  正変換の計算が内積型 (A = A + B*C のくりかえし) となるため, 計算速度が低下する
 -  最内側 DO LOOP 変数を m (経度方向の波数) とする
  
 |  
 
  
 
 | 
配列の並び変え
-  ベクトル長を均等にするため, 展開係数を格納する配列を並び変える
  
 |  
 
  
 
 | 
三角形切断の場合
 |  
 
  
4. 球面調和関数変換の省メモリ化
 
 | 
ルジャンドル陪関数の格納に必要なメモリ
 |  
 
  
 
 | 
省メモリ化の骨子: 
 |  
 
  
 
 | 
省メモリ化の手順 1
 |  
 
  
 
 | 
省メモリ化の手順 2
 |  
 
  
				 
 
 | 
省メモリ化の手順 3
 |  
 
  
				 
5. 球面調和関数変換の回数の削減
 
 | 
平面上の 2 次元非発散流体の場合
 |  
 
  
 
 | 
球面上の 2 次元非発散流体の場合 1
 |  
 
  
 
 | 
球面上の 2 次元非発散流体の場合 2
-  上手に式を変形してから考えると 4 回の変換で済む
  
 |  
 
  
 
 | 
球面上の浅水流体の場合 1
 |  
 
  
 
 | 
球面上の浅水流体の場合 2
 |  
 
  
6. 時間積分法に関する工夫
 
 | 
浅水系の問題
 |  
 
  
 
 | 
時間積分法に関する工夫 1
-  球面調和関数によるスペクトル法は展開関数が重力波の固有モードに対応しているので, 差分法に比べ高精度の計算を安定に行うことができる
 -  問題を一般化する
  
 |  
 
  
 
 | 
時間積分法に関する工夫 2
-  球面調和関数によるスペクトル法は展開関数が重力波の固有モードに対応しているので, 差分法に比べ高精度の計算を安定に行うことができる
 -  問題を一般化する
  
 |  
 
  
 
 | 
時間積分法に関する工夫 3
 |  
 
  
 
 | 
具体例: 4 次のルンゲ-クッタ法を用いた場合
 |  
 
  
参考文献
 
Odaka Masatsugu
2003-03-20
 |