[1−1] 特徴
本システムの特徴を以下に記す。
1) プログラムは主として32bitパーソナルコンピュータとWindows
NT/2000/XP環境を用いて開発してきた。計算を主とするプログラムはほぼ標準的なFortran(77)の文法の枠内で記述されているので移植性は非常に高く、UNIXワークステーションやスーパーコンピュータを始めFORTRAN(77、90、95)コンパイラの使えるほとんどのコンピュータに容易に移行できる。ただし、HPF(High
Performance Fortran)への移植は注意を要するようである(いずれ対応するか?)。いくつかの解析・表示プログラムはF-BASIC(富士通)およびFree
Basicで記述されている。
2) 扱える原子・分子は基本的には球対称分子あるいは単原子イオンからなる結晶あるいは液体/ガラスを対象とした分子動力学法(MD)シミュレーションシステムである。これらの混合物、気体との共存系などについても、計算方式に関する制限はない。原子間相互作用ポテンシャル関数は、例えば、次のような、
uij(rij)=
zizje2/rij + fo(bi+bj)exp[(ai+aj-rij)/(bi+bj)]
+
Dij{exp[-2βij(rij-r*ij)]-2exp[-βij(rij-r*ij)]}
BUSING-IDA-GILBERT型+MORSE項、およびFUMI-TOSI型(WOODCOCK-ANGELL)+PAULING因子などが使える。いずれにも分散力項(-cicj/rij6)を入れることができる。他の2体ポテンシャルモデルの採用も容易であろう。H2OやNH3などのような簡単な無機分子のために、さらに3体力項も適用可能である。また典型元素金属の長距離振動ポテンシャルモデルなども含まれる。また、N2、O2、その他の簡単な分子についても計算可能である場合があるので、開発元へ問い合わすこと。有機分子についても対応予定である。
3) 結晶および液体のそれぞれ初期座標と速度の生成のためのプログラム(MXDINPUT)と、その入力のための結晶構造データベース(XTALDATA.DAT)が付属しており、簡単な会話的入力により種々の結晶構造の配置、あるいは液体やガラスのための乱数構造がMD計算のための初期座標として得られる。また結晶の初期配置から直ちに液体/ガラスのMD計算が始められる。結晶MDから液体MDへ移行して、融解を行う計算を続行することが可能である。
4)MXDORTOについては、基本セルの形状は、立方体、直方体など軸角が90度の系に対応している。斜交軸の系(単斜晶系と三斜晶系)には適用できない。六方晶系と三方晶系は軸変換して直方体セルに変換することによりMXDORTOで計算可能である。この変換はMD初期データ作成プログラム(MXDINPUT)に含まれており、選択することにより直方体基本セルになる。
MXDTRICLについては、平行六面体の基本セルが使える。したがって、三斜晶系と単斜晶系の物質、および三方晶系と六方晶系のγ=120°の単位セルに適用可能である。また、相転移のシミュレーションには多くの場合こちらを使用する必要があろう。但し、同じ粒子数で計算時間はMXDORTOのおよそ2倍を必要とする。
5)クーロンエネルギーと力の計算はEWALD法による。そのα因子(ガウス分布の幅、収束加速因子)は基本セルの大きさと逆格子点数に従って自動的に設定される。入力データとして設定することも可能である。
6)粒子の動かし方には修正Verletの方法を用いており、系全体の並進運動を止めるための運動量(あるいは重心)補正は自動的に行なう。
7)温度・圧力の制御が可能である。温度制御(温度一定MD)には修正Woodcockの方法(粒子速度の強制スケーリング)かNoseの方法かを選ぶことができる。圧力制御(圧力一定MD)には、試行錯誤法によるabc軸長の調節(強制スケーリング)、あるいはAndersenの方法の直方体セルへの拡張によるもの(MXDORTO)の2通りが用意されている。これらを組み合わせて温度圧力一定MDが実行できる。MXDTRICLでの圧力制御は今のところ強制スケーリングの方法のみである。
8)低温、質量の小さな粒子から成る系、相互作用の強い場合など、量子力学効果が無視できない系について量子力学補正を行ないつつMD計算を行なうことができる(準古典的MD法)。これによりデバイ温度よりやや低い温度領域において比熱などの挙動をより精確に計算できる。
9)計算時間は基本セル内の粒子数とEWALD法逆空間項の範囲にもよるが、少数粒子系ではほぼ粒子数の2乗に比例し、多数粒子系では2乗より少なくなる。
10) MXDORTOに関して、大規模な計算が必要なときには、計算速度の改善のため2種類のオプションがある。粒子を空間ブロックに分割して、原子間距離の探索を効率化したものと、MPIによる並列計算プログラムである。おおむね1万原子を超える系について有効である。前者で数割以上、後者ではCPUの個数倍に近い効率化が見込まれる。
11) MPI並列型MXDORTO/MXDTRICLプログラム、およびグランドカノニカルアンサンブルの可能なモンテカルロ法MCORTOプログラムとの入出力データの整合性を確保する。これらのプログラムも公開される。
12) 結果の解析のために種々のプログラムが付属している。拡散係数(mdmsd.forとmd-msd.bas)、結晶の粉末X線回折パターン(mxdpowx.forとmxd-powx.bas)、液体/ガラスのX線散乱パターン(mdxray.forとmd-xray.bas)、振動スペクトル(mxdvac.forとmxd-vac.bas)、構造の表示とそのアニメーション(mxd-stro.bas、mxd-f79p.bas。xd-movie.bas、md-movie.basなど)。諸値の履歴表示(mxd-hist.bas)、2体相関関数と積算配位数(pcf-rcn.bas)などである。
表1−1.各種コンピュータによるMD計算のベンチマークテスト結果。MXDORTOを用い、
MgSiO3融体(9000K)、100ステップの計算を行った。 またMPI並列プログラムによる
ものも後に示す。
CPU |
Clock GHz |
Compiler |
Options |
Time
s |
|
Pentium
4 |
1.7 |
CVF ifl |
P4, sse2 |
612 497 |
|
Athlon MP 2000+ 2200+ 2600+ 2800+ |
1.533 1.667 1.800 2.130 |
CVF CVF CVF CVF |
Athlon,fast |
391 341 285 266 |
○ ○ ◎ ◎ |
MobileA64 3400+ |
|
Cvf |
|
226 |
◎ |
Xeon
dual |
2.8 |
CVF ifl |
P4, etc. /O3 /G7 /Qaxw |
307 272 |
○ ◎ |
Opteron 244 246 248 250 252 |
1.8 2.0 2.2 2.4 2.6 |
CVF CVF Ifl Cvf ProFortran64 PGIFortran64 Cvf ProFortran8 |
-O3 -fast, -O3 -O |
271 246 240 224 272 235 206 204 |
◎ ◎ ◎ ◎ ? ? ◎ ◎ |
MXDORTOP.for
=== MPI parallel (100Base TX)
Cpu |
Clock GHz |
Compiler |
Ncpu |
9000 atoms 100 steps |
20000 atoms 20 steps |
||
Time s |
Efficiency % |
Time s |
Efficiency % |
||||
Athlon MP 1800+ (dual) |
1.533 |
CVF CVF+MPI/Pro |
1 2+2 1+1+1+1 2+2+2 2+2+2+2 |
446 130 130 101 95 |
85.8 85.8 67.0 58.7 |
389 130 105 91 73 |
74.8 92.6 71.2 66.6 |
Athlon MP 1800+ (dual) |
1.533 |
CVF+MPICH |
1 2+2 1+1+1+1 2+2+2 2+2+2+2 |
422 163 176 146 144 |
64.7 59.9 48.2 36.6 |
377 130 117 102 91 |
72.5 80.6 61.6 51.8 |
Pentium 4 Cash512kB |
2.0 |
CVF+MPI/Pro |
1 4 |
491 144 |
85.2 |
423 117 |
90.4 |
Athlon MP 2200+ (dual) |
1.800 |
CVF+MPI/Pro |
1 2 2+2 2+2+2 2+2+2+2 |
372 206 118 97 84 |
90.3 78.8 63.9 55.4 |
335 175 110 89 67 |
95.7 76.1 62.7 62.5 |
Athlon 2800+ (dual) |
|
CVF+MPI/Pro 1000Base |
1 2 1+1 2+2 1+1+1+1 2+2+2 2+2+2+2 |
|
|
255 154 140 99 94 93 96 |
82.8 91.1 64.4 67.8 45.6 33.2 |
1 2 1+1 2+2 1+1+1+1 2+2+2+2 |
|
|
554 356 290 217 191 181 |
30000atoms 77.8 95.5 63.8 72.5 38.2 |
|||
Opteron 248 |
|
CVF+MPI/Pro
1000Base |
1 2 1+1 2+2 |
|
|
489 257 252 139 |
(50 steps) 95.1 97.0 87.9 |
1 2 1+1 2+2 |
|
|
929 507 485 271 |
(30000*50) 91.6 95.8 85.7 |