Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
@dc1394
Arに対する古典分子動力学シミュレー
ション
自己紹介
 Twitter: @dc1394
 C++, C#, F#そしてRubyが好きです。
 量子力学の数値計算とかやってます。
 最も興味のある分野
 ・第一原理計算
 ・密度汎関数理論(Density Functional...
概要
 分子動力学シミュレーションとは
 第一原理分子動力学計算
 モデルポテンシャル法
 Lennard-Jones (LJ)ポテンシャルと無次元化
 ArのNVT分子動力学シミュレーション
使用するプログラム言語、ライブラリ
等
 プログラム言語はC++11を使用する。
 Boost C++ Librariesを使用する。
 三次元可視化のために、Microsoft DirectX 10を使
用する。
 コンパイラには、M...
分子動力学シミュレーションとは
 分子や原子の運動をNewtonの運動方程式で記
述し、その時間発展を数値的にシミュレーション
する方法。
 原子や分子の相互作用の記述
 (1)第一原理的手法
 量子力学的に電子・原子の系のエネルギーを...
第一原理分子動力学法
 上式のように、系のHamiltonianは明示的に書くこ
とができる。
 このHamiltonianに対応するSchrödinger (Dirac)
方程式を数値的に解けば、原理的には系の
全エネルギーが計算できる。...
第一原理分子動力学法
 しかし、現実的な系に対しては、Schrödinger
(Dirac)方程式を数値的に直接解くことは、現在で
も容易なことではない。
 また、原子核を厳密に量子力学的に扱うことは、
極めて複雑で、また計算コストを要求す...
モデルポテンシャル法
 実験や第一原理計算の結果を再現するように、経験的
なモデルポテンシャル関数を予め作成しておき、これを
用いてNewtonの運動方程式を数値的に解く方法。
 よく使用されるモデルポテンシャル
 希ガス系
 Lenn...
Lennard-Jones (LJ)ポテンシャル
 Van der Waals (vdW)相互作用をモデル化するモ
デルポテンシャルの一つ。
力の計算
平衡点r0を求める
r0を用いてUを書き直せば、
従って、εは平衡点r0におけるポテ
ンシ...
LJポテンシャルの無次元化
 LJポテンシャルを無次元化し、単純化する。
 上式を次のように変形する。
 ここで、以下の読み替えを行う。
 次式の無次元化したLJポテンシャルが得られる。
温度の無次元化
 温度の定義は、以下となる。
 ここで、換算温度を次式で定義する。
 このとき、温度と換算温度は以下の関係を持つ。
 ここでArの場合において、実験的に決定された値
を用いると、換算温度の一単位は、絶対温度では、
 T...
時間の無次元化
 時間の単位を次式で定義する。
 ここで、Arの場合において、実験的に決定された
値を用いると、換算時間の一単位は、
 τ = 2.156×10-12 (sec) = 2.156 (psec)
 となる。
シミュレーションの設計
 1. 基本方程式は何か?
 Newtonの運動方程式(ma = F)
 打ち切りLJポテンシャル
 N(粒子数)、V(体積)、T(温度)を一定とするNVTアン
サンブル→温度を制御する必要がある
 2. 方程...
周期境界条件の導入
 セルの端の影響を軽減するために、ユニットセル
が周期的に配置されているとする→周期境界条
件
 さらに、原子がセルの外側に出た場合には、周期
性を考慮し、ユニットセル内に戻す。
周期境界条件
 CMSI配信講義B 第10回 大規模MD並列化の技術
1 ( http://www.cms-initiative.jp/ja/events/school-
event/B/0619-andoh ) の図を引用・改変
1K, 10KにおけるMDの比較
1K 10K
100K, 1000KにおけるMDの比較
100K 1000K
ソースコードとバイナリへのリンク
 このプログラムのソースコードは、GitHub上で公
開しています。
 https://github.com/dc1394/LJ_Argon_MD
 また、バイナリも以下で公開しています。
 https...
まとめ
 経験的なLJポテンシャルを用いて、Arについて
Newtonの運動方程式を導いた。
 上記の方程式をVerlet法を用いて数値的に解くこ
とにより、リアルタイム分子動力学シミュレーショ
ンを行った。
 Woodcockの速度スケ...
Upcoming SlideShare
Loading in …5
×

Arに対する古典分子動力学シミュレーション

2,595 views

Published on

Arに対する古典分子動力学シミュレーションを解説したスライドです。

Published in: Education
  • Be the first to comment

  • Be the first to like this

Arに対する古典分子動力学シミュレーション

  1. 1. @dc1394 Arに対する古典分子動力学シミュレー ション
  2. 2. 自己紹介  Twitter: @dc1394  C++, C#, F#そしてRubyが好きです。  量子力学の数値計算とかやってます。  最も興味のある分野  ・第一原理計算  ・密度汎関数理論(Density Functional Theory, DFT)  第一原理計算やDFTについては、よろしければ拙作の スライドをご覧ください ( http://www.slideshare.net/dc1394/ss-26378208 )。
  3. 3. 概要  分子動力学シミュレーションとは  第一原理分子動力学計算  モデルポテンシャル法  Lennard-Jones (LJ)ポテンシャルと無次元化  ArのNVT分子動力学シミュレーション
  4. 4. 使用するプログラム言語、ライブラリ 等  プログラム言語はC++11を使用する。  Boost C++ Librariesを使用する。  三次元可視化のために、Microsoft DirectX 10を使 用する。  コンパイラには、Microsoft Visual C++ 2013 (VC12)を使用する。  さらに、並列計算のために、Intel Threading Building Blocks (Intel TBB)を使用する。
  5. 5. 分子動力学シミュレーションとは  分子や原子の運動をNewtonの運動方程式で記 述し、その時間発展を数値的にシミュレーション する方法。  原子や分子の相互作用の記述  (1)第一原理的手法  量子力学的に電子・原子の系のエネルギーを計算し、 原子に働く力を求める方法。  (2)モデルポテンシャル法  実験や第一原理計算の結果を再現するように、経験 的なポテンシャル関数をあらかじめ作成しておく方法。
  6. 6. 第一原理分子動力学法  上式のように、系のHamiltonianは明示的に書くこ とができる。  このHamiltonianに対応するSchrödinger (Dirac) 方程式を数値的に解けば、原理的には系の 全エネルギーが計算できる。  さらに、これを原子座標に対して微分すれば、各 原子に働く力が計算できる。
  7. 7. 第一原理分子動力学法  しかし、現実的な系に対しては、Schrödinger (Dirac)方程式を数値的に直接解くことは、現在で も容易なことではない。  また、原子核を厳密に量子力学的に扱うことは、 極めて複雑で、また計算コストを要求するので、 原子核の運動については、Newtonの運動方程式 を用いるのが普通である(cf. 第一原理経路積分 分子動力学法)。  現在、最も汎用的に用いられる方法は、密度汎関 数理論(DFT)に基づく第一原理分子動力学法で ある。
  8. 8. モデルポテンシャル法  実験や第一原理計算の結果を再現するように、経験的 なモデルポテンシャル関数を予め作成しておき、これを 用いてNewtonの運動方程式を数値的に解く方法。  よく使用されるモデルポテンシャル  希ガス系  Lennard-Jones (LJ)ポテンシャル  生体系  AMBER, CHARMmポテンシャル
  9. 9. Lennard-Jones (LJ)ポテンシャル  Van der Waals (vdW)相互作用をモデル化するモ デルポテンシャルの一つ。 力の計算 平衡点r0を求める r0を用いてUを書き直せば、 従って、εは平衡点r0におけるポテ ンシャルの深さを表す。 r0 ε
  10. 10. LJポテンシャルの無次元化  LJポテンシャルを無次元化し、単純化する。  上式を次のように変形する。  ここで、以下の読み替えを行う。  次式の無次元化したLJポテンシャルが得られる。
  11. 11. 温度の無次元化  温度の定義は、以下となる。  ここで、換算温度を次式で定義する。  このとき、温度と換算温度は以下の関係を持つ。  ここでArの場合において、実験的に決定された値 を用いると、換算温度の一単位は、絶対温度では、  T = 119.8 (K)  となる。
  12. 12. 時間の無次元化  時間の単位を次式で定義する。  ここで、Arの場合において、実験的に決定された 値を用いると、換算時間の一単位は、  τ = 2.156×10-12 (sec) = 2.156 (psec)  となる。
  13. 13. シミュレーションの設計  1. 基本方程式は何か?  Newtonの運動方程式(ma = F)  打ち切りLJポテンシャル  N(粒子数)、V(体積)、T(温度)を一定とするNVTアン サンブル→温度を制御する必要がある  2. 方程式をいかに解くか?  Verlet法を用いてNewton方程式を数値的に解く。  Woodcockの速度スケーリング法を用いて温度を制 御する。  周期境界条件の導入
  14. 14. 周期境界条件の導入  セルの端の影響を軽減するために、ユニットセル が周期的に配置されているとする→周期境界条 件  さらに、原子がセルの外側に出た場合には、周期 性を考慮し、ユニットセル内に戻す。
  15. 15. 周期境界条件  CMSI配信講義B 第10回 大規模MD並列化の技術 1 ( http://www.cms-initiative.jp/ja/events/school- event/B/0619-andoh ) の図を引用・改変
  16. 16. 1K, 10KにおけるMDの比較 1K 10K
  17. 17. 100K, 1000KにおけるMDの比較 100K 1000K
  18. 18. ソースコードとバイナリへのリンク  このプログラムのソースコードは、GitHub上で公 開しています。  https://github.com/dc1394/LJ_Argon_MD  また、バイナリも以下で公開しています。  https://github.com/dc1394/LJ_Argon_MD/release s/tag/v0.12  ライセンスは2条項BSDライセンスとします。
  19. 19. まとめ  経験的なLJポテンシャルを用いて、Arについて Newtonの運動方程式を導いた。  上記の方程式をVerlet法を用いて数値的に解くこ とにより、リアルタイム分子動力学シミュレーショ ンを行った。  Woodcockの速度スケーリング法を用いて温度を 制御した(NVTアンサンブル)。  計算負荷が非常に大きいため、Intel Threading Building Blocks (Intel TBB)を用いて並列化を行い、 計算の高速化を図った。

×