8th  Symposium

学際大規模情報基盤共同利用・共同研究拠点 公募型共同研究 平成２８年度採択課題

jh160031-NAH

山中晃徳 (東京農工大学)

1000step (510s)

多結晶粒成長メカニズム解明のためのフェーズフィールドクリスタル法の大規模GPU計算技術の開発
1.	  背景：鉄鋼材料の結晶組織制御
CO2排出削減
省エネルギー

2.	  研究目的
http://bestcarmag.com/makes/Toyota/Prius

車体軽量化による自動車の燃費向上

JHPCN課題で研究してきた内容
2013年「鉄鋼材料におけるミクロ組織形成マルチフェーズフィールドシミュレーションの大規模GPU計算技術の構築」
2014年「マルチフェーズフィールド法の大規模GPU計算による金属多結晶組織制御法の探索」
2015年「可動な分散粒子を含む金属材料における多結晶粒成長の大規模マルチフェーズフィールドシミュレーション」
16000step (8160s)

自動車車体の 約70 % は鉄鋼材料材料の製造工程での結晶組織の変化を実験のみで予測することは困難！
シミュレーションによる結晶組織の予測が重要！

成果①：多結晶組織の変化を計算するためのマルチフェーズフィールド法の大規模GPU計算技術を確立した.	  
成果②：よりリアルな分散粒子を含む材料での多結晶組織の変化(粒成長)を計算した.
0.5mm m0.512
課題：マルチフェーズフィールド法では,	  粒成長にともなう方位変化(各結晶中の原子配列
TSUBAME2.5でFig. 5.8 Polycrystalline growth behavior
simulated by MPF megrids and 32768 crystal grains. 計算した多結晶組織の方向）を計算できない.	  

結晶組織の制御 高強度で薄く加工できる鋼板

3.	  フェーズフィールドクリスタル(PFC)法
φ

秩序変数

従来のフェーズフィールド法の秩序変数の分布

φ :	  時間平均された原子密度場
全自由エネルギー
F =Z ⇢ ⇣V2✏ + 1 + r2

時間発展方程式

⌘2+14

界面固相
4dV

8000step (4080s)x

液相

PFC法の秩序変数の分布(極大値の位置に原子が存在)

Figure 5.1: Schematic of the atomic density field of a 1D cut through a solid (oscillating line) in coexistencewith liquid (constant). The decay of oscillating density to a constant occurs over a length scale W

60

φ の時間変化を計算することで, 原子の移動を追跡する.

2016年度の研究目的@2 F① フェーズフィールドクリスタル(PFC)法を用いて,方位変化が= r2 ( ✏ + 1) + 2r2 + r4 + ⇢(~3x, t) = X (~x ~x (t))=r(5.1)@t
多結晶粒成長に及ぼす影響を解明する.
where (~x) is the Dirac delta function, N is the number of particles in the solid and ~x (t) denotes theメリット
position of the n particle. The delta function has units of V , where V is the volume of the system.
4 倍の時間スケールで生じる現象を計算できる.
ü 分子動力学(MD)シミュレーションの103Any~10② スペクトルソルバーに用いる高速フーリエ変換をCUFFTにより
density
field can be equivalently represented by discrete Fourier transform of ⇢(~x, t),Xü 粒成長における方位変化を自然に表現（計算）することができる.
⇢(~x, t) =⇢ˆ (t) e+ c.c.
(5.2)
高速化し,複数GPU計算を可能とする.
デメリット~ defines the principle reciprocal lattice vectors of the solid and c.c. the complex conjugate . The③ 複数GPUによるPFCシミュレーションの並列計算技術を開発し,
where陽Gü 6階の偏微分方程式を解く必要があり,	  解法では非常に小さいΔtとしなければならない.	  
Fourier transform ⇢ˆ can be obtained by multiplying Eq. (5.2) by eand integrating over the volume
ü 多数の原子・結晶粒の挙動を計算するためには,	  膨
大な計算コストを必要とする.	  
of the solid,
ZTSUBAME2.5に実装することで大規模計算を実現する.
h⇢(~x, t)itime = h⇢(~x, t)iensemble . The instantaneous density itself is given by the expression.
Nnn=1

thn1~
G~ xiG·~~G

2~ xiG·~~G4. 研究進捗状況~⇢(~x, t) eiG·~x dV⇢ˆG~ =(5.3)(where the time label has been suppressed for simplicity). Substituting Eq. (5.1) into Eq. (5.3) gives ⇢ˆG~in the form,N⇢¯ X iG·~
⇢ˆGe x~n (t)(5.4)~ =N n=1

計算ステップ数

GPU:  NVIDIA  GeForce  GTX980M
where ⇢¯ is the average atomic number density. Substituting Eq. (5.4) into Eq. (5.2) gives an alternate
メモリ:  8  GB  (GPU) !
form for the density field,
4.1 シングルGPUでの計算結果⇢¯ X X⇢(~x,t)=e CUDA  C  e(5.5)
プログラム言語：N＊GPU搭載のノートPCで実施The phase factors (complex exponential terms) in the round brackets of Eq. (5.5) are called structureN~ xiG·~n=1

φ の極大値が原子位置を表す

2 To simplify the math, the complex conjugate will be assumed but not dealt with explicitly in the derivation below

結晶が成長763.6s

800factors. These are intimately connected to the solid’s crystalography and its order parameters.

液相中に固相(結晶)の核を形成

1000

900

計算時間 [s]~G~ x~n (t)iG·10000

結晶の間に粒界が形成
50

液相700
600
500
4000

計算
格子点数

PFC法による多結晶凝固の2次元シミュレーション(1024	  x	  1024格子,	  300000ステップ)

189.1s200100固相300.9s

300
47.4s

1.3s

4.3s16.5s

9.0s

CPU GPU CPU GPU CPU GPU CPU GPU
2562

5122

10242

20482

シングルGPU計算による計算時間の短縮

4.2 多結晶粒成長の3次元シミュレーション結果（シングルGPU)
計算格子点数：1024  x  1024  x  256 (下記GPUの限界）
原子数:  約178200  (下記GPUの限界)
GPU:  NVIDIA  Tesla  K40 を用いて計算
üü

小さい結晶粒は収縮

いくつかの結晶粒のみが成長（粗大化)

CUFFTを用いたスペクトルソルバーと GPU計算により3次元シミュレーションが可能となり,	  結晶粒の成長・収縮を計算できることを確認.	  
シングルGPUでは,	  メモリ容量の制限により,	  	  十分な計算領域が確保できず,	  柱状結晶しか計算できない.	  

5. 今後の計画• 共同研究者とともに複数GPUの並列計算コードの開発• TSUBAME2.5での大規模計算と性能評価• 結晶粒成長における方位変化の解析

1000	  step20000	  step30000	  step60000	  step

90000	  step

PFC法による多結晶粒成長の3次元シミュレーション(青色の原子は,	  結晶粒を構成する原子.	  白色の原子は,	  粒界を構成する原子)
学際大規模情報基盤共同利用・共同研究拠点 第８回シンポジウム
2016年 7月 14日，15日

THE	  GRAND	  HALL	  （品川）