精緻なシミュレーションを目指して-宇宙磁気流体・プラズマサマースクール

130805-09summerschool62013年8月5日(月)午後~8月9日(金)に千葉大学統合情報センターにて、宇宙磁気流体・プラズマシミュレーションサマースクールが5人の講師のもとに開催され、大学院生を中心に18人の参加がありました。
今回は昨年のスクールの発展型として、すでに宇宙磁気流体・プラズマシミュレーションの経験をもつ大学院生・研究者を主な対象としました。一次精度、1次元磁気流体シミュレーションコードの作成を目標としたところ参加者全員がクリアし、中には二次精度、3次元シミュレーションまで到達した受講生もいました。

スクールは松元教授のあいさつから始まった

スクールは松元教授のあいさつから始まった

はじめに世話人である千葉大学の松元亮治(まつもと・りょうじ)教授が、スクールの目標を話しました。「昨年度は、宇宙磁気流体シミュレータCANS(Coordinated Astronomical Numerical Software)に加えて、電磁粒子モデルに基づくプラズマ粒子シミュレータpCANSを教材とし、シミュレーション初心者向けのサマースクールを開催しました。今年度は経験者を主な対象とし、一次精度、1次元シミュレーションを目標としています。また、すでにコードを開発している人向けに、高速化・可視化のコースも用意しています」。

三好隆博助教の講義の様子

三好助教の講義の様子

続けて松元教授の「差分法の基礎」、広島大学の三好隆博(みよし・たかひろ)助教の「近似リーマン解法による磁気流体方程式の差分解法」と題する講義がありました。近似リーマン解法の1つであるHLLD法は、解像度、計算効率の全てに優れた磁気流体力学(MHD)方程式の解法で講師の三好氏らが開発したものです。講義の中で詳しい説明がありました。

休憩後、千葉大学の松本洋介(まつもと・ようすけ)特任助教から演習室の使い方の説明を受けた後、MHDコード作成(C、C++言語)、MHDコード作成(FORTRAN)、手持ちのコードの高速化や可視化の3グループに別れ実習に臨みました。
1日目の夜には懇親会があり、講師も受講生も打ち解けた様子でした。修士課程1年の受講生からは、異口同音についていけるか心配だとの声が聞かれました。

130805-09summerschool3130805-09summerschool2

簑島氏(右)の説明を真剣な面持ちで聞く受講生ら(左)

キャプション

高次精度化したシミュレーション結果を可視化したアニメーションを紹介する簑島氏

2日目午前は、松本助教による「スカラチューニング・OpenMPによるコードの高速化」、「IDLによる解析・可視化」の講義が行われました。海洋開発研究機構の簑島敬(みのしま・たかし)研究員は、高次精度化したシミュレーション結果を可視化したアニメーションを紹介しました。精度を上げるとシミュレーションのきめが細かくなります。受講生たちは一次精度のアニメーションと高次精度のアニメーションを見比べ違いを確認しました。その後、2日目午後から5日目午前まで実習が続きました。

発表会中には受講生からたくさんの質問が寄せられた

発表会でも受講生からたくさんの質問が寄せられた

最終日5日目午後には発表会が行われました。MHDコード作成グループの受講生全員が、一次精度、1次元のシミュレーションを達成していました。修士1年生の参加者の中にも2次元コードの作成・高次精度化まで進めた受講生もおり、講師陣を驚かせました。高速化や可視化グループではスカラチューニング・OpenMPによるスレッド並列化で、13倍程度まで高速化させた受講生もいました。

演習担当の国立天文台・高橋博之(たかはし・ひろゆき)特任助教は、「自分がコードのデバックをするときは一人で閉じこもってやるしかありませんが、このサマースクールでは最先端の研究をしているコーディングのプロに見てもらえます。自分も学生のときにこのようなスクールに参加したかったです」と話しました。
松元教授は、「この分野の先駆者は1年かけて一次精度、1次元のコードを開発しました。参加者はそれを5日で達成しました。この成果を各々の研究テーマに活用していってほしいです」と話しました。

用語解説

近似リーマン解法
圧縮性流体方程式に対する代表的な衝突波捕獲法で、HLL(Harten-Lax-van Leer)法、Roe法などがある。HLL法を、プラズマの巨視的なダイナミクスを記述する基礎方程式である磁気流体力学(MHD)方程式に拡張した解法として、HLLD(Harten-Lax-van Leer Discontinuities)法が広く用いられている。
カテゴリー: スクール報告, 新着情報   パーマリンク