ページの先頭です

材料物性を理論的に理解するための第一原理電子状態計算

背景

ナノテクノロジー分野の半導体材料からバイオテクノロジー分野の生体タンパク質まで、研究開発対象の物質がどのような仕組みで電流を流し、光を吸収・発光し、強度をもち、変形し、薬剤分子と結合し、生命分子として挙動するかなどの材料物性の疑問を解明するためには、ナノメートルよりも小さい微視的なスケールで原子と電子の状態を理論的に理解する基礎研究が重要です。これを理解できれば、新しい機能を持たせた材料を開発するための研究開発の指針につながります。原子と電子の微視的な状態を理解するための理論計算として第一原理電子状態計算があります。

理論計算の中には解析対象に応じて計算式のパラメタが人為的に調整される計算式もありますが、計算で現象を再現させるためパラメタが無理に調整されると非物理的な解析となる問題や、既知の現象に合わせてパラメタが適切に調整されても未知の現象には合わず現象を予想できない問題があります。そこで人為的な調整が必要なパラメタを用いずに物理学の基本原理から現象を解明する試みが第一原理と呼ばれ、この第一原理での電子状態計算が第一原理電子状態計算と呼ばれます。

計算対象に原子が多数含まれる大規模系は非常に時間を掛けてスーパーコンピュータで計算されます。計算式を簡単に計算する工夫や、目的の材料物性を計算する工夫、大規模系を短時間に計算する工夫など、さまざまな計算方法があります。それらの方法には適・不適があり、目的に応じて計算方法が使い分けられます。この第一原理電子状態計算について、ここではその計算方法の概要を簡単に紹介します。

基礎方程式

古典力学では電子は位置が一点に定まる点電荷の粒子として、電場によるその動き方x(t)は微分方程式の次式のニュートン方程式(Newton equation)に従います。

計算式1

ナノスケール以下の微視的なスケールでは1個の電子は狭い空間の中の至る所に現れ、高い頻度で現れる位置と低い頻度で現れる位置があります。ある時刻tでの電子の位置x(t)はこの狭い空間の中では定まらず、電子が位置xに現れる頻度、つまり存在確率の分布関数P(x,t)によってこの電子の存在が表されます。そしてこの分布関数は波のように空間に広がり時間とともに変化する波動関数(wave function)から次式で導かれます。

計算式2

この狭い空間の位置xから位置x+dxの区間に電子がその時刻tに現れている確率がP(x,t) dxです。1個の電子が狭い空間の中にある場合、その空間のどこかには電子が現れています。そのため、P(x,t) dxを空間全体で総和、つまりP(x,t)を積分すれば存在確率は常に1とならなければなりません。この性質は波動関数のノルム保存と呼ばれます。

計算式3

電子の位置や速度は確率的にさまざまな値で現れ、その平均的な値はこの波動関数から次式で計算され、これらの値は期待値と呼ばれます。

計算式4

これが量子力学での電子の扱いです。

電子の存在確率の分布を表す波動関数は時間と共に変化します。この波動関数の運動は偏微分方程式の次式の時間依存のシュレディンガー方程式(time-dependent Schroedinger equation)に従います。

計算式5

波動関数に右辺のとおり微分演算とポテンシャルの積を施したものが、波動関数の時間変化となります。式の左辺の冒頭に虚数単位があるように波動関数は複素数の値をもって時間・空間で変化します。この方程式で波動関数が数値計算され、電子の時間変化する存在・状態が計算されることは広い意味で電子状態計算と呼ばれます。

古典力学での粒子のバネ振動のように時間的に周期的に定常的な運動が続く状態は量子力学では電子の存在確率の分布が時間で変化しない定常状態として扱われます。定常状態では複素数の波動関数は次式のように振幅と位相因子の積で表されます。

計算式6

この定常状態の波動関数から導かれる存在確率の分布は時間によらず一定となります。この定常状態の波動関数を時間依存のシュレディンガー方程式に代入すると次式の定常状態のシュレディンガー方程式が得られます。

計算式7

定常状態の波動関数に右辺のとおり微分演算とポテンシャル積を施したものが、元の波動関数をある値で定数倍したものと一致できることが定常状態の波動関数の条件であることをこの式は示しています。一般に関数にある演算を施したものが元の関数のある値での定数倍と一致できることを要請する方程式を固有値方程式と呼びます。そしてこの固有値方程式の解となるεとφはそれぞれ電子の固有エネルギーと固有波動関数と呼びます。

このシュレディンガー方程式で固有波動関数が数値計算され、電子の定常的な存在・状態が計算されることを通常の意味で電子状態計算と呼ばれます。

上記のシュレディンガー方程式は電子が多数存在する場合でも波動関数を多次元空間の多電子波動関数に置き換えることで、その多電子波動関数の固有波動関数を記述する式となります。しかしその数値計算は計算規模が非常に莫大となるため大幅な近似モデルが導入されます。その近似モデルのひとつに密度汎関数理論(Density Functional Theory(DFT))とその理論を具体化した次式のコーン・シャム方程式(Kohn-Sham equation)があります。

計算式8

各電子の波動関数が共通のひとつの有効ポテンシャルのもとで定常状態を作るとし、多電子波動関数を解く代わりに各電子の波動関数を解くことで失われる電子相関と呼ばれる量子力学的効果を補填する役割と電子間の相互作用の効果がこの有効ポテンシャルに託されています。このコーン・シャム方程式の形は1電子のシュレディンガー方程式とほとんど変わりありませんが、この方程式が電子ごとに複数あり、有効ポテンシャルは電子密度分布に依存し、その具体的な式はかなり複雑になっています。

第一原理計算での物質の電子状態計算とは、このコーン・シャム方程式で各電子の固有波動関数を数値計算することです。この方程式を解くには、波動関数の表現、電子密度分布の計算、イオンポテンシャルの計算、電子間相互作用ポテンシャルの計算、固有値方程式の計算、得られた固有波動関数の評価などの工程があり、各工程にさまざまな計算方法があります。

波動関数の表現方法

空間に連続的に広がる波動関数を限られたデータ量で表して数値計算するため、基底関数と呼ばれる代数的に与えられた式と離散的な数値データを組み合わせて波動関数が表現されます。その表現の方法には大きく分けて以下の3種類があります。

平面波基底

計算式9

波動関数を平面波とその係数による線形和で表現し、その係数を調整して固有波動関数を探す方法です。空間全体に波動関数が広がり、なおかつ空間の端で反対側の端へと波動関数が周期的につながる結晶系に適した表現法です。計算精度が高いです。分子系では波動関数が原子近傍に局在するため平面波の重ね合わせでは正確に表現できません。また、計算に高速フーリエ変換が多用されますが、これは分散並列計算では十分には高速化できない制限もあります。

原子軌道基底

計算式10

波動関数を各原子の位置を中心としたS型軌道、P型軌道、D型軌道などの原子軌道とその係数による線形和で表現し、その係数を調整して固有波動関数を探す方法です。原子近傍に波動関数が局在する分子系に適した表現法です。計算精度が高く、計算時間も短いです。原子から離れて空間全体に広がる波動関数は表現できません。

実空間格子基底

計算式11

空間に格子を配置し、格子点での値の組で波動関数を表現し、それらの値を調整して固有波動関数を計算する方法です。基底関数として格子点近傍で値が1になるδ関数を用いることと同じです。精度良く波動関数を表現するには多数の格子点が必要とされ、計算量も多くなりますが、空間に広がる波動関数も一部に局在する波動関数も表現できます。分散並列計算にも適しています。

固有波動関数の計算

コーン・シャム方程式の波動関数を基底関数とその係数で展開して、係数に対する方程式として整理すると、先のいずれの基底関数でも係数に対する次式のような行列の固有値方程式となります。

計算式12

ここでHはコーン・シャム方程式の右辺の微分演算子とポテンシャルをまとめてハミルトニアンです。Sは基底関数の重なり行列です。この固有値方程式の解き方には以下の種類があります。

行列の直接対角化

原子軌道基底では基底関数が少ないのでコーン・シャム方程式を行列の固有値方程式として解くことができます。ハミルトニアン行列と重なり行列を同時に対角化する対角化行列を求めることで各軌道波動関数を表現する係数が得られます。平面波基底でもその波数が少ない場合はこの方法でも計算できます。波数が多い場合や実空間格子基底では計算は困難になります。行列の固有値方程式はそれを計算する専用の数値計算ライブラリを用いることが一般的です。

残差を最小化する反復解法

ハミルトニアンをある波動関数に作用させた値と、もとの波動関数に固有エネルギーの推定値を乗じた値が各点で一致すればその波動関数はコーン・シャム方程式の固有波動関数であり、その固有エネルギーの推定値がまさに固有エネルギーです。両者が一致するまでその差を小さくするように波動関数を繰り返し変更する反復法は平面波基底や実空間格子基底などの基底が多い場合にも有効な計算法です。この残差を効率的に最小化する反復法には共役勾配法やDIIS法などの各種の計算技法があります。

イオンの擬ポテンシャル

原子核付近ではその深い引力ポテンシャルのため価電子の波動関数の空間変化が激しくなり、数値計算がやや困難になります。これを避けるため、原子核と内殻電子のクーロンポテンシャルを弱めて、なおかつ価電子の波動関数の固有エネルギーをそのままで空間変化を緩やかにする数値計算の技法が擬ポテンシャルです。緩やかな波動関数は少ない基底で表現できるため計算量の縮小となります。

ノルム保存型擬ポテンシャル

波動関数の空間変化を緩やかなものに変える際に、波動関数のノルムまで変わらないように条件を付けた擬ポテンシャルがノルム保存型擬ポテンシャルです。電子密度分布が波動関数の二乗和で計算できるため、特に複雑な計算は不要です。擬ポテンシャルには非局所項と呼ばれる特殊な積分処理を伴います。

ウルトラソフト型擬ポテンシャル

波動関数のノルムが変わること許可してより緩やかな波動関数に変える擬ポテンシャルがウルトラソフト型擬ポテンシャルです。電子密度分布が波動関数の二乗和で計算できなくなり、複雑な計算が必要になりますが、それでも波動関数が緩やかなものになることによる計算量の削減が可能です。擬ポテンシャルには非局所項と呼ばれる特殊な積分処理を伴います。

電子間相互作用

コーン・シャム方程式では電子間の相互作用は以下の直接クーロンポテンシャルと交換相関ポテンシャルの2種類で近似されます。

直接クーロンポテンシャル

コーン・シャム方程式の直接クーロン項のハートレーポテンシャルは古典電磁気学のポアソン方程式から計算されます。ポアソン方程式の計算法には系の端でポテンシャルの境界条件が指定された場合の反復法と周期的な系で周期的なポテンシャルを求めるフーリエ変換による直接法があります。反復法は収束までの計算回数が多くなりますが、分子系のポテンシャルの計算に適しています。直接法は2回の高速フーリエ変換で周期的なポテンシャルが得られ、周期系のポテンシャルの計算に適しています。なお、周期的でない分子系のポテンシャルの計算にも適したフーリエ変換を用いた直接法もあります。

交換相関ポテンシャル

多電子系の多電子波動関数を各電子の波動関数に近似することで失われる電子相関と呼ばれる量子力学的効果は交換相関ポテンシャルで補填されます。そのポテンシャルの具体的な厳密式は未解明ですが、その近似式として電子密度分布の汎関数である局所密度近似(LDA)や密度の空間勾配も含んだ一般化密度勾配近似(GGA)の近似ポテンシャルが各種提案されています。この近似式の改良は現在の第一原理計算の研究課題となっています。

スピンの扱い

電荷をもった電子が原子核の周り回ることで原子核と電子の間に磁気的な相互作用がありますが、これよりも小さな磁気的な相互作用があり、便宜的に電子の自転の向きの違いによる磁気的な相互作用の差として解釈され、これがスピンと呼ばれます。上スピンと呼ばれる状態と下スピンと呼ばれる状態では電子の感じるポテンシャルがわずかに異なり、その違いを計算に考慮する場合としない場合があります。上下スピンの波動関数に差が生じることで物質の磁気的性質が発生するため、これを解析するためスピンが考慮されて計算されます。

スピン分極なし

各軌道に上スピン状態と下スピン状態がそれぞれ1個収まる場合は、それぞれのスピンの電子が作る電子密度分布が一致し、感じるポテンシャルも一致し、それぞれの波動関数が一致します。そのため、上下スピンの波動関数を1つにまとめることができます。磁気的性質を持たない、あるいは重要でない系はスピン分極なしとして1つ波動関数にまとめて効率的に計算されます。

スピン分極あり

各軌道の上下スピンの占有率が異なる場合は、それぞれのスピンの電子が作る電子密度分布が異なり、感じるポテンシャルも異なり、それぞれの波動関数が異なります。そのため、上下スピンの波動関数が別々に計算されます。また、擬ポテンシャルの非局所項も上下スピン別のものが用意されます。磁気的性質があり、あるいは重要となる系はスピン分極ありとして計算されます。

計算式13

スピン軌道相互作用あり

重い元素では内殻電子は原子核近傍で強い核クーロン力で加速され光速に近い速度で走り運動に相対論的効果が影響します。そのためシュレディンガー方程式が相対性理論と整合するように拡張されたディラック方程式(Dirac equation)で擬ポテンシャルが構築される必要があります。このディラック方程式では波動関数はスピノルと呼ばれる大成分と小成分の2成分をもつ量となり、スピンの正体として磁気的な性質の異なる2種類の固有波動関数と固有エネルギーが自然に導かれます。このディラック方程式で計算された擬ポテンシャルを用いて、コーン・シャム方程式での波動関数が上下スピンが混ざった状態として計算されます。

計算式14

固有波動関数の計算後の処理

得られた固有波動関数から各種の計算処理を行うことで各種の物性値が導出されます。

エネルギー固有値のバンド図

結晶では単位胞あたりの電子数が1個でも無数の他の単位胞の電子がこの単位胞を往来します。つまり単位胞内には無限の数の波動関数が存在します。それらの波動関数はブロッホ波の波数ベクトルで区別されます。計算ではこの連続的に変化するブロッホ波を全て表すことはできないため、サンプリングK点と呼ばれるいくつかの代表値で計算されます。各サンプリングK点での固有波動関数から平均値として電子密度分布と有効ポテンシャルが計算されます。この有効ポテンシャルを固定して、また別のいくつかのサンプリングK点で計算された固有エネルギーがグラフ化されたものがバンド図です。このグラフから結晶の光学的・電気的性質が議論されます。

エネルギー勾配・原子間力

ハミルトニアンの各原子座標での偏微分と波動関数の期待値を計算することで、各原子に働く力が得られます。この力は以下の安定構造や動力学の計算で用いられます。

分子構造

電子状態計算では始めに分子の各原子の座標を指定して、その分子構造での電子状態を計算します。各原子に働く力が0でなければ、その原子は力の釣り合いの位置にありません。力の向きに従って各原子を少し移動して、再度電子状態を計算して力を計算すると力が少し弱くなります。これを繰り返すと力がほぼ0となる原子の位置を見つけることができます。これが分子の安定構造で、実際の分子の構造を示しています。

分子動力学

各原子に働く力と各原子の運動速度から古典力学的な時間発展としての分子の運動を計算することができます。分子内での原子の振動運動や原子の緩やかな吸着・解離現象をシミュレーションすることができます。

電子動力学

時間依存シュレディンガー方程式と同様に多電子系の波動関数の時間発展を近似的に表す時間依存コーン・シャム方程式があります。電場・磁場・光などの外場により電子が移動・励起する動的特性を解析できます。

計算式15

この方程式から波動関数の時間発展を追跡することで、例えば分子からの電界放射、分子の光吸収スペクトル、誘電関数、強パルスレーザーでの非線形光学応答による高次高調波発生などを解析できます。

分散並列化

大規模な系の計算では計算処理を複数の演算器で並列化し、計算データを複数のメモリに分散化する必要があります。これらの並列分散化を実現する以下の方法があります。

OpenMP

プログラムのループに特殊な命令文を記述することでコンパイラが自動的にループ処理を並列化する機能です。メモリの分散化は行われません。近年のマルチコアを搭載した高性能ワークステーションに適した手頃な並列化方法です。

MPI

分散配置されたメモリ間でデータを転送するライブラリ。このライブラリ関数をプログラム中に明示することで計算の並列化と共にメモリの分散化を実現できます。数台のワークステーションにも、超大規模なスーパーコンピュータにも適した分散並列化方法です。MPIと組み合わせたハイブリッド並列化もさらに有用です。

GPU

NVIDIA社製のGPUでは専用のプログラム言語を用いて、GPUを用いた多目的な数値計算プログラムを開発できます。パソコン用の数万円程度のグラフィックカードでも理論上は数百並列化となりますが、複雑な計算処理を行う量子力学計算ではGPU内でのメモリなどのアクセス速度が高速化の制限となるため理論上の上限には及びません。それでも安価な高速化が期待できます。

プログラムのフロントエンド

一般に電子状態計算プログラムは計算内容の調整項目が多く、その入力ファイルは複雑になり計算内容の指定が難しいものとなります。また計算結果である3次元空間に広がる波動関数・電子密度分布も直感的に分かり難い量のため解析が難しいものとなります。電子状態計算の計算手法とは直接関係の無い話題ですが、電子状態計算プログラムの操作・解析が容易であるかどうかもまた計算手法に次いで重要です。操作・解析を容易にするためのフロントエンドが各種開発されています。

詳細マニュアル・可読コード

電子状態計算の計算手法とは直接関係の無い話題ですが、電子状態計算プログラムの使用方法が丁寧に説明されたマニュアルも重要です。プログラムの計算機能とその限界が説明された上で、電子状態計算を簡単に始められる簡易マニュアルは初心者には心強いものです。一方で、正確で詳細な技術マニュアルは専門的な利用者が開発者としてプログラム改良に参加することを可能にします。また、可読性の高いソースコードは、より多くの開発者の参加を可能にし、そのような計算プログラムは将来のさらなる発展と普及を期待することができます。

最後に

みずほリサーチ&テクノロジーズではお客様のご要望に応じて上記の計算方法やお客様が開発された最新の研究成果を組み合わせて第一原理電子状態計算ソフトウェアを開発しています。また、お客様が開発された第一原理計算プログラムへの機能追加、高速化・並列化、フロントエンドソフトウェア開発、マニュアル整備、コード可読化などプログラムの有用性・利便性を向上する整備・改良も行っています。


また、これらの第一原理電子状態計算の知識とプログラムの開発の経験を用いて、ナノテクノロジーやバイオテクノロジーの分野のお客様の研究開発の課題を解決するための第一原理電子状態計算を用いた解析を多数実施しています。


サイエンスソリューション部03-5281-5311

ページの先頭へ