JP2008052530A - プラズマ粒子シミュレーション計算方法 - Google Patents

プラズマ粒子シミュレーション計算方法 Download PDF

Info

Publication number
JP2008052530A
JP2008052530A JP2006228728A JP2006228728A JP2008052530A JP 2008052530 A JP2008052530 A JP 2008052530A JP 2006228728 A JP2006228728 A JP 2006228728A JP 2006228728 A JP2006228728 A JP 2006228728A JP 2008052530 A JP2008052530 A JP 2008052530A
Authority
JP
Japan
Prior art keywords
calculation
equation
plasma
particle
simulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2006228728A
Other languages
English (en)
Inventor
Katsumi Ichifuji
克己 一藤
Iwao Ryu
岩 劉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HAMAMATSU METRIX KK
Original Assignee
HAMAMATSU METRIX KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by HAMAMATSU METRIX KK filed Critical HAMAMATSU METRIX KK
Priority to JP2006228728A priority Critical patent/JP2008052530A/ja
Publication of JP2008052530A publication Critical patent/JP2008052530A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】プラズマ粒子シミュレーションVillasenor-Buneman法の80%を占める計算ボトルネック部を高速に計算することができるプラズマ物理の計算機シミュレーション計算方法を提供する。
【解決手段】空間メッシュの格子立方体と同じ体積の粒子を想定し、この粒子に一定密度の電荷を帯びさせ電磁場の空間に配置することでプラズマの挙動を模擬する、Villasenor-Buneman(ヴィラセノウ−ブーネマン)法を汎用計算機を用いたプラズマ物理の計算機シミュレーションにおいて、Newton-lorentz(ニュートン−ローレンツ)の運動方程式(式(1))の計算を、電流密度の計算(式(2))、Maxwell(マックスウェル)の方程式の計算(式(3))、粒子に働く力の計算(式(4))、と段階的に計算をするに際し、前記式(2)の計算を実行させるための計算ユニットを前記汎用計算機内に実装して、プラズマ粒子の挙動を模擬する。
【選択図】図8

Description

本発明は、プラズマ物理の計算機シミュレーションに関し、さらに詳しくは、プラズマ粒子シミュレーション計算方法に関する。
プラズマ物理の計算機シミュレーションを実施する場合、一般に使われる粒子シミュレーション法は、PIC(Particle In Cell)と呼ばれ、粒子間の相互作用を直接解くのではなく、Newton-Lorentz運動方程式を用い、粒子の座標、速度などから空間格子状の電荷・電流を求めPoisson方程式等で空間電場・磁場分布を計算しMaxwell方程式で粒子に加わる力を計算するという手法を用いている。
しかし、微分形式からみた場合、このような操作は差分形式では極めて複雑な問題となるので、Villasenor-Buneman法を用いている。
Villasenor-Buneman法は、空間メッシュの格子立方体と同じ体積の粒子で、プラズマの挙動を模擬する手法であり、粒子に一定密度の電荷を帯びさせることで、プラズマ粒子の集団特性を表し、この粒子を空間に分布させ電磁場の空間に配置することで、空間におけるプラズマ粒子の挙動が模擬できる。
また、Villasenor-Buneman法では、電流の保存法則を満たしているプラズマの場合は、空間セルの格子電流の計算によりPoisson方程式を解かずに電磁場の計算ができ、Maxwell方程式のフル解を得る事ができ、Maxwell方程式を解くには、複雑なセル境界部分を除き、超並列に配した多数の高速演算器で電流データ部分を各パイプラインに格納できるようメモリを配置することで、効率よく計算することが可能である。
また、格子電流を得るには、粒子移動後に各粒子の周囲のセルに対する、電流影響度をセル壁の貫通量によって判断するが、この判断は3次元の場合、12以上のセル壁面を貫通する可能性があるため、それら全て内部分岐構造を再帰的手法によって処理する必要があり、汎用高速CPUのアーキテクチャである、ベクトル・キャッシュ手法を利用することはできない。
プラズマ粒子シミュレーションであるVillasenor-Buneman手法は洗練されており、且つ、電磁場のフル解が得られ、極めて優れている(非特許文献1参照)。
Jone Villasenor, "Rigorous charge conservation for local electromagnetic field solvers" Conputer Physics Communications 69(1992)306-316 North-Holland
しかしながら、非特許文献1に記載のVillasenor-Bunemanの手法においては、内部分岐構造を再帰的手法により処理する必要があるため、汎用の高速計算のベクトルキャッシュ手法が使用できない等、計算所要時間があまりにも膨大となり、現実的な時間内で計算処理できないという問題が存在する。
そこで、本発明は、プラズマ粒子シミュレーションVillasenor-Buneman法の80%を占める計算ボトルネック部を高速に計算することができるプラズマ物理の計算機シミュレーション計算方法を提供することを目的とする。
本願請求項1に記載のプラズマ粒子シミュレーション計算方法は、空間メッシュの格子立方体と同じ体積の粒子を想定し、この粒子に一定密度の電荷を帯びさせ電磁場の空間に配置することでプラズマの挙動を模擬する、Villasenor-Buneman(ヴィラセノウ−ブーネマン)法を汎用計算機を用いたプラズマ物理の計算機シミュレーションにおいて、Newton-lorentz(ニュートン−ローレンツ)の運動方程式(式(1))の計算を、電流密度の計算(式(2))、Maxwell(マックスウェル)の方程式の計算(式(3))、粒子に働く力の計算(式(4))、と段階的に計算をするに際し、前記式(2)の計算を実行させるための計算ユニットを前記汎用計算機内に実装して、プラズマ粒子の挙動を模擬することを特徴とする。
本願請求項2に記載のプラズマ粒子シミュレーション計算方法は、前記請求項1の場合、
前記電流密度の計算をする式(2)において、初期入力データとして、n個の粒子データの、粒子位置(x,y,z)、粒子速度(u,v,w)、電荷量(q)、格子点数(nx,ny,nz)を含んだデータを与え、出力データとして、格子点上の電流成分(lx,ly,lz)を得ることを特徴とする。
本発明のプラズマ物理の計算機シミュレーション計算方法は、汎用計算機に計算専用ボードとしての計算ユニットを組み込むことにより、プラズマ物理の計算機シミュレーション計算のクリティカルセクションをハードウェアに分散化を図り、トータルとして、プラズマ物理の計算機シミュレーションの計算スピードを向上させることができる。
まず、本発明のプラズマ物理の計算機シミュレーションにおいて用いるVillasenor-Buneman法を説明する。Villasenor-Buneman法プラズマ粒子シミュレーションは、下記のVillasenor-Bunemanの基本方程式(下記の式(1)参照)を基にして、空間メッシュの格子立方体と同じ体積の粒子を想定し、この粒子に一定密度の電荷を帯びさせ電磁場の空間に配置することでプラズマの挙動を模擬する方法である。
ここで、ρ=電荷密度を表し、J=電流密度を表す。電流が1次元の方向に流れる場合を想定すると、Villasenor-Bunemanの基本方程式(式(1))は、電荷密度ρ、電流密度Jに対して、
と表せる。
ここで、電流は、一定の大きさを持った電荷素片がある面を単位時間内にどれだけ通過したのかによって定義されるので、連続の式を2精度Simplectic差分表示すると、時刻をt、格子座標位置をx(格子番号をi)として、式(2)は、
となる。
Maxwell方程式を同じく2次精度Simplctic差分化して電流項の時間進展は、
となる。これを、前記式(3)に代入すると、
となる。つまり、式(5)を変形すると、
となり、Poisson方程式の2次精度Simplectic差分であり、
を満たすことがわかる。
実際にこれを計算するためには、下記のように2つの場合に分けなければならない。すなわち、1次元の電荷素片が通過する面が1つの場合と、通過する面が2つの場合とである。図1は1次元の電荷素片が通過する面が1つの場合の概略説明図である。図2は1次元の電荷素片が通過する面が2つの場合の概略説明図である。
図1の場合には、
として、
により電流値を評価することができる。
図2の場合には、
として電流値を評価することができる。
次に、電流が2次元の方向に流れる場合を想定して、代表的な通過面数となる4、7、10について、通過面数の考え方を図3乃至図5に示す。図3は2次元において電荷素片が通過する面が最小である4の場合の概略説明図である。図4は2次元において電荷素片が通過する面が7の場合、図5は2次元において電荷素片が通過する面が10の場合である。
図3乃至図5からわかるように、2次元において電荷素片が通過する通過面数は、各象限に対して3パターン合計12パターンの分岐構造を考えなければならない。
さらに、電流が3次元の方向に流れる場合を想定して、3次元において電荷素片が通過する面の通過面数を考えた処理方法においては、分岐構造のパターン数が多くなり急激に複雑化する。そこで、Villasenor-Buneman法では、各軸方向に垂直な面をいくつ通過するのかを判定しながら再帰処理する方法を採用する(図6参照)。ここで、再帰処理とは、電流データ部分を各パイプラインに格納できるようメモリ配置し、超並行処理する方法である。これは、電荷素片の粒子についてみれば完全に並列処理が可能であるからである。図6は、Villasenor-Buneman法における3次元再帰処理方法の概念図である。
図6から分かるように、各粒子が移動してΔtの間に空間格子の各面を貫通する時の格子電流を求めるには、多数の分岐計算が必要になる。この結果、Villasenor-Buneman法における3次元再帰処理を、ステップを追って順に実行しようとすれば、汎用高速コンピュターの超並列演算部を用いても、複雑な分岐演算によって高速演算性能を効率よく実施することができない。
そこで、本発明においては、空間メッシュの格子立方体と同じ体積の粒子を想定し、この粒子に一定密度の電荷を帯びさせ電磁場の空間に配置することでプラズマの挙動を模擬する、Villasenor-Buneman(ヴィラセノウ−ブーネマン)法を汎用計算機を用いたプラズマ物理の計算機シミュレーションにおいて、Newton-lorentz(ニュートン−ローレンツ)の運動方程式(式(1))の計算を、電流密度の計算式(2)、Maxwell(マックスウェル)の方程式の計算式(3)、粒子に働く力の計算式(4)、と段階的に計算をするに際し、前記式(2)を実行させるための計算ユニットを前記汎用計算機内に実装して、プラズマ粒子の挙動を模擬するシミュレーション計算をすることとした。
すなわち、本発明では、格子電流の計算(電流密度の計算式(2))を、専用のハードウェア計算ユニットに委ね、他の部分の計算は汎用計算機部分で計算するシステム構成を採用し、トータルとして計算速度を向上させる構造とした。
なお、専用の計算ユニットの高速計算性能は、汎用計算機のデータ転送レートによって決定されるため、専用の計算ユニットと汎用計算機との接続は、現在PCとのデータやり取りの最速仕様であるPCI-Express x16インターフェースを採用することが望ましい。
図7は、プラズマ粒子シミュレーションにおける、専用の計算ユニットの動作/実装イメージ図である。図7に示すように、汎用計算機内に、計算ユニットを実装し、電流密度の計算をする第1ステップの計算を、専用のハードウェア計算ユニットに委ね、他の部分の計算は汎用計算機部分で計算するシステム構成を採用し、有機的に融合させることで、プラズマ粒子シミュレーションにおける総合計算速度を向上させる構造とした。
図8は、空間メッシュの格子立方体と同じ体積の粒子を想定し、この粒子に一定密度の電荷を帯びさせ電磁場の空間に配置することでプラズマの挙動を模擬する、Villasenor-Buneman(ヴィラセノウ−ブーネマン)法を汎用計算機を用いたプラズマ物理の計算機シミュレーションにおいて、汎用計算機に計算ユニットを実装した場合の、Villasenor-Buneman法プラズマ粒子シミュレーション計算システム図である。
図8に示すように、まず、各粒子の運動状態は、Newton-Lorentz運動方程式に従って、式(1)→式(2)→式(3)→式(4)というようにタイムステップに順次移動する。この一連の計算処理においては、式(4)で「粒子に働く力の計算」を実行するが、式(4)中において、E(電場)、B(磁場)の計算が必要である。このためには、その前の式(3)での「マクスウェル方程式」を実行し、E、Bを求めなければならない。マクスウェル方程式に、E、Bを与えるためには、その前の式(2)で、電流保存法則によってJ、ρを求めなければならない。
図8に示すような一連の計算を実行するにあたり、式(1)、式(3)、式(4)の各式での計算においては、粒子分の計算が殆ど独立で実施でき個別の並列計算が可能である。しかし、式(2)の電流密度の計算は、粒子が格子壁面を貫通する方向によって複数の壁に関わるケースが現れ、多数の複雑な分岐演算が発生する。この結果、汎用高速CPUのアーキテクチャである、ベクトル・キャッシュ手法等は、非効率で使用できず、シミュレーション計算の80%の時間が式(2)の電流密度の計算に占められる状況になることが分かった。よって、本発明においては、この式(2)の格子電流計算(Villasenor-Buneman法)部分を、汎用計算機に任せず、計算ユニットに委ね、汎用計算機と有機的に融合させることで、プラズマ粒子シミュレーションの高速化を実現する。
以下に、本発明のプラズマ粒子シミュレーション計算方法において、式(2)の格子電流計算をさせるために用いたハードウェア計算ユニットの一実施例を下記に示す。PCIインターフェスとして、PCI-Express x16(転送レート 約4GBPS)を採用した。一回の最大処理のデータ量は、5MBである。
ハードウェア計算ユニットを用いて式(2)の計算をさせるにあたって、式(1)の計算結果から出力されハードウェア計算ユニットに与えた入力データは以下のものである。
・粒子位置(ベクトル):(x, y, z) 64bits real・・・現在位置、
・粒子速度(ベクトル):(u, v, w) 64bits real、
・電荷量(スカラ):q 64bits real、
・格子点数:(nx, ny, nz) 32bits integer、
・出力か否かのフラッグ:
f: clear 場データのリセット、
keep 場データの保持、
back 場データの読み取り、
ハードウェア計算ユニットから計算結果として出力されるデータとして、
・格子点上の電流成分(ベクトル):(Ix, Iy, Iz) 64bits real、
・粒子の生存状態(設定領域に存在か否か)、
を得た。この結果を、式(3)の計算をするために汎用計算機に渡し、汎用計算機においては、引き続き式(3)、式(4)の計算を継続する。
なお、ハードウェア計算ユニットにおけるデータ量/粒子は、
1個の粒子の入力データ量=現在位置+粒子速度+電荷量+格子数+FLAG
= 8Bytes×3 + 8Bytes×3 + 8Bytes + 4Bytes×3 + 1Byte = 69Bytes、となり、
データ転送時間(入出2回)は、5MB x 69Bytes x 2/4Gps ≒ 0.17s となる。
図9は、上記実施例の計算ユニットの内部構造を示す概略ブロック図である。
図10は、上記実施例の計算ユニットの内部計算/処理の流れ図である。図10に示すように、ステップ1では、前処理として入力データから計算に必要な補助データ群の生成、及び、条件分岐レジスタの設定を行う。ステップ1に要する演算時間は500ns以下である。ステップ2では、各軸方向に通過面を1または2とする個別処理を行う。ステップ2に要する演算時間は1100ns以下である。ステップ3では、3次元配列への補間演算・スムージング処理をを行う。ステップ3に要する演算時間は1000ns以下である。ステップ4〜6の最終段では、補間演算/スムージング処理データとDDRメモリとの通信が1500ns以下で行われる。
総合的に、プラズマ粒子シミュレーション加速ユニットでの計算プロセスに入ってから、最終段まで1粒子あたり4100ns以下で処理が可能となる。
図11は、実施例の計算ユニットの計算流れ図である。図11に示すように、多数のパイプラインで構成され2個のFPGA内に実装されている。
図12は、実施例の計算ユニットのハードウエアブロック図である。図12に示すように、本実施例において、計算アーキテクチャは2個のFPGA内に実装しており、3つ目のFPGAは追加オプションとして構成した。
図13は、汎用計算機に実施例の計算ユニットを実装して、プラズマ粒子の挙動を模擬するプラズマ粒子シミュレーション計算方法を実行した際のシステム運用フローチャートである。
本実施例において、Villasenor-Buneman法の約80%を占める計算ボトルネック部である、クリティカルループをハードウエア化し、大容量高速FPGA(Field Programmable Gate Array)内に、超並列に多数の演算器を配し、計算処理、及び、分岐処理部分まで搭載し、ハードウェアとしてボード化し、計算ユニットとして専用化したことにより、スーパーコンピュータを用いても100時間程度必要とするシミュレーションを、約1/5程度20時間以内に短縮することができ、優れた効果が確認できた。
本発明のプラズマ粒子シミュレーション計算方法は、今まで膨大な計算時間を要したプラズマ物理の計算機シミュレーションを、短時間でしかも研究者のディスクトップにおいて実施できる、極めて手軽で高速な専用型プラズマ粒子シミュレーション計算システムとして構築可能となり、専門的なシミュレーションの世界レベルの、最先端研究開発を支え、研究者のみならず、製造業の発展にも貢献できる。また、プラズマ物理の計算機シミュレーション以外の計算機シミュレーションにも適用可能である。
1次元の電荷素片が通過する面が1つの場合の概略説明図である。 1次元の電荷素片が通過する面が2つの場合の概略説明図である。 2次元において電荷素片が通過する面が最小である4の場合の概略説明図である。 2次元において電荷素片が通過する面が7の場合の概略説明図である。 2次元において電荷素片が通過する面が10の場合の概略説明図である。 Villasenor-Buneman法における3次元再帰処理方法の概念図である。 プラズマ粒子シミュレーションにおける、専用の計算ユニットの動作/実装イメージ図である。 汎用計算機に計算ユニットを実装した場合の、Villasenor-Buneman法プラズマ粒子シミュレーション計算システム図である。 実施例の計算ユニットの内部構造を示す概略ブロック図である。 実施例の計算ユニットの内部計算/処理の流れ図である。 実施例の計算ユニットの計算流れ図である。 実施例の計算ユニットのハードウエアブロック図である。 汎用計算機に実施例の計算ユニットを実装して、プラズマ粒子の挙動を模擬するプラズマ粒子シミュレーション計算方法を実行した際のシステム運用フローチャートである。

Claims (2)

  1. 空間メッシュの格子立方体と同じ体積の粒子を想定し、この粒子に一定密度の電荷を帯びさせ電磁場の空間に配置することでプラズマの挙動を模擬する、Villasenor-Buneman(ヴィラセノウ−ブーネマン)法を汎用計算機を用いたプラズマ物理の計算機シミュレーションにおいて、
    Newton-lorentz(ニュートン−ローレンツ)の運動方程式(式(1))の計算を、
    電流密度の計算(式(2))、Maxwell(マックスウェル)の方程式の計算(式(3))、粒子に働く力の計算(式(4))、と段階的に計算をするに際し、
    前記式(2)の計算を実行させるための計算ユニットを前記汎用計算機内に実装して、プラズマ粒子の挙動を模擬することを特徴とするプラズマ粒子シミュレーション計算方法。
  2. 前記電流密度の計算をする式(2)において、初期入力データとして、n個の粒子データの、粒子位置(x,y,z)、粒子速度(u,v,w)、電荷量(q)、格子点数(nx,ny,nz)を含んだデータを与え、出力データとして、格子点上の電流成分(lx,ly,lz)を得ることを特徴とする請求項1に記載のプラズマ粒子シミュレーション計算方法。
JP2006228728A 2006-08-25 2006-08-25 プラズマ粒子シミュレーション計算方法 Withdrawn JP2008052530A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006228728A JP2008052530A (ja) 2006-08-25 2006-08-25 プラズマ粒子シミュレーション計算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006228728A JP2008052530A (ja) 2006-08-25 2006-08-25 プラズマ粒子シミュレーション計算方法

Publications (1)

Publication Number Publication Date
JP2008052530A true JP2008052530A (ja) 2008-03-06

Family

ID=39236527

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006228728A Withdrawn JP2008052530A (ja) 2006-08-25 2006-08-25 プラズマ粒子シミュレーション計算方法

Country Status (1)

Country Link
JP (1) JP2008052530A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103048522A (zh) * 2013-01-11 2013-04-17 哈尔滨工业大学 常压下低温等离子体密度参数的诊别方法
CN105808968A (zh) * 2016-04-13 2016-07-27 吉林大学 时域航空电磁数值模拟中c-pml边界条件加载方法
KR20210119764A (ko) * 2020-03-25 2021-10-06 한국핵융합에너지연구원 플라즈마 시뮬레이션을 위한 데이터의 입력 장치 및 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103048522A (zh) * 2013-01-11 2013-04-17 哈尔滨工业大学 常压下低温等离子体密度参数的诊别方法
CN105808968A (zh) * 2016-04-13 2016-07-27 吉林大学 时域航空电磁数值模拟中c-pml边界条件加载方法
CN105808968B (zh) * 2016-04-13 2018-07-06 吉林大学 一种时域航空电磁数值模拟中c-pml边界条件加载方法
KR20210119764A (ko) * 2020-03-25 2021-10-06 한국핵융합에너지연구원 플라즈마 시뮬레이션을 위한 데이터의 입력 장치 및 방법
KR102416787B1 (ko) 2020-03-25 2022-07-05 한국핵융합에너지연구원 플라즈마 시뮬레이션을 위한 데이터의 입력 장치 및 방법

Similar Documents

Publication Publication Date Title
Wang et al. Adaptive mesh fluid simulations on GPU
Von Alfthan et al. Vlasiator: First global hybrid-Vlasov simulations of Earth's foreshock and magnetosheath
Obrecht et al. Multi-GPU implementation of the lattice Boltzmann method
Brodtkorb et al. State-of-the-art in heterogeneous computing
Zabelok et al. Adaptive kinetic-fluid solvers for heterogeneous computing architectures
Kapahi et al. Parallel, sharp interface Eulerian approach to high-speed multi-material flows
Piotrowski et al. Towards petascale simulation of atmospheric circulations with soundproof equations
Yan et al. Superlinear speedup phenomenon in parallel 3D Discrete Element Method (DEM) simulations of complex-shaped particles
Raase et al. On the use of a many-core processor for computational fluid dynamics simulations
Abreu et al. PIC codes in new processors: A full relativistic PIC code in CUDA-enabled hardware with direct visualization
Yiyu et al. A hardware-oriented finite-difference time-domain algorithm for sound field rendering
JP2008052530A (ja) プラズマ粒子シミュレーション計算方法
Adams et al. Landau collision integral solver with adaptive mesh refinement on emerging architectures
Vahala et al. MHD turbulence studies using lattice Boltzmann algorithms
Iwasawa et al. FDPS: a novel framework for developing high-performance particle simulation codes for distributed-memory systems
Xu et al. Parallelizing a high-order CFD software for 3D, multi-block, structural grids on the TianHe-1A supercomputer
Wang et al. High performance computation by multi-node GPU cluster-Tsubame2. 0 on the air flow in an urban city using lattice Boltzmann method
Mawson Interactive fluid-structure interaction with many-core accelerators
Yan et al. Speeding up the high-accuracy surface modelling method with GPU
Wojtkiewicz Use of GPU computing for uncertainty quantification in computational mechanics: A case study
Krol et al. Solving PDEs in modern multiphysics simulation software
Sivasuthan et al. Graphics processing unit computations for finite element optimization: A review and some issues to be addressed
Vranas et al. Massively parallel quantum chromodynamics
Chen et al. Solvcon: A python-based cfd software framework for hybrid parallelization
Hoole et al. GPU computations for finite element optimization: A review of the methodology and problems for study

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20091110