JP2010073182A - 電子状態演算装置、電子状態演算方法、及び電子状態演算プログラム - Google Patents

電子状態演算装置、電子状態演算方法、及び電子状態演算プログラム Download PDF

Info

Publication number
JP2010073182A
JP2010073182A JP2008278095A JP2008278095A JP2010073182A JP 2010073182 A JP2010073182 A JP 2010073182A JP 2008278095 A JP2008278095 A JP 2008278095A JP 2008278095 A JP2008278095 A JP 2008278095A JP 2010073182 A JP2010073182 A JP 2010073182A
Authority
JP
Japan
Prior art keywords
calculation
residual
potential
eigenstate
input
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.)
Granted
Application number
JP2008278095A
Other languages
English (en)
Other versions
JP5212020B2 (ja
Inventor
Akiyoshi Sawamura
明賢 澤村
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.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries Ltd
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 Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP2008278095A priority Critical patent/JP5212020B2/ja
Publication of JP2010073182A publication Critical patent/JP2010073182A/ja
Application granted granted Critical
Publication of JP5212020B2 publication Critical patent/JP5212020B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】 速やかに電子状態計算を行うことができる電子状態演算装置、電子状態演算方法、及び電子状態演算プログラムを提供する。
【解決手段】 本発明の電子状態演算装置1は、電子の固有状態に関する固有値問題の残差を反復演算し当該残差を減少させることで電子の固有状態を得る演算部11と、前記残差に減少停滞が発生しているか否かを判定する停滞判定部12とを備えている。さらに、電子状態演算装置1は、前記残差に減少停滞が発生していないと判定された場合に現状及び過去に演算された複数の入力ポテンシャルに基づいて新たな入力ポテンシャルを演算する第一の入力ポテンシャル演算部10bと、前記残差に減少停滞が発生していると判定された場合に過去に演算された複数の入力ポテンシャルの内の一の新たな入力ポテンシャルに基づいて新たな入力ポテンシャルを演算する第二入力ポテンシャル演算部10cとを有する演算制御部10を備えている。
【選択図】 図1

Description

本発明は、第一原理計算に基づいて、電子の固有状態及び電子間ポテンシャルといった電子状態を演算するための電子状態演算装置、電子状態演算方法、及び電子状態演算プログラムに関する。
一般に、金属や無機物質等の基本的な物性を求めるために、原子や電子の状態を計算によって求める電子状態計算が行われている。
この電子状態計算は、まず、当該計算の対象となる対象物質における電子の固有状態を演算し、この固有状態に基づいて電子間ポテンシャルを演算し、さらにこの電子間ポテンシャルに基づいて前記対象物質を構成する原子の位置を演算するといった手法が採られる。
上記各演算は、それぞれが、他の演算によって得られた演算結果を用いて自己無撞着な非線形方程式について演算を反復することでその解が求められる。すなわち、各演算は、前記非線形方程式について試行錯誤的に何度も反復演算し、その誤差を「0」に収束したとみなせる程度にまで充分に減少させて解を求める。このため、それぞれの反復回数を互いに乗じた回数の演算を要することとなる。
例えば、上記電子間ポテンシャルを演算するには、下記式(1)に示すような、自己無撞着な非線形方程式Fを解くことで行われる。なお、式(1)中、vは電子間ポテンシャルとしての入力値である。
非線形方程式 F(v) = 0 ・・・・ (1)
具体的には、入力値vinによる式(1)の解を出力値voutとすると、誤差としての残差vresは、下記式(2)のように示される。
res = vout − vin ・・・・ (2)
上記非線形方程式Fは、電子の固有状態の演算結果を含んだ関数であり、電子の固有状態(固有エネルギ、波動関数)から出力値voutが求められる。
一方、電子の固有状態は、入力値vinに基づいて反復演算を行うことにより得られるものである。つまり、電子間ポテンシャルの演算においては、設定された入力値vinによって、電子の固有状態を反復演算し、得られた電子の固有状態から出力値voutを求める。そして、この入力値vinから出力値voutを求める演算を反復することで、これら出力値voutと入力値vinとの差である残差vresを「0」に収束したとみなせる程度に充分に減少させ、式(1)に係る非線形方程式の解を得る。
入力値vinは、予め初期値が設定される。そして、この残差vres及び初期値としての入力値vinに基づいて、新たな入力値vinを設定し、再度残差vresを演算する。このような演算を、入力値vinを調整しつつ反復することで、残差vresを減少させ、残差vresが充分に減少し「0」に収束したとみなせる程度の値となったときの入力値vin、又は出力値voutを上記式(1)を満たす解とし、入力値vin、又は出力値voutを電子間ポテンシャルとして得る。
ここで、上記新たな入力値vinを求めるには、以下の方法が採られる。すなわち、演算の反復回数をkとするとき、反復回数kにおける入力値vin (k)及び残差vres (k)は既知であるので、反復回数k+1における新たな入力値vin k+1を下記式(3)で予測する。なお、式(3)中、緩和係数Cは、反復回数k+1における残差vres (k+1)が反復回数kにおける残差vres (k)よりも小さい値となることが期待される値を選んで設定される。
Figure 2010073182
上述の演算において、より速やかに残差vres (k)を減少させうる新たな入力値vin (k+1)を求めるための方法として、Anderson法や、多重割線型Broyden法と呼ばれる方法が知られている(例えば、非特許文献1及び2参照)。
上記方法によれば、過去の演算結果としての入力値vin (λ)と残差vres (λ)(λ≦k)を参照し、新たな入力値を求める方法が提案されている。非特許文献1によれば、参照する過去の演算結果の数の上限は5程度で十分とされている。また、非特許文献2によれば、参照する過去の演算結果の数の上限は9で十分とされている。
V. Eyert,「反復ベクトルの収束加速方法についての比較研究(A Comparative Study on Methods for Convergence Acceleration of Iterative Vector Sequences)」,Journal of Computational Physics,1996,Volume 124, Issue 2,p271−285 澤村明賢、香山正憲、結石友宏、鍜治幹雄,「自己無撞着な電子構造計算の加速法、記憶量節約、多重割線型のBroyden法の実現(Acceleration of self−Consistent Electronic−Structure Calculations:Storage−Saving and Multiple−secant Implementation of the Broyden Method)」,Materials Transactions,日本金属学会,1999年,Vol40,No11,p.1186−1192
ところで、電子の固有状態は、上述したように、入力値vinに基づいて反復演算することにより求められる。
従って、入力値vinは、電子間ポテンシャルの演算における残差vresの減少のみならず、電子の固有状態の演算に対しても影響を及ぼす。
電子の固有状態の演算は、当該電子の固有状態に関する固有値問題の残差を反復演算しその固有値問題の残差を「0」に収束したとみなせる程度に充分に減少させることで行われるものであり、電子間ポテンシャルの反復演算の中で設定される入力値vinによっては、電子の固有状態について演算を反復してもその固有値問題の残差が大きく減少しなくなり、当該固有値問題の残差の減少が停滞する場合があった。
このような電子の固有状態についての演算において、固有値問題の残差に減少停滞が発生すると、当該固有値問題の残差の減少が進行しないまま演算を繰り返してしまい、電子の固有状態の演算の反復回数が増加してしまう。これにより、電子状態計算全体としての計算時間が増大化するという問題が生じる。
本発明はこのような事情に鑑みてなされたものであり、効率よく速やかに固有値問題の残差を減少させることで演算の反復回数を減らし、速やかに電子状態計算を行うことができる電子状態演算装置、電子状態演算方法、及び電子状態演算プログラムを提供することを目的とする。
本発明者は、電子の固有状態及び電子間ポテンシャルといった電子状態計算を行うための電子状態演算装置について、その計算効率をより高めるべく、電子の固有状態についての演算において生じる固有値問題の残差の減少停滞を抑制するための方策について、鋭意研究を重ねていた。その過程で、電子間ポテンシャルを演算する上で反復するごとに更新設定される入力ポテンシャルが、電子の固有状態の演算についても影響を及ぼすことに着目し、種々の実験を行った。その結果、過去の演算結果を参照しつつ入力ポテンシャルを更新設定することが、前記固有値問題の残差の減少停滞に影響していることを見出した。つまり、上記非特許文献には、入力ポテンシャルを演算設定する際に、過去の演算結果を遡って複数個参照することで、残差ポテンシャルを速やかに減少させうる値を求めることが記載されているが、本発明者は、必要以上に過去の演算結果を参照することが前記固有値問題の残差の減少停滞を発生させる要因となっていることを見出し、本発明を完成させた。
すなわち、本発明は、第一原理計算に基づいて、入力ポテンシャルから残差ポテンシャルを求めるための演算を反復し、前記残差ポテンシャルを減少させることにより電子の固有状態及び電子間ポテンシャルを求める電子状態演算装置であって、
前記入力ポテンシャルに対応する、電子の固有状態を演算する固有状態演算部と、
前記電子の固有状態から残差ポテンシャルを演算する残差ポテンシャル演算部と、
前記残差ポテンシャルを減少させうる新たな入力ポテンシャルを演算し、前記新たな入力ポテンシャルを前記固有状態演算部に与えることで前記残差ポテンシャル演算部に前記残差ポテンシャルを反復演算させ、当該残差ポテンシャルを減少させる演算制御部と、を備え、
前記固有状態演算部は、
前記電子の固有状態に関する固有値問題の残差を反復演算し当該残差を減少させることで前記固有値問題を解き、前記電子の固有状態を得る演算部と、
前記演算部による前記固有値問題の残差の反復演算において、前記固有値問題の残差の減少が停滞しているか否かを判定し、前記残差の減少が停滞していると判定すると前記演算部の反復演算を中止させる停滞判定部と、を備え、
前記演算制御部は、
前記停滞判定部により前記固有値問題の残差の減少が停滞していないと判定された場合に、現状及び過去に演算された複数の入力ポテンシャル、及びこれらに対応して演算された複数の残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第一の入力ポテンシャル演算部と、
前記停滞判定部により前記固有値問題の残差の減少が停滞していると判定された場合に、過去に演算された複数の入力ポテンシャルの内の前記第一の入力ポテンシャル演算部が前記新たな入力ポテンシャルを演算するために用いる数より少ない数の入力ポテンシャル、及びこれに対応して演算された残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第二の入力ポテンシャル演算部と、を備えていることを特徴としている。
上記のように構成された電子状態演算装置によれば、停滞判定部によって固有値問題の残差に減少停滞が発生していないと判定された場合には、第一の入力ポテンシャル演算部によって、現状及び過去に演算された複数の入力ポテンシャル、及びこれらに対応する複数の残差ポテンシャルに基づいて新たな入力ポテンシャルが演算される。
その一方、停滞判定部が固有値問題の残差に減少停滞が発生していると判定すると、当該停滞判定部が演算部による反復演算を中止させる。さらに、この場合、第二の入力ポテンシャル演算部によって、過去に演算された複数の入力ポテンシャルの内、第一の入力ポテンシャル演算部が演算に用いる数より少ない数の入力ポテンシャル、及びこれに対応する残差ポテンシャルに基づいて新たな入力ポテンシャルを演算するので、その他の過去の演算結果及び現状の演算結果を参照しない。従って、固有値問題の残差に減少停滞が発生すれば、必要以上に過去の演算結果を参照することなく新たな入力ポテンシャルの演算が行われるので、再度行われる電子の固有状態の演算においては、固有値問題の残差に減少停滞が生じるのを抑制することができる。
つまり、残差の減少停滞が生じた後に再度行われる電子の固有状態の演算においては、固有値問題の残差の減少停滞の発生が抑制される。このため、固有値問題の残差に減少停滞が生じたとしても、固有値問題の残差が減少しないまま電子の固有状態の演算を繰り返してしまうのを防止でき、当該演算における反復回数を減らすことができる。この結果、速やかに電子状態の演算を行うことができる。
前記第二の入力ポテンシャル演算部は、過去に演算された複数の入力ポテンシャルの内の一の入力ポテンシャル、及びこれに対応して演算された一の残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算するものであることが好ましい。
この場合、必要以上に過去の演算結果を参照するのを確実に防止することができる。
また、前記第二の入力ポテンシャル演算部は、前記固有値問題の残差の減少が停滞していると判定される直前に演算された入力ポテンシャル、及びこれに対応して演算された残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算するものであることが好ましい。
この場合、前記残差に減少停滞が発生しなかった演算における最も新しい過去の演算結果のみを参照して、新たな入力ポテンシャルを演算するので、固有値問題の残差の減少及び残差ポテンシャルの減少が、他の複数の過去の演算結果を参照しないことによって過大に妨げられるのを防止できる。
上記電子状態演算装置において、前記演算部は、所定数の電子それぞれについての固有状態を得るものであり、
前記停滞判定部は、
現状の前記固有値問題の残差と、過去に演算された固有値問題の残差との差である残差変化が予め定められた第一の閾値よりも小さいか否かを、前記所定数の電子についての固有状態それぞれについて判定し、前記残差変化が前記第一の閾値よりも小さいと判定された演算結果が得られた前記固有状態の個数を、前記演算部の反復演算の間、積算する積算部と、
前記積算部が積算した積算値が、予め定められた第二の閾値よりも大きいか否かを判定し、前記第二の閾値よりも大きいと判定すると、前記残差の減少が停滞しているものと判定する判定部と、を備えていることが好ましい。
この場合、複数の電子それぞれについての固有状態を演算する上で、容易にかつ精度よく固有値問題の残差の減少停滞を判定することができる。
また、本発明は、第一原理計算に基づいて、入力ポテンシャルから残差ポテンシャルを求めるための演算を反復し、前記残差ポテンシャルを減少させることにより電子の固有状態及び電子間ポテンシャルを求める電子状態演算方法であって、
前記入力ポテンシャルに対応する、電子の固有状態を演算する固有状態演算ステップと、
前記電子の固有状態から残差ポテンシャルを演算する残差ポテンシャル演算ステップと、
前記残差ポテンシャルを減少させうる新たな入力ポテンシャルを演算し、前記新たな入力ポテンシャルに基づいて前記固有状態演算ステップ及び前記残差ポテンシャル演算ステップを反復演算して、前記残差ポテンシャルを減少させる減少ステップと、を備え、
前記固有状態演算ステップは、
前記電子の固有状態に関する固有値問題の残差を反復演算し当該残差を減少させることで前記固有値問題を解き、前記電子の固有状態を得る演算ステップと、
前記演算ステップによる前記固有値問題の残差の反復演算において、前記固有値問題の残差の減少が停滞しているか否かを判定し、前記残差の減少が停滞していると判定すると前記演算ステップにおける反復演算を中止させる停滞判定ステップと、を備え、
前記減少ステップは、
前記停滞判定ステップにおいて前記固有値問題の残差の減少が停滞していないと判定された場合に、現状及び過去に演算された複数の入力ポテンシャル、及びこれらに対応して演算された複数の前記残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第一の入力ポテンシャル演算ステップと、
前記停滞判定ステップにおいて前記固有値問題の残差の減少が停滞していると判定された場合に、過去に演算された複数の入力ポテンシャルの内の前記第一の入力ポテンシャル演算ステップにて前記新たな入力ポテンシャルを演算するために用いる数より少ない数の入力ポテンシャル、及びこれに対応して演算された残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第二の入力ポテンシャル演算ステップと、を備えていることを特徴としている。
上記構成の電子状態演算方法によれば、上述のように、固有値問題の残差に減少停滞が生じたとしても、固有値問題の残差が減少しないまま電子の固有状態の演算を繰り返してしまうのを防止でき、速やかに電子状態の演算を行うことができる。
また、本発明は、第一原理計算に基づいて、入力ポテンシャルから残差ポテンシャルを求めるための演算を反復し、前記残差ポテンシャルを減少させることにより電子の固有状態及び電子間ポテンシャルを求める電子状態演算をコンピュータに実行させるための電子状態演算プログラムであって、
前記入力ポテンシャルに対応する、電子の固有状態を演算する固有状態演算ステップと、
前記電子の固有状態から残差ポテンシャルを演算する残差ポテンシャル演算ステップと、
前記残差ポテンシャルを減少させうる新たな入力ポテンシャルを演算し、前記新たな入力ポテンシャルに基づいて前記固有状態演算ステップ及び前記残差ポテンシャル演算ステップを反復演算して、前記残差ポテンシャルを減少させる減少ステップと、を備え、
前記固有状態演算ステップは、
前記電子の固有状態に関する固有値問題の残差を反復演算し当該残差を減少させることで前記固有値問題を解き、前記電子の固有状態を得る演算ステップと、
前記演算ステップによる前記固有値問題の残差の反復演算において、前記固有値問題の残差の減少が停滞しているか否かを判定し、前記残差の減少が停滞していると判定すると前記演算ステップにおける反復演算を中止させる停滞判定ステップと、を備え、
前記減少ステップは、
前記停滞判定ステップにおいて前記固有値問題の残差の減少が停滞していないと判定された場合に、現状及び過去に演算された複数の入力ポテンシャル、及びこれらに対応して演算された複数の前記残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第一の入力ポテンシャル演算ステップと、
前記停滞判定ステップにおいて前記固有値問題の残差の減少が停滞していると判定された場合に、過去に演算された複数の入力ポテンシャルの内の前記第一の入力ポテンシャル演算ステップにて前記新たな入力ポテンシャルを演算するために用いる数より少ない数の入力ポテンシャル、及びこれに対応して演算された残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第二の入力ポテンシャル演算ステップと、を備えていることを特徴としている。
上記構成の電子状態演算プログラムによれば、上述のように、固有値問題の残差に減少停滞が生じたとしても、固有値問題の残差が減少しないまま電子の固有状態の演算を繰り返してしまうのを防止でき、速やかに電子状態の演算を行うことができる。
また、本発明は、第一原理計算に基づいて、入力ポテンシャルから残差ポテンシャルを求めるための演算を反復し、前記残差ポテンシャルを減少させることにより電子の固有状態及び電子間ポテンシャルを求める電子状態演算装置であって、前記電子の固有状態及び前記電子間ポテンシャルを求めるための対象物質の基本格子ベクトル、及び前記対象物質を構成する複数の構成原子それぞれの位置ベクトルに基づいて、前記入力ポテンシャルの初期値を求める初期値演算部と、前記初期値演算部が演算する前記初期値に基づいて、電子の固有状態及び電子間ポテンシャルを演算する電子状態演算部と、前記電子状態演算部が演算する前記電子の固有状態及び前記電子間ポテンシャルに基づいて、前記対象物質の新たな基本格子ベクトル、及び前記対象物質を構成する複数の構成原子それぞれの新たな位置ベクトルを演算し、この新たな基本格子ベクトル及び新たな位置ベクトルを前記初期値演算部に与えることで、当該初期値演算部及び前記電子状態演算部に、前記基本格子ベクトル、前記位置ベクトル、前記電子間ポテンシャル、及び前記電子の固有状態を反復演算させる原子位置演算部と、を備え、前記初期値演算部は、前記原子位置演算部による反復演算において演算される現状及び過去の基本格子ベクトル、及び位置ベクトルに基づいて、前記入力ポテンシャルの初期値を求めるものであり、前記電子状態演算部は、前記入力ポテンシャルに対応する、電子の固有状態を演算する固有状態演算部と、前記電子の固有状態から残差ポテンシャルを演算する残差ポテンシャル演算部と、前記初期値演算部による前記初期値を前記固有状態演算部に与えることで前記残差ポテンシャルを減少させうる新たな入力ポテンシャルを演算させ、さらに、前記新たな入力ポテンシャルを前記固有状態演算部に与えることで前記残差ポテンシャル演算部に前記残差ポテンシャルを反復演算させ、当該残差ポテンシャルを減少させることで前記電子間ポテンシャルを得る演算制御部と、を備え、前記固有状態演算部は、前記電子の固有状態に関する固有値問題の残差を反復演算し当該残差を減少させることで前記固有値問題を解き、前記電子の固有状態を得る演算部と、前記演算部による前記固有値問題の残差の反復演算において、前記固有値問題の残差の減少が停滞しているか否かを判定し、前記残差の減少が停滞していると判定すると前記演算部の反復演算を中止させる停滞判定部と、を備え、前記演算制御部は、前記演算制御部による反復演算の現状及び過去の演算において行われる前記停滞判定部による判定結果を参照し、現状の演算において前記固有値問題の残差の減少が停滞しているか否かを判断するとともに、現状の演算において前記残差の減少が停滞していると判断する場合にはさらに前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生しているか否かを判断する判断部と、前記判断部により、現状の演算において前記固有値問題の残差の減少が停滞していないと判断された場合に、現状及び過去に演算された複数の入力ポテンシャル、及びこれらに対応して演算された複数の残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第一の入力ポテンシャル演算部と、前記判断部により、現状の演算において前記固有値問題の残差の減少が停滞していると判断されかつ前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生していないと判断された場合に、過去に演算された複数の入力ポテンシャルの内の前記第一の入力ポテンシャル演算部が前記新たな入力ポテンシャルを演算するために用いる数より少ない数の入力ポテンシャル、及びこれに対応して演算された残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第二の入力ポテンシャル演算部と、前記判断部により、現状の演算において前記固有値問題の残差の減少が停滞していると判断されかつ前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生していると判断された場合に、前記原子位置演算部による反復演算において演算される現状の基本格子ベクトル、及び位置ベクトルに基づいて前記新たな入力ポテンシャルを演算する第三の入力ポテンシャル演算部と、を備えていることを特徴としている。
上記のように構成された電子状態演算装置によれば、判断部が現状の演算において固有値問題の残差に減少停滞が発生していると判断しかつ前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生していないと判断すると、必要以上に過去に演算された入力ポテンシャルを参照することなく演算を行う第二の入力ポテンシャル演算部によって新たな入力ポテンシャルが演算されるので、再度行われる電子の固有状態の演算においては、固有値問題の残差に減少停滞が生じるのを抑制することができる。
ここで、前記電子の固有状態及び前記電子間ポテンシャルを求めるための対象物質の性質やその他の条件によっては、上記第二の入力ポテンシャル演算部による演算では、固有値問題の残差に減少停滞が生じるのを抑制できない場合がある。このような場合、過去において行われた反復演算の結果をさらに排除した演算を行うことで、固有値問題の残差に減少停滞が生じるのを抑制することができる。
すなわち、本発明では、判断部が現状の演算において固有値問題の残差に減少停滞が発生していると判断しかつ前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生していると判断すると、第三の入力ポテンシャル演算部によって、原子位置演算部による反復演算において演算される現状の基本格子ベクトル、及び位置ベクトルに基づいて前記新たな入力ポテンシャルが演算されるので、原子位置演算部による反復演算における基本格子ベクトル、及び位置ベクトルそれぞれの過去の演算結果が前記新たな入力ポテンシャルに反映されない。
つまり、第二の入力ポテンシャル演算部による演算がなされても固有値問題の残差減少の停滞が抑制されず、固有値問題の残差の減少停滞が現状の演算と過去の演算との間で連続して発生すると、第三の入力ポテンシャル演算部によって、原子位置演算部による過去の演算結果をも参照することなく新たな入力ポテンシャルの演算が行われる。これによって、演算制御部の反復演算による過去の演算結果のみならず、原子位置演算部の反復演算による過去の演算結果も参照することなく新たな入力ポテンシャルが演算されるので、新たな入力ポテンシャルに及ぶ過去の反復演算の結果による影響を、第二の入力ポテンシャル演算部によるもの以上に排除できる。この結果、再度行われる電子の固有状態の演算において、固有値問題の残差に減少停滞が生じるのを抑制することができる。
以上により、対象物質の性質やその他の条件によって、必要以上に過去に演算された入力ポテンシャルを参照することなく演算を行う第二の入力ポテンシャル演算部による演算では、固有値問題の残差に減少停滞が生じるのを抑制できない場合においても、固有値問題の残差が減少しないまま電子の固有状態の演算を繰り返してしまうのを防止でき、速やかに電子状態の演算を行うことができる。
本発明は、第一原理計算に基づいて、入力ポテンシャルから残差ポテンシャルを求めるための演算を反復し、前記残差ポテンシャルを減少させることにより電子の固有状態及び電子間ポテンシャルを求める電子状態演算方法であって、前記電子の固有状態及び前記電子間ポテンシャルを求めるための対象物質の基本格子ベクトル、及び前記対象物質を構成する複数の構成原子それぞれの位置ベクトルに基づいて、前記入力ポテンシャルの初期値を求める初期値演算ステップと、前記初期値演算ステップにより演算される前記初期値に基づいて、電子の固有状態及び電子間ポテンシャルを演算する電子状態演算ステップと、前記電子状態演算ステップにより演算される前記電子の固有状態及び前記電子間ポテンシャルに基づいて、前記対象物質の新たな基本格子ベクトル、及び前記対象物質を構成する複数の構成原子それぞれの新たな位置ベクトルを演算し、この新たな基本格子ベクトル及び新たな位置ベクトルを前記初期値演算部に与えることで、当該初期値演算部及び前記電子状態演算部に、前記基本格子ベクトル、前記位置ベクトル、前記電子間ポテンシャル、及び前記電子の固有状態を反復演算させる原子位置演算ステップと、を備え、前記初期値演算ステップは、前記原子位置演算ステップによる反復演算において演算される現状及び過去の基本格子ベクトル、及び位置ベクトルに基づいて、前記入力ポテンシャルの初期値を求めるものであり、前記電子状態演算ステップは、前記入力ポテンシャルに対応する、電子の固有状態を演算する固有状態演算ステップと、前記電子の固有状態から残差ポテンシャルを演算する残差ポテンシャル演算ステップと、前記初期値演算部による前記初期値を前記固有状態演算部に与えることで前記残差ポテンシャルを減少させうる新たな入力ポテンシャルを演算させ、さらに、前記新たな入力ポテンシャルを前記固有状態演算部に与えることで前記残差ポテンシャル演算部に前記残差ポテンシャルを反復演算させ、当該残差ポテンシャルを減少させることで前記電子間ポテンシャルを得る演算制御ステップと、を備え、前記固有状態演算ステップは、前記電子の固有状態に関する固有値問題の残差を反復演算し当該残差を減少させることで前記固有値問題を解き、前記電子の固有状態を得る演算ステップと、前記演算ステップによる前記固有値問題の残差の反復演算において、前記固有値問題の残差の減少が停滞しているか否かを判定し、前記残差の減少が停滞していると判定すると前記演算部の反復演算を中止させる停滞判定ステップと、を備え、前記演算制御ステップは、前記演算制御ステップによる反復演算の現状及び過去の演算において行われる前記停滞判定ステップによる判定結果を参照し、現状の演算において前記固有値問題の残差の減少が停滞しているか否かを判断するとともに、現状の演算において前記残差の減少が停滞していると判断する場合にはさらに前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生しているか否かを判断する判断ステップと、前記判断ステップにより、現状の演算において前記固有値問題の残差の減少が停滞していないと判断された場合に、現状及び過去に演算された複数の入力ポテンシャル、及びこれらに対応して演算された複数の残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第一の入力ポテンシャル演算ステップと、前記判断ステップにより、現状の演算において前記固有値問題の残差の減少が停滞していると判断されかつ前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生していないと判断された場合に、過去に演算された複数の入力ポテンシャルの内の前記第一の入力ポテンシャル演算ステップにて前記新たな入力ポテンシャルを演算するために用いる数より少ない数の入力ポテンシャル、及びこれに対応して演算された残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第二の入力ポテンシャル演算ステップと、前記判断ステップにより、現状の演算において前記固有値問題の残差の減少が停滞していると判断されかつ前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生していると判断された場合に、前記原子位置演算ステップによる反復演算において演算される現状の基本格子ベクトル、及び位置ベクトルに基づいて前記新たな入力ポテンシャルを演算する第三の入力ポテンシャル演算ステップと、を備えていることを特徴としている。
また、本発明は、第一原理計算に基づいて、入力ポテンシャルから残差ポテンシャルを求めるための演算を反復し、前記残差ポテンシャルを減少させることにより電子の固有状態及び電子間ポテンシャルを求める電子状態演算をコンピュータに実行させるための電子状態演算プログラムであって、前記電子の固有状態及び前記電子間ポテンシャルを求めるための対象物質の基本格子ベクトル、及び前記対象物質を構成する複数の構成原子それぞれの位置ベクトルに基づいて、前記入力ポテンシャルの初期値を求める初期値演算ステップと、前記初期値演算ステップにより演算される前記初期値に基づいて、電子の固有状態及び電子間ポテンシャルを演算する電子状態演算ステップと、前記電子状態演算ステップにより演算される前記電子の固有状態及び前記電子間ポテンシャルに基づいて、前記対象物質の新たな基本格子ベクトル、及び前記対象物質を構成する複数の構成原子それぞれの新たな位置ベクトルを演算し、この新たな基本格子ベクトル及び新たな位置ベクトルを前記初期値演算部に与えることで、当該初期値演算部及び前記電子状態演算部に、前記基本格子ベクトル、前記位置ベクトル、前記電子間ポテンシャル、及び前記電子の固有状態を反復演算させる原子位置演算ステップと、を備え、前記初期値演算ステップは、前記原子位置演算ステップによる反復演算において演算される現状及び過去の基本格子ベクトル、及び位置ベクトルに基づいて、前記入力ポテンシャルの初期値を求めるものであり、前記電子状態演算ステップは、前記入力ポテンシャルに対応する、電子の固有状態を演算する固有状態演算ステップと、前記電子の固有状態から残差ポテンシャルを演算する残差ポテンシャル演算ステップと、前記初期値演算部による前記初期値を前記固有状態演算部に与えることで前記残差ポテンシャルを減少させうる新たな入力ポテンシャルを演算させ、さらに、前記新たな入力ポテンシャルを前記固有状態演算部に与えることで前記残差ポテンシャル演算部に前記残差ポテンシャルを反復演算させ、当該残差ポテンシャルを減少させることで前記電子間ポテンシャルを得る演算制御ステップと、を備え、前記固有状態演算ステップは、前記電子の固有状態に関する固有値問題の残差を反復演算し当該残差を減少させることで前記固有値問題を解き、前記電子の固有状態を得る演算ステップと、前記演算ステップによる前記固有値問題の残差の反復演算において、前記固有値問題の残差の減少が停滞しているか否かを判定し、前記残差の減少が停滞していると判定すると前記演算部の反復演算を中止させる停滞判定ステップと、を備え、前記演算制御ステップは、前記演算制御ステップによる反復演算の現状及び過去の演算において行われる前記停滞判定ステップによる判定結果を参照し、現状の演算において前記固有値問題の残差の減少が停滞しているか否かを判断するとともに、現状の演算において前記残差の減少が停滞していると判断する場合にはさらに前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生しているか否かを判断する判断ステップと、前記判断ステップにより、現状の演算において前記固有値問題の残差の減少が停滞していないと判断された場合に、現状及び過去に演算された複数の入力ポテンシャル、及びこれらに対応して演算された複数の残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第一の入力ポテンシャル演算ステップと、前記判断ステップにより、現状の演算において前記固有値問題の残差の減少が停滞していると判断されかつ前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生していないと判断された場合に、過去に演算された複数の入力ポテンシャルの内の前記第一の入力ポテンシャル演算ステップにて前記新たな入力ポテンシャルを演算するために用いる数より少ない数の入力ポテンシャル、及びこれに対応して演算された残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第二の入力ポテンシャル演算ステップと、前記判断ステップにより、現状の演算において前記固有値問題の残差の減少が停滞していると判断されかつ前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生していると判断された場合に、前記原子位置演算ステップによる反復演算において演算される現状の基本格子ベクトル、及び位置ベクトルに基づいて前記新たな入力ポテンシャルを演算する第三の入力ポテンシャル演算ステップと、を備えていることを特徴としている。
上記構成の電子状態演算方法、及び、電子状態演算プログラムによれば、上述のように、必要以上に過去に演算された入力ポテンシャルを参照することなく新たな入力ポテンシャルを演算しても、固有値問題の残差に減少停滞が生じるのを抑制できない場合には、原子位置演算部の反復演算による過去の演算結果も参照することなく新たな入力ポテンシャルが演算される。この結果、再度行われる電子の固有状態の演算において、固有値問題の残差に減少停滞が生じるのを抑制することができる。
以上のように、本発明の電子状態演算装置、電子状態演算方法、及び電子状態演算プログラムによれば、より効率よく速やかに電子状態計算を行うことができる。
〔第一の実施形態に係る装置の全体構成〕
次に、本発明の好ましい実施形態について添付図面を参照しながら説明する。図1は、本発明の第一の実施形態に係る電子状態演算装置の機能的構成を示すブロック図である。この電子状態演算装置1は、第一原理計算に基づいて、対象とする金属や無機物質等を構成している原子や電子の状態を計算によって求め、これに基づいて、当該金属や無機物質等の対象物質の基本的な物性を求めるものであり、コンピュータ等によって構成されている。
電子状態演算装置1は、キーボードやマウス等からなる入力デバイス及びディスプレイやプリンタ等からなる出力デバイスを含んで構成される入出力部2と、オペレーティングシステムや、各種プログラム、情報等を記憶するためのハードディスク等からなる記憶部3と、入出力部2から入力される各種データに基づいて電子状態計算を行うための処理を行うデータ処理部4とを機能的に備えている。
電子状態演算装置1の記憶部3には、電子状態計算を行うためのプログラム(電子状態演算プログラム)や、電子状態計算の結果から対象物質の基本的物性を演算するためのプログラムが記憶部3にインストールされており、これらプログラムが実行されることにより、電子状態演算装置1が有している、後述の電子状態計算を行うための各機能部が実現される。
データ処理部4は、入出力部2を介して入力される対象物質についての構成原子や基本格子構造等に関する情報等に基づいて構成原子の位置を示すベクトルを求め、さらに原子が電子に及ぼすポテンシャルを演算する原子位置演算部5と、対象物質の電子についての電子間ポテンシャルvや固有状態(波動関数、固有エネルギ)といった電子状態を演算するための電子状態演算部6と、上記ベクトルや電子状態から対象物質の物性値を演算する物性演算部7とを機能的に有しており、これら各部を総括的に制御する。また、データ処理部4は、上記各部によって行われる反復演算処理でその反復回数をカウントするための第一〜第三カウンタ13,14,15を機能的に有している。
このうち、電子状態演算部6は、原子位置演算部5から与えられる、原子が電子に及ぼすポテンシャル(原子−電子間ポテンシャルvext)に基づいて第一原理計算を反復演算し、電子状態を出力する機能を有しており、これを実現するための機能部群として、固有状態演算部8と、残差ポテンシャル演算部9と、演算制御部10とを有している。
固有状態演算部8は、電子間ポテンシャルvを演算するための入力値としての入力ポテンシャルに基づいて、電子の固有状態を示す固有エネルギ及び波動関数を反復演算する。また、固有状態演算部8は、電子の固有状態に関する反復演算において求められる残差について、その減少が停滞したか否かを判定する機能等も有している。
残差ポテンシャル演算部9は、固有状態演算部8が演算した電子の固有状態に基づいて電子密度を求め、さらにこの電子密度から電子間ポテンシャルの出力値としての出力ポテンシャルを演算する。また、残差ポテンシャル演算部9は、得られた出力ポテンシャルと、固有状態演算部8に入力された入力ポテンシャルとの差(誤差)である残差ポテンシャルを演算し、演算結果である残差ポテンシャル及び出力ポテンシャルを演算制御部10に出力する。
演算制御部10は、固有状態演算部8に入力ポテンシャルを与えることで、残差ポテンシャル演算部9に残差ポテンシャルを反復演算させる機能を有している。
また、演算制御部10は、前記反復演算の結果、残差ポテンシャルが「0」に収束したとみなせる程度に充分に減少したと判断しうる値にまで減少すると、各部の反復演算を中止させそのときの出力ポテンシャルを電子間ポテンシャルvとして出力するとともに、そのときの電子の固有状態を出力する。このように、演算制御部10は、所定の条件を満たしたときに、前記電子間ポテンシャル及び電子の固有状態を電子状態演算部6の演算結果として出力する。なお、電子間ポテンシャルvについては、残差ポテンシャルが「0」に収束したとみなせる程度に充分に減少したときの入力ポテンシャル、又は出力ポテンシャルのいずれかを電子間ポテンシャルvとしての出力とすることができるが、本実施形態では、出力ポテンシャルを電子間ポテンシャルvとして出力するように演算制御部10を構成した場合について説明する。
さらに演算制御部10は、残差ポテンシャル演算部9が演算した残差ポテンシャル及びこの残差ポテンシャルに対応する入力ポテンシャルに基づいて残差ポテンシャルを反復演算させるべく、固有状態演算部8に与えるための新たな入力ポテンシャルを演算する機能を有している。
〔固有状態演算部の機能について〕
上記固有状態演算部8の機能についてさらに詳述する。図2は、固有状態演算部8の機能を示すブロック図である。固有状態演算部8は、演算制御部10から与えられる入力ポテンシャルvin及び原子−電子間ポテンシャルvextに基づいて、電子の固有状態に関する固有値問題の残差rj(jは演算される固有状態の数に対応付けられる数)を反復演算し、「0」に収束したとみなせる程度に充分に減少したと判断しうる値にまで当該残差rjを減少させることで前記固有値問題を解き、電子の固有状態を得る演算部11と、演算部11による反復演算において前記残差rjの減少停滞が発生しているか否かを判定する停滞判定部12とを有している。
ここで、演算部11が行う固有値問題の反復演算については、対象物質の単位格子中に含まれる電子に応じて定まる、演算を続行するために必要な所定数の固有状態について行われる。その所定数は、対象物質の単位格子中に含まれる電子の内、原子間の結合に関与している電子の数の半分よりも若干多い数に設定される。従って、演算部11は、演算を続行するために必要な個数の固有状態を演算結果として出力する。
また、固有値問題の反復演算における残差rjの減少停滞とは、前記所定数の電子の固有状態それぞれについての固有値問題を解く上で求められる前記残差rjにおいて、演算を反復しても前記残差rjが大きく減少しなくなった電子の固有状態の個数が増加し、各固有値問題の演算の反復回数が必要以上に増大していると認められる状態をいう。
停滞判定部12は、演算部11が行う反復演算における前記残差rjを取得し、前記残差rjの減少停滞が発生しているか否かを判定する。
停滞判定部12は、反復演算の中で、現状の残差rjと、過去に演算された残差rjとの差である残差変化が予め定められた第一の閾値(後に説明する)よりも小さいか否かを、前記所定数の電子の固有状態に関する演算それぞれについて判定し、前記残差変化が前記第一の閾値よりも小さいと判定された演算結果が得られた前記固有状態の個数を積算する積算部12aと、積算部12aが積算した積算値が、予め定められた第二の閾値(後に説明する)よりも大きいか否かを判定し、第二の閾値よりも大きいと判定すると、前記残差rjの減少が停滞していると判定する判定部12bとを有している。
判定部12bは、演算部11が行う反復演算の中でその演算ごとに、減少停滞の判定を行う。判定部12bは、前記残差rjの減少が停滞していると判定すると、減少停滞の判定結果を示すための判定フラグを「1」に設定し、停滞していないと判定すると、判定フラグを「0」に設定する。判定を終えると、判定部12bは、判定が終了した旨を演算部11に通知する。
演算部11は、前記通知を受けると、判定フラグを参照する。参照した結果、判定フラグが「0」に設定されている場合、現状行っている反復演算を続行する。一方、判定フラグが「1」に設定されている場合、現状行っている反復演算を中止し、現段階において演算された電子の固有状態(波動関数ψj、固有エネルギεj)を演算結果として、残差ポテンシャル演算部9へ出力する。
このように、判定部12bは、前記残差rjの減少停滞が発生していると判定した場合、「1」とされた判定フラグを演算部11に参照させることで、演算部11の反復演算を中止させることができる。なお、積算部12aは、前記残差変化を演算するために、演算部11が演算を反復するごとに与えられる残差rjを記憶部3に記憶する。
以上のようにして、固有状態演算部8の演算部11は、各電子の固有状態の演算結果としての固有エネルギεj、波動関数ψjを残差ポテンシャル演算部9に出力する。
〔演算制御部の機能について〕
次に、演算制御部10の機能について詳述する。図3は、演算制御部10の機能を示すブロック図である。なお、演算制御部10は、上述したように複数の機能を有しているが、図3では、その機能の内、残差ポテンシャル演算部9が演算した残差ポテンシャル及びこの残差ポテンシャルを求めるために用いた入力ポテンシャルに基づいて、再度固有状態演算部8に与えるための新たな入力ポテンシャルを演算する機能について示している。
残差ポテンシャル演算部9は、電子状態演算部6による反復演算の中で、自身の演算結果である残差ポテンシャル及び出力ポテンシャルを演算制御部10に与える。
残差ポテンシャル演算部9より、残差ポテンシャル及び出力ポテンシャルが与えられた演算制御部10は、判定検知部10aに残差ポテンシャルが「0」に収束したとみなせる程度に充分に減少したと判断しうる値にまで減少しているか否かを判定させる。判定検知部10aにより残差ポテンシャルが充分に減少していると判定されると、演算制御部10は、現状の出力ポテンシャルを電子間ポテンシャルとして、電子の固有状態とともに原子位置演算部5に出力する。
判定検知部10aは、残差ポテンシャルが充分に減少していないと判定すると、判定フラグを参照する。判定フラグが「0」の場合、判定検知部10aは、第一入力ポテンシャル演算部10bに前記残差ポテンシャル、及びこの残差ポテンシャルを求めるために用いた入力ポテンシャルを与え、固有状態演算部8に与えるための新たな入力ポテンシャルを演算させる。一方、判定フラグが「1」の場合、第二入力ポテンシャル演算部10cに前記新たな入力ポテンシャルを演算させる。
第一入力ポテンシャル演算部10bは、判定検知部10aから与えられる現状の残差ポテンシャル及び入力ポテンシャルに加え、電子状態演算部6による反復演算の結果、過去に演算された複数の入力ポテンシャル及びこれらに対応して演算された複数の残差ポテンシャルに基づいて、前記新たな入力ポテンシャルを演算する。なお、上記過去に演算された複数の入力ポテンシャル及び複数の残差ポテンシャルは、演算制御部10によって、演算が反復されるごとに逐次記憶部3に記憶格納される。第一入力ポテンシャル演算部10bは、この記憶部3に記憶格納された情報を参照し、前記新たな入力ポテンシャルを演算する。
第二入力ポテンシャル演算部10cは、記憶部3に記憶された情報を参照し、過去に演算された複数の入力ポテンシャルの内の一の入力ポテンシャル、及びこれに対応して演算された一の残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する。
第一及び第二入力ポテンシャル演算部10b,10cにより演算される新たな入力ポテンシャルは、固有状態演算部8に与えられ、電子間ポテンシャル及び電子の固有状態についての反復演算に用いられる。
次に、上記構成の電子状態演算装置1の動作について説明する。
〔電子状態演算装置の動作について〕
図4は、本実施形態の電子状態演算装置1の総括的な動作を示したフローチャートである。
本装置1において、入出力部2に電子状態計算の対象とする対象物質の構成原子の位置に関する情報やその他必要なパラメータが入力されると(ステップS101)、データ処理部4は、第一カウンタ13のカウント値lを「1」に設定する(ステップS102)。
図5は、上記ステップS101において、対象物質の構成原子の位置に関する情報の入力を受け付けるためのディスプレイ表示の一例である。
データ処理部4は、図5に示すように、数値情報を入力するための入力欄40を入出力部2の有するディスプレイに表示する。この入力欄40は、例えば、単位格子に含まれる各構成原子それぞれの3次元座標値が入力できるように設けられている。当該装置1の操作者は、マウス等で入力しようとする入力欄40にカーソルを移動させた後、キーボード等を操作することで、前記3次元座標値に関する数値情報を入力する。入出力部2は、この入力欄40に入力された各数値情報を各構成原子の位置情報として受け付ける。
なお、ここで入出力部2が受け付ける構成原子の位置に関する情報である、単位格子に含まれる各構成原子それぞれの3次元座標値は、対象物質の構成原子や結晶構造等から予め予測して求められる。
また、図5では、構成原子の位置に関する情報を入力する際の態様を示したが、後述する他の情報(閾値rth、閾値vth、第一の閾値Astag、係数Bstag)についても、同様の入力画面が用意され、受け付けられる。
図4に戻って、データ処理部4は、各構成原子それぞれの3次元座標値等の必要なパラメータを受け付けると、これらパラメータを原子位置演算部5に与える。これらパラメータが与えられた原子位置演算部5は、下記に示す、対象物質の基本格子ベクトル及び各構成原子の位置ベクトルについての初期値(l=1)を演算する(ステップS103)。
Figure 2010073182
なお、上記式中、Natomは、単位格子に含まれる構成原子の個数である。
次いで、原子位置演算部5は、上記基本格子ベクトル及び位置ベクトルの初期値に基づいて原子−電子間ポテンシャルvextを演算し(ステップS104)、電子状態演算部6に演算した原子−電子間ポテンシャルvextを与える。
原子−電子間ポテンシャルvextが与えられた電子状態演算部6は、この原子−電子間ポテンシャルvextに基づいて、電子間ポテンシャルv、電子の固有状態(波動関数ψj、固有エネルギεj、(jは演算される固有状態の数に対応付けられる数)を演算する(ステップS105)。なお、このステップS105において行われる演算処理については、後に詳述する。
ステップS105の演算処理を終えた電子状態演算部6は、得られた電子間ポテンシャルv及び電子の固有状態を原子位置演算部5に与える。原子位置演算部5は、これら電子間ポテンシャルv及び電子の固有状態に基づいて対象物質を構成したときに、単位格子に生じる応力(下記参照)を演算するとともに、単位格子に含まれる各構成原子に作用する力(下記参照)を各構成原子それぞれについて演算する(ステップS106)。
Figure 2010073182
次に、原子位置演算部5は、上記応力σ(l)、及び各構成原子の内の全部又は指定した一部における力Fh (l)が、予め個々に定めた基準値よりも小さいか否かを判定する(ステップS107)。この判定基準を満たさない場合、原子位置演算部5は、ステップS108に進み、基本格子ベクトルai (l)、及び前述の全部又は指定した一部の各構成原子に対応する位置ベクトルRh (l)を更新し、新たな基本格子ベクトルai (l+1)、位置ベクトルRh (l+1)を演算する。つまり、このステップS108では、原子位置演算部5は、各構成原子の位置関係を適宜調整する処理を行う。
そして、原子位置演算部5は、第一カウンタ13のカウント値lに「1」を加え(ステップS109)、ステップS104に戻り、新たな基本格子ベクトルai (l+1)、位置ベクトルRh (l+1)に基づいて原子−電子間ポテンシャルvextを求める。さらに、ステップS105に進み、再度、電子状態演算部6は、各ポテンシャル等の演算を行う。これに基づいて原子位置演算部5は、応力σ(l)、及び力Fh (l)を求め、再度これら応力σ(l)、力Fh (l)が判定基準を満たしているか否かを判定する。原子位置演算部5及び電子状態演算部6は、これを繰り返すことで、応力σ(l)、力Fh (l)が判定基準を満たすまで、上記演算を反復する。
なお、第一カウンタ13のカウント値lは、ステップS104〜S109にて行われる反復演算の演算回数を示している。
なお、ステップS108において、新たな基本格子ベクトルai (l+1)、位置ベクトルRh (l+1)を演算する際、原子位置演算部5は、応力σ(l)、力Fh (l)を、あるいは、過去の値である応力σ(λ)、力Fh (λ)(λ<l)をも利用して、基本格子ベクトルai (l)、及び位置ベクトルRh (l)を更新し、上記判定基準を満たしうる応力σ(l)、力Fh (l)が得られるように、新たな基本格子ベクトルai (l+1)、位置ベクトルRh (l+1)を演算する。
ステップS107において、応力σ(l)、及び各構成原子の内の全部又は指定した一部における力Fh (l)が上記判定基準を満たす場合、原子位置演算部5は、物性演算部7に対して、現状得られた基本格子ベクトルai (l)、位置ベクトルRh (l)、電子間ポテンシャルv、及び電子の固有状態(波動関数ψj、固有エネルギεj)を与える。これらが与えられた物性演算部7は、対象物質の物質を演算し、データ処理部4は、入出力部2を介して、前記対象物質の物性に関するデータ、あるいは、前記各ベクトル、電子間ポテンシャル、電子の固有状態に関するデータを出力する(ステップS110)。
次に、図4中、ステップS105における、電子間ポテンシャルv及び電子の固有状態の演算について説明する。
〔電子間ポテンシャル及び固有状態の演算について〕
図6は、電子状態演算部6が電子間ポテンシャル及び電子の固有状態(波動関数ψj、固有エネルギεj)を求める際の動作態様を示したフローチャートである。
電子状態演算部6は、原子位置演算部5が演算した原子−電子間ポテンシャルvextが与えられると(図4中ステップS104)、第二カウンタ14のカウント値mを「1」に設定する(ステップS201)。そして、電子状態演算部6は、固有状態演算部8に入力するための入力ポテンシャルvin (m)の初期値(m=1)を演算制御部10に設定させる(ステップS202)。
電子状態演算部6の演算制御部10は、原子−電子間ポテンシャルvext及び入力ポテンシャルvin (m)を固有状態演算部8に与え、これらに対応した電子の固有状態(波動関数ψj、固有エネルギεj(1≦j≦Neig))を固有状態演算部8に演算させる(ステップS203)。
なお、ここで、jは、上述のように、演算される固有状態の個数に対応付けられる数である。また、Neigは、電子状態計算を続行するために必要な固有状態の所定数である。固有状態演算部8(の演算部11)は、Neig個の固有状態それぞれについて演算する。
図7は、図6中ステップS203の演算処理における固有状態演算部8の動作を示したフローチャートである。
固有状態演算部8は、原子−電子間ポテンシャルvext及び入力ポテンシャルvin (m)が与えられると、位置と運動量の関数であるハミルトニアンHを下記式(4)で定義する(ステップS301)。
H = T + vext + vin (m) ・・・・ (4)
なお、上記式(4)中、Tは運動エネルギを示している。また、ハミルトニアンHは、演算子としての機能を有する行列である。
次に、固有状態演算部8は、第三カウンタ15のカウント値nを「1」に設定するとともに、減少停滞の判定結果を示すための判定フラグを「0」に設定する(ステップS302)。
そして、固有状態演算部8は、初期設定としての固有ベクトルである波動関数ψj (n)(n=1)を仮定する(ステップS303)。
次に、固有状態演算部8(の演算部11)は、下記式(5)に示されるように、ハミルトニアンHと、波動関数ψj (n)との積φjを求める(ステップS304)。
φj = Hψj (n) ・・・・ (5)
ここで、固有ベクトルである波動関数ψと、固有値である固有エネルギεは、下記式(6)に示されるように関係を有している。
εψ = Hψ ・・・・ (6)
すなわち、電子の固有状態としての波動関数ψ、及び固有エネルギεは、上記式(6)のように、演算子であるハミルトニアンHについての固有値問題として表され、この固有値問題を解くことで求められる。
そこで、固有状態演算部8(の演算部11)は、下記式(7)に基づいて固有エネルギεj (n)を求めとともに、下記式(8)に基づいて上記固有値問題の残差rj (n)を求める(ステップS305)。
Figure 2010073182
なお、波動関数ψj (n)はNeig個の固有状態それぞれに対応する固有ベクトルとしての波動関数を含んだベクトル群を示しており、固有値問題の残差rj (n)もNeig個の固有状態それぞれに対応する残差を表すベクトルを含んだベクトル群を示している。固有エネルギεj (n)はNeig個の電子それぞれに対応する固有エネルギの値を含んだ数値群を示している。よって、上記の演算によって、上述したNeig個の固有状態それぞれについて得られる。
次に、固有状態演算部8(の演算部11)は、Neig個の固有状態をそれぞれ演算する上で、得られた固有値問題の残差rj (n)の値の内、下記式(9)で示される最大値Mが、予め定められた閾値rthよりも小さいか否かを判定する(ステップS306)。
Figure 2010073182
固有状態演算部8は、以下に述べるように固有値問題の残差rj (n)を反復演算し、残差rj (n)が「0」に収束したとみなせる程度に充分に減少したと判断しうる値にまで減少させることで固有値問題を解き、そのときの波動関数ψj (n)、及び固有エネルギεj (n)を解として得る。ここで、閾値rthは、固有値問題の残差rj (n)が「0」に収束したとみなせる程度に充分に減少したと判断しうる値に設定される。
これにより、ステップS306において、固有値問題の残差rj (n)の値の内の最大値Mが、閾値rthよりも小さいと判定されると、すべての固有値問題の残差rj (n)が「0」に収束したとみなせる程度に充分に減少したと判断することができ、閾値rthよりも小さくないと判定されると、固有値問題の残差rj (n)が未だ充分に減少していないと判断することができる。
ステップS306において、最大値Mが、閾値rthよりも小さいと判定すると、固有状態演算部8は、図6中のステップS203に戻り、現状、解として得られた波動関数ψj (n)、及び固有エネルギεj (n)を残差ポテンシャル演算部9に与える。すなわち、固有状態演算部8は、固有値問題の残差rj (n)の値の全てが、閾値rthよりも小さくなった場合、残差rj (n)が充分に減少したと判断され、そのときの波動関数ψj (n)、及び固有エネルギεj (n)を解として出力する。
一方、最大値Mが、閾値rthよりも小さくないと判定すると(ステップS306)、固有状態演算部8(の演算部11)は、固有値問題の残差rj (n)を停滞判定部12に与える。停滞判定部12は、これに基づいて、固有値問題の残差rj (n)に減少停滞が発生しているか否かの判定を行う(ステップS307)。
停滞判定部12の判定部12bは、前記残差の減少が停滞していると判定すると、判定フラグを「1」に設定し、停滞していないと判定すると、判定フラグを「0」に設定する。減少停滞に関する判定を終えると、停滞判定部12は、上述したように、判定を終えた旨の通知を演算部11に対して与える。
なお、停滞判定部12による前記残差の減少停滞に関する判定についての具体的な処理については、後に詳述する。
判定を終えた旨の通知が与えられた演算部11は、判定フラグを参照し、判定フラグが「1」であるか否かを判断する(ステップS308)。判定フラグが「0」である場合、すなわち、停滞判定部12が、固有値問題の残差rj (n)の減少が停滞していないと判定したときには、演算部11は、新たな波動関数ψj (n+1)を演算し(ステップS309)、第三カウンタ15のカウント値nに「1」を加え(ステップS310)、ステップS304に戻る。そして、再度、固有エネルギεj (n)及び波動関数ψj (n)を求めるとともに、固有値問題の残差rj (n)を求める演算を反復する。
なお、第三カウンタ15のカウント値nは、ステップS304〜S310にて行われる反復演算の演算回数を示している。
一方、判定フラグが「1」である場合、すなわち、停滞判定部12が、固有値問題の残差rj (n)の減少が停滞していると判定したときには、固有状態演算部8の演算部11は、図6中のステップS203に戻り、現状、解として得られた波動関数ψj (n)、及び固有エネルギεj (n)を残差ポテンシャル演算部9に与える。
このように、固有状態演算部8の演算部11は、固有値問題の残差rj (n)の最大値Mが、閾値rthよりも小さくなるまで、すなわち、固有値問題の残差rj (n)の値の全てが閾値rthよりも小さくなる程度に減少するまで、前記固有値問題に関する反復演算を行い、固有値問題の残差rj (n)の値の全てが閾値rthよりも小さくなったとき(「0」に収束したとみなせる程度に充分に減少したとき)に固有値問題が解けたものとして、そのときの波動関数ψj (n)、及び固有エネルギεj (n)を解として出力する。
ただし、固有値問題の残差rj (n)の最大値Mが、閾値rthよりも小さくなるまでに減少しておらず、かつ、停滞判定部12により固有値問題の残差rj (n)に減少停滞が発生していると判定された場合には、演算部11は、上記反復演算を中止して、そのときの波動関数ψj (n)、及び固有エネルギεj (n)を解として出力する。
なお、演算部11は、ステップS309において、新たな波動関数ψj (n+1)を演算するが、この新たな波動関数ψj (n+1)は、下記式(10)に基づいて演算されることで、固有値問題の残差rj (n)を減少しうる値として演算される。
Figure 2010073182
ここで、図7中、ステップS307における、残差の減少停滞に関する判定についての具体的な処理について説明する。図8は、固有状態演算部8の停滞判定部12による減少停滞に関する判定処理の態様を示すフローチャートである。
演算部11から、固有値問題の残差rj (n)(1≦j≦Neig)の値が与えられると、停滞判定部12(の積算部12a)は、Neig個の固有状態の内、所定の停滞条件を満たす演算結果が得られた固有状態の個数Nstag (n)をカウントする(ステップS401)。
上記停滞条件は、下記式(11),(12)によって示され、これら式(11)及び式(12)の双方を満たす演算結果が得られた固有状態の個数をカウントする。
Figure 2010073182
ここで、上記式(11)では、Neig個の固有状態それぞれについての残差rj (n)が、閾値rth以上であるかを判定しており、式(11)によって、Neig個の固有状態の内、残差rj (n)が閾値rthより小さくなり減少していると判断できるものは、個数Nstag (n)におけるカウントの対象から除外している。
また、上記式(12)中、左辺の分母は、残差rj (n)と、過去(前回である(n−1)回目)に演算された残差rj (n-1)との差である残差変化を示している。また、Astagは、前記残差変化の値の変化の度合を判定するための、予め定められた第一の閾値であり、この第一の閾値Astagよりも小さい場合に、積算部12aは、その演算については残差の減少が進んでいないものとして、個数Nstag (n)におけるカウントの対象としている。
なお、式(12)において、左辺を‖rj (n-1)‖で除しているが、これは、左辺の演算を容易とするためである。
次いで、積算部12aは、下記式(13)に基づいて、個数Nstag (n)の積算値を求める(ステップS402)。この個数Nstag (n)の積算値は、式(13)に示すように、演算部11による反復演算ごとにカウントされる個数Nstag (n)を、その反復演算の間、積算した値である。従って、図7中、ステップS304〜S310に示される前記反復演算に係るループを抜けた後、再度前記ループに入ると、積算部12aは、個数Nstag (n)及びその積算値をリセットして改めてカウントを開始する。
Figure 2010073182
次に、積算部12aは、ステップS402にて求めた積算値を判定部12bに与える。判定部12bは、この積算値が下記式(14)を満たすか否かを判定する(ステップS403)。
Figure 2010073182
式(14)中の右辺は、電子状態計算を続行するために必要な固有状態の数であるNeigに、予め設定される係数Bstagを乗算したものであり、予め定められた第二の閾値を構成している。
前記積算値が、前記第二の閾値よりも大きいと判定されると(ステップS403)、判定部12bは、固有値問題の残差rj (n)の減少が停滞していると判定し、判定フラグを「1」に設定する(ステップS404)。そして、演算部11に判定が終了した旨の通知を与え(ステップS405)、図7中、ステップS307に戻り、ステップS308に進む。
なお、上記第一の閾値Astagは、固有値問題の残差rj (n)の変化が停滞しているか否かを判定する上での基準となる値であり、第一の閾値Astagによって、固有値問題の残差rj (n)の変化に対する敏感度が定められる。また、係数Bstagは前記積算値による減少停滞についての判定基準となる値である第二の閾値を調整する係数であり、これによって、前記積算値に対する許容度が定められる。
一方、前記積算値が前記第二の閾値以下と判定されると(ステップS403)、判定部12bは、固有値問題の残差rj (n)の減少が停滞していないと判定し、判定フラグの設定を行わず、演算部11に判定が終了した旨の通知を与え(ステップS405)、図7中、ステップS307に戻り、ステップS308に進む。
なおこの場合、図7中ステップS302において、判定フラグは初期値として「0」に設定されており、判定フラグの設定は「0」のままとなる。
このように、停滞判定部12は、Neig個の固有状態の内、所定の停滞条件を満たす固有値問題の演算結果が得られた固有状態の個数Nstag (n)をカウントすることで、反復演算の内の個々の演算におけるNeig個の固有状態それぞれに関する固有値問題の残差rj (n)の減少の状況をNeig個の固有状態を全体として判定する。そして、カウントされた個数Nstag (n)の積算値によって、演算部11による固有値問題を解くための反復演算全体における残差rj (n)の減少停滞を判定している。
また、停滞判定部12は、減少停滞が発生していないと判定すると判定フラグ初期値の「0」とし、減少停滞が発生していると判定すると判定フラグを「1」に設定する。
以上のようにして、固有状態演算部8は、固有値問題の残差rj (n)の値を反復演算し、当該残差rj (n)の値を充分に減少させることで前記固有値問題を解き、Neig個の固有状態としての、波動関数ψj (n)、及び固有エネルギεj (n)を得る。
また固有状態演算部8は、演算部11による反復演算において、固有値問題の残差rj (n)の減少が停滞しているか否かを判定し、残差rj (n)の減少が停滞していると判定すると、演算部11の反復演算を中止して、判定フラグにその判定結果を反映させる。
次に、上記のように得られた固有状態から残差ポテンシャルを求めさらに電子間ポテンシャルvを求めるための演算処理について説明する。
〔電子間ポテンシャルの演算について〕
図6に戻って、ステップS203において、Neig個の固有状態としての、波動関数ψj (n)、及び固有エネルギεj (n)を得ると、固有状態演算部8は、これらを残差ポテンシャル演算部9に与える。残差ポテンシャル演算部9は、与えられたこれら電子の固有状態に基づいて、電子密度ρを求める(ステップS204)。
次に、残差ポテンシャル演算部9は、上記電子密度ρから、電子間ポテンシャルの出力値としての出力ポテンシャルvout (m)を演算し、さらに、ステップS202において演算制御部10が設定した入力ポテンシャルvin (m)と、前記出力ポテンシャルvout (m)との差である残差ポテンシャルvres (m)を求める(ステップS205)。
残差ポテンシャル演算部9は、求めた残差ポテンシャルvres (m)を演算制御部10に与える。演算制御部10は、この残差ポテンシャルvres (m)の大きさが予め定められた閾値vthよりも小さいか否かの判定を行う(ステップS206)。
電子間ポテンシャルvは、上述したように、反復演算により得られる残差ポテンシャルvres (m)が「0」に収束したとみなせる程度に充分に減少したと判断しうる値となったときの出力ポテンシャルvout (m)として得られる。ここで、閾値vthは、残差ポテンシャルvres (m)が「0」に収束したとみなせる程度に充分に減少したと判断しうる値に設定される。
これにより、ステップS206において、残差ポテンシャルvres (m)が閾値vthよりも小さいと判定されると、「0」に収束したとみなせる程度に充分に減少したと判断することができ、閾値vth以上と判定されると、未だ充分に減少していないと判断することができる。
演算制御部10は、残差ポテンシャルvres (m)が閾値vthより小さいと判定すると(ステップS206)、図4中、ステップS105に戻り、残差ポテンシャルvres (m)が充分に減少したものとして、現状の出力ポテンシャルvout (m)を電子間ポテンシャルvとして、原子位置演算部5に与える。さらに演算制御部10は、図6中ステップS203により求めた電子の固有状態である、波動関数ψj (n)、固有エネルギεj (n)についても原子位置演算部5に与える。
以降、原子位置演算部5及び電子状態演算部6は、上述した、ステップS104〜S109による処理を反復する。
上記ステップS206において、残差ポテンシャルvres (m)が閾値vth以上と判定すると、演算制御部10(の判定検知部10a)は、判定フラグを参照する(ステップS207)。
ステップS207において、判定フラグが「1」でない場合(「0」である場合)、すなわち、固有値問題の残差rj (n)の減少が停滞していないと停滞判定部12により判定された場合、演算制御部10の判定検知部10aは、第一入力ポテンシャル演算部10bに残差ポテンシャルvres (m)、及び入力ポテンシャルvin (m)を与え、固有状態演算部8に与えるための新たな入力ポテンシャルvin (m+1)を演算させる。
演算制御部10の第一入力ポテンシャル演算部10bは、記憶部3に記憶された情報を参照し、与えられた残差ポテンシャルvres (m)、及び入力ポテンシャルvin (m)に加えて、過去に反復演算された複数の入力ポテンシャルvin (μ)、及びこれに対応して演算された複数の残差ポテンシャルvres (μ)(但し、μ<m)に基づいて、固有状態演算部8に与えるための新たな入力ポテンシャルvin (m+1)を演算する(ステップS209)。
ここで、第一入力ポテンシャル演算部10bは、上記新たな入力ポテンシャルvin (m+1)を演算するために、以下に示す処理を行う。
新たな入力ポテンシャルvin (m+1)を予測するには、一般的に下記式(15)が用いられる。なお、式(15)中、緩和係数Cは、カウント値m+1(反復回数m+1)における残差ポテンシャルvres (m+1)がカウント値mにおける残差ポテンシャルvres (m)よりも小さい値となることが期待される値を選んで設定される。
Figure 2010073182
これに対して、第一入力ポテンシャル演算部10bは、過去の演算結果を反映するために、下記式(16)に基づいて、新たな入力ポテンシャルvin (m+1)を予測する。
Figure 2010073182
上記式(16)中、Pmは、カウント値mから過去の演算にさかのぼる回数を示しており、新たな入力ポテンシャルvin (m+1)を求めるために用いる過去の演算結果の上限個数を示しており、予め設定される。
第一入力ポテンシャル演算部10bは、上記式(16)を演算するために、式(16)を式(15)と同じ形の式とみなして演算すべく、仮の残差ポテンシャルvresを下記式(17)、仮の入力ポテンシャルvinを下記式(18)と定義し、前記仮の残差ポテンシャルvresを最小化するパラメータxの値を求め、得られたパラメータxを式(17)、(18)に代入することで仮の残差ポテンシャルvres及び仮の入力ポテンシャルvinを求める。
Figure 2010073182
そして、第一入力ポテンシャル演算部10bは、仮の残差ポテンシャルvres及び仮の入力ポテンシャルvinをそれぞれ、上記式(15)中の残差ポテンシャルvres (m)及び入力ポテンシャルvin (m)として代入し、演算することで新たな入力ポテンシャルvin (m+1)を得る。
一方、ステップS207において、判定フラグが「1」である場合、すなわち、固有値問題の残差rj (n)の減少が停滞していると停滞判定部12により判定された場合、演算制御部10の判定検知部10aは、第二入力ポテンシャル演算部10cに新たな入力ポテンシャルvin (m+1)を演算させる(ステップS208)。
第二入力ポテンシャル演算部10cは、記憶部3に記憶された情報を参照し、過去に反復演算された複数の入力ポテンシャルvin (μ)(但し、μ<m)の内の第一入力ポテンシャル演算部10bが新たな入力ポテンシャルvin (m+1)を演算するために用いる数より少ない数の入力ポテンシャルvin、及びこれに対応して演算された残差ポテンシャルvresに基づいて新たな入力ポテンシャルvin (m+1)を演算する。
具体的には、第二入力ポテンシャル演算部10cは、下記式(19)に基づいて新たな入力ポテンシャルvin (m+1)を演算する。すなわち、第二入力ポテンシャル演算部10cは、過去に演算された複数の入力ポテンシャルvin (μ)から一の入力ポテンシャルvinとして、入力ポテンシャルvin (m-1)及びこれに対応して演算された残差ポテンシャルvres (m-1)に基づいて新たな入力ポテンシャルvin (m+1)を演算する。
なお、入力ポテンシャルvin (m-1)及び残差ポテンシャルvres (m-1)は、固有値問題の残差rj (n)の減少が停滞していると判定されたカウント値mの演算の直前であるカウント値m−1の演算において求められたものである。
Figure 2010073182
ステップS208又はS209にて新たな入力ポテンシャルvin (m+1)を演算すると、演算制御部10は、第二カウンタ14のカウント値mに「1」を加え(ステップS210)、ステップS203に戻る。
ステップS203に戻り、電子状態演算部6(の固有状態演算部8、残差ポテンシャル演算部9、及び演算制御部10)は、図4中ステップS104にて原子位置演算部5が演算した原子−電子間ポテンシャルvextと、ステップS208又はS209にて演算された新たな入力ポテンシャルvin (m)(ステップS210にてm=m+1とされるので「m」と表示している)とから、これらに対応した電子の固有状態(波動関数ψj、固有エネルギεj)を演算し、ステップS204〜S205を経ることで、新たな入力ポテンシャルvin (m)に対応した残差ポテンシャルvres (m)、出力ポテンシャルvres (m)を演算する。
そして、電子状態演算部6は、再度、残差ポテンシャルvres (m)の大きさが予め定められた閾値vthよりも小さいか否かの判定を行う(ステップS206)。電子状態演算部6は、これらステップS203〜S210を繰り返すことで、残差ポテンシャルvres (m)が閾値vthより小さくなり、充分に減少したと判定されるまで、上記演算を反復する。
なお、第二カウンタ14のカウント値mは、ステップS203〜S210にて行われる反復演算の演算回数を示している。
また、電子状態演算部6は、上記反復演算において新たな入力ポテンシャルvin (m)を求める際に、第一入力ポテンシャル演算部10bを用いるか第二入力ポテンシャル演算部10cを用いるかの選択を、上述のように参照した判定フラグの参照結果に応じて行う。
電子状態演算部6は、残差ポテンシャルvres (m)が閾値vthより小さいと判定すると(ステップS206)、上述の通り、図4中のステップS105に戻り、現状の出力ポテンシャルvout (m)を電子間ポテンシャルvとして原子位置演算部5に与えるとともに、現状得られている電子の固有状態である波動関数ψj (n)及び固有エネルギεj (n)についても原子位置演算部5に与える。
以降、原子位置演算部5及び電子状態演算部6は、上述した、ステップS104〜S109による処理を反復する。そして、上述の諸条件を満たせば、データ処理部4は、入出力部2を介して、前記対象物質の物性に関するデータ、あるいは、前記各ベクトル、電子間ポテンシャル、電子の固有状態に関するデータを出力する(ステップS110)。
上記のように構成された電子状態演算装置1によれば、停滞判定部12によって固有値問題の残差rj (n)に減少停滞が発生していないと判定された場合には、第一入力ポテンシャル演算部10bによって、現状の残差ポテンシャルvres (m)、及び入力ポテンシャルvin (m)に加えて、過去に反復演算された複数の入力ポテンシャルvin (μ)、及びこれに対応して演算された複数の残差ポテンシャルvres (μ)(但し、μ<m)に基づいて新たな入力ポテンシャルvin (m+1)が演算される。
その一方、停滞判定部12が固有値問題の残差rj (n)に減少停滞が発生していると判定すると、当該停滞判定部12が演算部11による反復演算を中止させる。さらに、この場合、第二入力ポテンシャル演算部10cによって、過去に反復演算された複数の入力ポテンシャルvin (μ)(但し、μ<m)の内の第一入力ポテンシャル演算部10bが新たな入力ポテンシャルvin (m+1)を演算するために用いる数より少ない数の入力ポテンシャルvin(一の入力ポテンシャルvin (m-1))、及びこれに対応して演算された残差ポテンシャルvres (m-1)に基づいて新たな入力ポテンシャルvin (m+1)を演算するので、その他の過去の演算結果及び現状の演算結果を参照しない。従って、固有値問題の残差rj (n)に減少停滞が発生すれば、必要以上に過去の演算結果を参照することなく新たな入力ポテンシャルvin (m+1)の演算が行われるので、再度行われる固有値問題(電子の固有状態)の演算において、固有値問題の残差に減少停滞が生じるのを抑制することができる。
つまり、固有値問題の残差rj (n)に減少停滞が生じた後に再度行われる固有値問題についての演算においては、固有値問題の残差rj (n)の減少停滞の発生が抑制される。このため、固有値問題の残差rj (n)に減少停滞が生じたとしても、固有値問題の残差rj (n)が減少しないまま固有値問題についての演算を繰り返してしまうのを防止でき、当該演算における反復回数を減らすことができる。この結果、速やかに電子状態の演算を行うことができる。
なお、本実施形態の電子状態演算装置1では、上述のように、固有値問題の残差rj (n)に減少停滞が生じた場合に、固有値問題に関する反復演算(ステップS304〜S310による反復演算)を中止して、再度演算を開始するので、他の反復演算(ステップS104〜S109による反復演算、ステップS203〜S210による反復演算)においては、その減少の進行を妨げるおそれがある。
この点、固有状態演算部8の演算部11が行う、各電子の固有状態に関する固有値問題についての演算は、上記式(5)に示すように、演算子としての機能を有する行列であるハミルトニアンHと、ベクトルである波動関数ψj (n)との積φjを繰り返し演算するため、一度の演算に要する時間が多大のものとなる。このため、固有値問題に関する演算の反復回数を減らすことができれば、他の反復演算における反復回数が多少増加したとしても、電子状態の演算全体としては、その演算時間が圧縮される。
また、上記実施形態において、第二入力ポテンシャル演算部10cは、過去に反復演算された複数の入力ポテンシャルvin (μ)(但し、μ<m)の内の一の入力ポテンシャルvin (m-1)、及びこれに対応して演算された一の残差ポテンシャルvres (m-1)に基づいて新たな入力ポテンシャルvin (m+1)を演算するので、必要以上に過去の演算結果を参照するのを確実に防止することができる。
また、第二入力ポテンシャル演算部10cは、固有値問題の残差rj (n)に減少停滞が発生していると判定された演算の直前に演算された入力ポテンシャルvin (m-1)及び残差ポテンシャルvres (m-1)に基づいて新たな入力ポテンシャルvin (m+1)を演算するので、固有値問題の残差rj (n)の減少停滞が発生しなかった間における最も新しい過去の演算結果のみを参照して、新たな入力ポテンシャルを演算するので、固有値問題の残差rj (n)の減少及び残差ポテンシャルvres (m-1)の減少が、他の複数の過去の演算結果を参照しないことによって過大に妨げられるのを防止できる。
〔第一の実施形態に係る装置に関する効果の確認について〕
本発明者は、本実施形態による電子状態演算装置1によって、実際に電子ポテンシャルの演算を行い、従来の方法で演算を行った場合と比較してその効果の検証を行った。
実施例品としては、上記実施形態による電子状態演算装置1を用いた。なお、上記実施例において、ステップS401において用いられる第一の閾値Astagは、0.1、ステップS403において用いられる第二の閾値を定めるための係数Bstagは、2に設定した。
比較例品としては、上記電子状態演算装置1において、入力ポテンシャルvin (m+1)を得る際の演算を第一入力ポテンシャル演算部10bのみで行うことで、固有値問題の残差の減少停滞の判定及び第二入力ポテンシャル演算部10cによる演算を行わない態様としたものを用いた。
電子状態の演算対象としては、InGaAsP系III−V族半導体混晶(III族原子の空孔を1つ含んでいる)を採用した。
混晶では各構成原子の原子半径の差から、各構成原子の位置は半導体結晶の理想位置から微妙にずれるので、図4中、ステップS104〜S109による反復演算の中でステップS108において行われる、各構成原子の位置関係を調整する処理により最適な位置に調整される。この処理については、反復回数を6回として、電子状態の演算を終えるように設定した。なお、電子状態を行ったいずれの演算結果についても、反復回数6回で、理想位置に対して最適と判断できる程度の位置関係に調整されたことを確認している。
評価方法としては、上記実施例品及び比較例品それぞれを用いて、電子状態の演算を上述の条件にて行い、電子状態の演算を開始してから終えるまでに、固有値問題についての演算に含まれる上記式(5)に示される演算(ハミルトニアンHと、ベクトルである波動関数ψj (n)との積φjを求める演算)の演算回数を比較することで評価した。その結果を表1に示す。
Figure 2010073182
表1に示すように実施例品では、比較例品と比較して、3割程度演算回数が減少していることが判る。
図9は、実施例品及び比較例品によって行った電子状態の演算における、ハミルトニアンHと波動関数ψj (n)との積を求める演算の演算回数と、固有値問題の残差rj (n)の値の内の最大値M(上記式(9)参照)との関係を示すグラフである。
図9(a)は実施例品、(b)は比較例品による演算に関するグラフであり、横軸はHψj (n)の演算回数、縦軸は最大値M(Ry)を示している。
図9(a)及び(b)を見ると、両者は共に、6つの群を成す多数の線図が表れている。これら6つの群は、上述のように、図4中のステップS108において行われる各構成原子の位置関係を調整する処理が行われるごとに群を成すように現れており、前記処理は6回反復されるので、その反復回数に対応して6つの群として現れている。
各群それぞれの中で、固有値問題の残差rj (n)を減少させる演算が行われるので、各群を構成している多数の線図は、各群それぞれの中で反復反復されることで最大値Mが小さくなり、固有値問題の残差rj (n)が減少されていることが示されている。
図9(b)を見ると、4つ目の群以降から、図中の円U1で囲まれる部分のように線図が平行に延びる部分が顕著に現れており、最大値Mが減少に至るまでにHψj (n)の演算回数が増加していることが判る。比較例品では、このような減少停滞が数多く生じており、この減少停滞によってHψj (n)の演算回数が全体として増加している。
一方、図9(a)では、図中の円U2で囲まれる部分のように減少停滞が生じている部分が現れているが、その後の演算においては減少停滞の発生が見られない。このことより、実施例品では、減少停滞後に再度行われる演算においては、残差の減少停滞の発生が抑制されていることが確認できる。
図10は、実施例品及び比較例品によって行った電子状態の演算における、ハミルトニアンHと波動関数ψj (n)との積を求める演算の演算回数と、残差ポテンシャルvres (m)の値との関係を示すグラフである。
図10(a)は実施例品、(b)は比較例品による演算に関するグラフであり、横軸はHψj (n)の演算回数、縦軸は残差ポテンシャルvres (m)の値(Ry)を示している。
図10(a)及び(b)においても、図9の説明にて述べた理由と同じ理由によって6つの線図が表れている。残差ポテンシャルvres (m)は、ステップS104〜S109による反復演算の中で序々に減少するように演算されるので、各線図は、それぞれHψj (n)の演算回数に応じて、漸次小さくなるように現れている。
図10を見ると、実施例品である(a)では、残差ポテンシャルvres (m)が一様に減少していることが判る。
一方、(b)では、4つ目の線図以降から、残差ポテンシャルvres (m)の減少の度合が小さくなり、Hψj (n)の演算回数が全体として増加していることが判る。
図11は、実施例品及び比較例品によって行った電子状態の演算における、ハミルトニアンHと波動関数ψj (n)との積を求める演算の演算回数と、電子間ポテンシャルvの演算回数との関係を示すグラフである。
図11(a)は実施例品、(b)は比較例品による演算に関するグラフであり、横軸は電子間ポテンシャルvの演算回数、縦軸は、電子間ポテンシャルvの演算回数ごとのHψj (n)の演算回数を示している。
図11(a)及び(b)においても、図9の説明にて述べた理由と同じ理由によって6つの線図が表れている。
図11を見ると、比較例品を示す(b)では、実施例品を示す(a)と比較して、4つ目の線図以降から、極端にHψj (n)の演算回数が増加していることが判る。
また、電子状態の演算を終えるまでに行われる電子間ポテンシャルvの演算回数は、実施例品の方が若干増えているが、演算に多大な時間を要するHψj (n)の演算回数は、実施例品の方が少ないので、電子状態の演算全体として比較すると、実施例品の方がその演算時間は圧縮される。
また、参照する過去の演算結果の上限個数Pmが、Hψj (n)の演算回数に及ぼす影響を把握するために、他の比較例品について電子状態の演算を行った。
前記他の比較例品としては、上記電子状態演算装置1において、入力ポテンシャルvin (m+1)を得る際の演算を第一入力ポテンシャル演算部10bのみで行うことで、固有値問題の残差の減少停滞の判定及び第二入力ポテンシャル演算部10cによる演算を行わない態様としたものとし、第一入力ポテンシャル演算部10bが行う演算は、上記式(16)〜(18)に基づいたものを用いて電子状態の演算を行うものとした。
なお、参照する過去の演算結果の上限個数Pmについては、「2」、「7」、及び「10」の3種類に設定し、その他の条件は上述の実施例品及び比較例品の場合と同様とした。
図12は、上記他の比較例品によって行った電子状態の演算における、ハミルトニアンHと波動関数ψj (n)との積を求める演算の演算回数と、固有値問題の残差rj (n)の値の内の最大値Mとの関係を示すグラフである。
図12(a)は、参照する過去の演算結果の上限個数Pmを「2」に設定したもの、(b)は、上限個数Pmを「7」に設定したもの、(c)は、上限個数Pmを「10」に設定したものであり、横軸はHψj (n)の演算回数、縦軸は最大値M(Ry)を示している。
図12を見ると、いずれの場合においても減少停滞が生じ、Hψj (n)の演算回数が増加している。また、Hψj (n)の演算回数が、上限個数Pmに依存する傾向は見られない。
つまり、この結果から、上限個数Pmを調整しただけでは、減少停滞を回避することができないと言える。
この点、本発明による実施例品では、図9(a)に示すように、減少停滞が発生したとしても、その後の演算においては、減少停滞の発生が抑制されている。
このように、本発明により得られる、固有値問題における残差の減少停滞の抑制効果は、単に参照する過去の演算結果の上限個数Pmを減らしただけでは得ることができないものであることが、上記の結果から明らかである。
以上の検証結果より、本発明による電子状態演算装置によれば、固有状態を求める演算において、固有値問題の残差に減少停滞が生じたとしても、その後の演算においては減少停滞の発生を抑制することができ、その結果、固有値問題の残差が減少しないまま演算を繰り返してしまうのを防止でき、当該演算における反復回数を減らすことができることが明らかとなった。
〔第二の実施形態に係る装置の構成及びその動作について〕
図13は、本発明の第二の実施形態に係る電子状態演算装置1の電子状態演算部6が電子間ポテンシャル及び電子の固有状態を求める際の動作態様を示したフローチャート、図14は、固有状態演算部の動作を示したフローチャート、図15は、演算制御部の機能を示すブロック図である。本実施形態と上記第一の実施形態との相違点は、固有状態演算部8が停滞判定部12の判定結果を示す判定フラグに応じて、固有値問題の残差減少の停滞状況を示す後述する停滞指数Mを設定する点、演算制御部10が、第三入力ポテンシャル演算部10dを有している点、及び、判定検知部10aが停滞指数Mに基づいて第一〜第三入力ポテンシャル演算部10b〜10dの内の一つを選択し、新たな入力ポテンシャルの演算を行わせる点である。その他の点については、第一の実施形態と同様なので説明を省略する。
図13で示すフローチャートは、上記第一の実施形態における図6に相当する処理を示しており、電子状態演算部6が電子間ポテンシャル及び電子の固有状態(波動関数ψj、固有エネルギεj)を求める際の動作態様を示している。
電子状態演算部6は、原子位置演算部5が演算した原子−電子間ポテンシャルvextが与えられると(図4中ステップS104)、第二カウンタ14のカウント値mを「1」に設定する(ステップS501)。そして、電子状態演算部6は、固有状態演算部8に入力するための入力ポテンシャルvin (m)の初期値(m=1)を演算制御部10に設定させる(ステップS502)。
このとき、演算制御部10は、原子位置演算部5が行う図4中のステップS104〜S109による反復演算で演算される、現状の基本格子ベクトルai (l)、位置ベクトルRh (l)、及び過去の基本格子ベクトルai (ν)、位置ベクトルRh (ν)に(但し、ν<l)に基づいて、入力ポテンシャルvin (m)の初期値を求め、設定する。
なお、現状の基本格子ベクトルai (l)、位置ベクトルRh (l)とは、原子位置演算部5による反復演算によって現状の反復回で演算されたものであり、過去の基本格子ベクトルai (ν)、位置ベクトルRh (ν)とは、前記現状の反復回よりも小さい数値の反復回(過去の反復回)によって演算されたものを指す。
電子状態演算部6の演算制御部10は、原子−電子間ポテンシャルvext及び入力ポテンシャルvin (m)を固有状態演算部8に与え、これらに対応した電子の固有状態(波動関数ψj、固有エネルギεj(1≦j≦Neig))を固有状態演算部8に演算させる(ステップS503)。
図14に示すフローチャートは、図13中のステップS503の処理を示している。
図14において、固有状態演算部8は、まず、第二カウンタ14のカウント値mが「1」であるか否かを判定する(ステップS601)。
第二カウンタ14のカウント値mが「1」である場合、固有状態演算部8は、停滞指数Mstag (m)を、及びMstag (m-1)を「0」に設定し、ステップS603に進む(ステップS602)。第二カウンタ14のカウント値mが「1」でない場合、固有状態演算部8は、そのまま、ステップS603に進む。
ステップS603〜S609では、それぞれ図7中のステップS301〜S307と対応しており、ステップS301〜S307と同様の処理が行われる。
ステップS609において、停滞判定部12が減少停滞に関する判定を終えた旨の通知を演算部11に対して与えると、固有状態演算部8は、判定フラグを参照し、判定フラグが「1」であるか否かを判断する(ステップS610)。
判定フラグが「0」である場合、すなわち、停滞判定部12が、固有値問題の残差rj (n)の減少が停滞していないと判定したときには、固有状態演算部8は、停滞指数Mstag (m)を「0」に設定する(ステップS611)。ついで、固有状態演算部8は、演算部11に新たな波動関数ψj (n+1)を演算させ(ステップS612)、第三カウンタ15のカウント値nに「1」を加え(ステップS613)、ステップS606に戻る。そして、再度、固有エネルギεj (n)及び波動関数ψj (n)を求めるとともに、固有値問題の残差rj (n)を求める演算を反復する。
一方、判定フラグが「1」である場合、すなわち、停滞判定部12が、固有値問題の残差rj (n)の減少が停滞していると判定したときには、固有状態演算部8は、第二カウンタ14のカウント値mが一つ前である過去の演算における停滞指数Mstag (m-1)に「1」を加えた値を停滞指数Mstag (m)として設定する(ステップS614)。
ここで、上記停滞指数Mstag (m)は、判定フラグが「0」である場合、「0」に設定され、判定フラグが「1」である場合、第二カウンタ14のカウント値mが一つ前の停滞指数Mstag (m-1)に「1」を加えた値を停滞指数Mstag (m)として設定される。このため、後述する図13中のステップS503〜S512による反復演算が行われたとき、現状の演算において固有値問題の残差rj (n)の減少が停滞していない場合、停滞指数Mstag (m)は、常に「0」に設定される。
また、第二カウンタ14のカウント値mが一つ前の演算である過去の演算において、固有値問題の残差rj (n)の減少が停滞しておらず、現状の演算において固有値問題の残差rj (n)の減少が停滞している場合、一つ前の演算における停滞指数Mstag (m-1)は「0」なので、停滞指数Mstag (m)は、「1」に設定される。
また、一つ前の演算(過去の演算)において、固有値問題の残差rj (n)の減少が停滞し、かつ、現状の演算において固有値問題の残差rj (n)の減少が停滞している場合、一つ前の演算における停滞指数Mstag (m-1)は「1」以上となるので、停滞指数Mstag (m)は、「1」より大きい値に設定される。
このように、停滞指数Mstag (m)は、現状の演算において固有値問題の残差rj (n)の減少が停滞しているか否かを示すとともに、現状の演算において固有値問題の残差rj (n)の減少が停滞している場合には、固有値問題の残差rj (n)の減少の停滞が現状の演算と過去の演算との間で連続して発生しているか否かを示すことができる。
次いで、固有状態演算部8は、図13中のステップS503に戻り、現状、解として得られた波動関数ψj (n)、及び固有エネルギεj (n)を残差ポテンシャル演算部9に与える。
ステップS504〜S506では、それぞれ図6中のステップS204〜S206と対応しており、ステップS204〜S206と同様の処理が行われる。
ステップS506において、残差ポテンシャル演算部9から残差ポテンシャルvres (m)が与えられた演算制御部10は、この残差ポテンシャルvres (m)の大きさが予め定められた閾値vthよりも小さいか否かの判定を行う(ステップS506)。
演算制御部10は、残差ポテンシャルvres (m)が閾値vthより小さいと判定すると(ステップS506)、図4中、ステップS105に戻り、残差ポテンシャルvres (m)が充分に減少したものとして、現状の出力ポテンシャルvout (m)を電子間ポテンシャルvとして、原子位置演算部5に与える。さらに演算制御部10は、図13中ステップS503により求めた電子の固有状態である、波動関数ψj (n)、固有エネルギεj (n)についても原子位置演算部5に与える。
以降、原子位置演算部5及び電子状態演算部6は、上述した、ステップS104〜S109による処理を反復する。
上記ステップS506において、残差ポテンシャルvres (m)が閾値vth以上と判定すると、演算制御部10(の判定検知部10a)は、停滞指数Mstag (m)を参照する(ステップS507)。
本実施形態の演算制御部10は、図15に示すように、第一及び第二入力ポテンシャル演算部10b、10cに加え、第三入力ポテンシャル演算部10dを有している。
また、本実施形態の判定検知部10aは、残差ポテンシャルが「0」に収束したとみなせる程度に充分に減少したと判断しうる値にまで減少しているか否かを判定する機能(ステップS506)に加えて、残差ポテンシャルが充分に減少していないと判定すると、停滞指数Mstag (m)を参照し、停滞指数Mstag (m)に応じて、いずれかの入力ポテンシャル演算部10b〜10dを選択し、固有状態演算部8に与えるための新たな入力ポテンシャルを演算させる。
ステップS507において、停滞指数Mstag (m)を参照しその値が「1」であると判定された場合、すなわち、一つ前の演算(過去の演算)において、固有値問題の残差rj (n)の減少が停滞しておらず、現状の演算において固有値問題の残差rj (n)の減少が停滞している場合、演算制御部10の判定検知部10aは、第二入力ポテンシャル演算部10cに新たな入力ポテンシャルvin (m+1)を演算させる(ステップS508)。このステップS508における新たな入力ポテンシャルvin (m+1)の演算については、上記第一の実施形態における図6中ステップS208と同様である。
ステップS508にて新たな入力ポテンシャルvin (m+1)を演算すると、演算制御部10は、第二カウンタ14のカウント値mに「1」を加え(ステップS509)、ステップS503に戻る。
一方、ステップS507において、停滞指数Mstag (m)が「1」でないと判定された場合、判定検知部10aは、ステップS510に進み、停滞指数Mstag (m)が「1」より大きいか否かを判定する(ステップS510)。
ステップS510において、停滞指数Mstag (m)が「1」より大きいと判定された場合、すなわち、一つ前の演算(過去の演算)において、固有値問題の残差rj (n)の減少が停滞し、かつ、現状の演算において固有値問題の残差rj (n)の減少が停滞している場合、判定検知部10aは、第三入力ポテンシャル演算部10dに新たな入力ポテンシャルvin (m+1)を演算させる(ステップS511)。
第三入力ポテンシャル演算部10dは、原子位置演算部5が行う図4中のステップS104〜S109による反復演算において演算される、現状の基本格子ベクトルai (l)、位置ベクトルRh (l)を取得し、これらに基づいて、固有状態演算部8に与えるための新たな入力ポテンシャルvin (m+1)を演算する(ステップS511)。
ステップS511にて新たな入力ポテンシャルvin (m+1)を演算すると、演算制御部10は、第二カウンタ14のカウント値mに「1」を加え(ステップS509)、ステップS503に戻る。
ステップS510において、停滞指数Mstag (m)が「1」より大きくないと判定された場合、すなわち、現状の演算において固有値問題の残差rj (n)の減少が停滞していない場合、判定検知部10aは、第一入力ポテンシャル演算部10bに残差ポテンシャルvres (m)、及び入力ポテンシャルvin (m)を与え、固有状態演算部8に与えるための新たな入力ポテンシャルvin (m+1)を演算させる(ステップS512)。このステップS512における新たな入力ポテンシャルvin (m+1)の演算については、上記第一の実施形態における図6中ステップS209と同様である。
以上のように、判定検知部10aは、ステップS507、及びS510において、固有値問題の残差減少の停滞状況を示す停滞指数Mstag (m)を参照することで、現状の演算において固有値問題の残差rj (n)の減少が停滞しているか否かを判断するとともに、現状の演算において残差rj (n)の減少が停滞していると判断する場合にはさらに残差rj (n)の減少の停滞が現状の演算と過去の演算との間で連続して発生しているか否かを判断することができる判断部を構成している。そして、判定検知部10aは、上記判断に応じて、各入力ポテンシャル演算部10b〜10dを選択しつつ、新たな入力ポテンシャルvin (m+1)を演算させることができる。
ステップS512にて新たな入力ポテンシャルvin (m+1)を演算すると、演算制御部10は、第二カウンタ14のカウント値mに「1」を加え(ステップS509)、ステップS503に戻る。
以上により、電子状態演算部6は、ステップS506において残差ポテンシャルvres (m)が閾値vthより小さくなり、充分に減少したと判定されるまで、上述のステップS503〜S512による処理を繰り返し、演算を反復する。
以降の処理は、上記第一の実施形態と同様であり、原子位置演算部5及び電子状態演算部6は、図4に示すステップS104〜S109による処理を反復する。そして、諸条件を満たせば、電子状態演算装置1は、前記各ベクトル、電子間ポテンシャル、電子の固有状態に関するデータを出力する。
上記のように構成された電子状態演算装置によれば、判断部としての判定検知部10aが現状の演算において固有値問題の残差rj (n)に減少停滞が発生していると判断しかつ残差rj (n)の減少の停滞が現状の演算と過去の演算との間で連続して発生していないと判断すると、必要以上に過去に演算された入力ポテンシャルを参照することなく演算を行う第二入力ポテンシャル演算部10cによって新たな入力ポテンシャルvin (m+1)が演算されるので、再度行われる電子の固有状態の演算においては、固有値問題の残差に減少停滞が生じるのを抑制することができる。
ここで、電子の固有状態及び前記電子間ポテンシャルを求めるための対象物質の性質やその他の条件によっては、上記第二入力ポテンシャル演算部10cによる演算では、固有値問題の残差rj (n)に減少停滞が生じるのを抑制できない場合がある。このような場合、過去において行われた反復演算の結果をさらに排除した演算を行うことで、固有値問題の残差rj (n)に減少停滞が生じるのを抑制することができる。
すなわち、本実施形態では、判定検知部10aが現状の演算において固有値問題の残差rj (n)に減少停滞が発生していると判断しかつ残差rj (n)の減少の停滞が現状の演算と一つ前の演算(過去の演算)との間で連続して発生していると判断すると、第三入力ポテンシャル演算部10dによって、原子位置演算部5による反復演算において演算される現状の基本格子ベクトルai (l)、及び位置ベクトルRh (l)に基づいて新たな入力ポテンシャルvin (m+1)が演算されるので、原子位置演算部5による反復演算における過去の演算結果である、過去の基本格子ベクトルai (ν)、位置ベクトルRh (ν)(但し、ν<l)が新たな入力ポテンシャルに反映されない。
つまり、第二入力ポテンシャル演算部10cによる演算がなされても固有値問題の残差減少の停滞が抑制されず、固有値問題の残差の減少停滞が現状の演算と一つ前の演算(過去の演算)との間で連続して発生すると、第三入力ポテンシャル演算部10dによって、原子位置演算部5による過去の演算結果をも参照することなく新たな入力ポテンシャルvin (m+1)の演算が行われる。これによって、演算制御部8の反復演算による過去の演算結果のみならず、原子位置演算部5の反復演算による過去の演算結果も参照することなく新たな入力ポテンシャルvin (m+1)が演算されるので、新たな入力ポテンシャルvin (m+1)に及ぶ過去の反復演算の結果による影響を、第二入力ポテンシャル演算部10cによるもの以上に排除できる。この結果、再度行われる固有状態の演算において、固有値問題の残差に減少停滞が生じるのを抑制することができる。
以上により、本実施形態によれば、対象物質の性質やその他の条件によって、必要以上に過去に演算された入力ポテンシャルを参照することなく演算を行う上記第二入力ポテンシャル演算部10cによる演算では、固有値問題の残差rj (n)に減少停滞が生じるのを抑制できない場合においても、固有値問題の残差が減少しないまま電子の固有状態の演算を繰り返してしまうのを防止でき、速やかに電子状態の演算を行うことができる。
〔第二の実施形態に係る装置に関する効果の確認について〕
本発明者は、本実施形態(第二の実施形態)による電子状態演算装置1によって、実際に電子ポテンシャルの演算を行い、従来及び第一の実施形態による方法で演算を行った場合と比較してその効果の検証を行った。
従来の方法、及び第一の実施形態による方法で演算を行う場合については、上記第一の実施形態における効果の確認における比較例品及び実施例品と同様の条件とした。
第二の実施形態による方法によるもの(以下、ここでは第二実施形態品という)についても、従来の方法によるもの(以下、ここでは比較例品という)、及び第一の実施形態による方法によるもの(以下、ここでは第一実施形態品という)と同様の条件とした。
電子状態の演算対象となる対象物質としては、ZnをドーピングしたInPであって、Znの原子配置が、当該Znが拡散しつつある中間的な位置にある状態のものを採用した。
評価方法としては、上記比較例品、第一実施形態品、及び第二実施形態品それぞれを用いて、電子状態の演算を上述の条件にて行い、図4中、繰り返し実行されるステップS104〜S109による処理(各構成原子の位置関係を調整する処理)において、その繰り返し実行される前記処理の内の一の前記処理(第一カウンタ13のカウント値l一つ分における前記処理)にのみ着目し、前記一の前記処理において行われる、電子間ポテンシャル及び固有状態についての演算(図6、又は図13に示すフローチャートで示される演算)に含まれる上記式(5)に示される演算(ハミルトニアンHと、ベクトルである波動関数ψj (n)との積φjを求める演算)の演算回数と、残差ポテンシャルvres (m)の値(Ry)との関係を比較することで評価した。その結果を図16に示す。
図16は、比較例品、第一実施形態品、及び第二実施形態品それぞれを用いて行った電子状態の演算における、ハミルトニアンHと波動関数ψj (n)との積を求める演算の演算回数と、残差ポテンシャルvres (m)の値との関係を示すグラフである。
図16中、実線は第二実施形態品、破線は第一実施形態品、一点鎖線は比較例品による演算に関するグラフを示しており、横軸はHψj (n)の演算回数、縦軸は残差ポテンシャルvres (m)の値(Ry)を示している。また、上記各実施形態品において、残差ポテンシャルvres (m)の値は、10-7に達すれば、演算される電子間ポテンシャルの精度が十分に得られるため、残差ポテンシャルvres (m)の値は、10-7に達すれば収束したものとみなすことができる。
図16において、円Eで囲まれた部分において、各品は、固有状態の演算において固有値問題の残差の減少に停滞が発生している。
比較例品では、その後、Hψj (n)の演算回数の増加に対して、残差ポテンシャルvres (m)の値は序々に減少しているが、当該残差ポテンシャルvres (m)の値が収束する気配は見られない。その理由は、最初に固有値問題の残差の減少の停滞が生じた後、固有値問題の残差が減少しないまま固有状態の演算を反復してしまい、これによって、残差ポテンシャルvres (m)の収束を鈍化させているものと考えられる。
また、第一実施形態品も上記比較例品と同様、Hψj (n)の演算回数の増加に対して、残差ポテンシャルvres (m)の値が収束する気配は見られない。この場合も、最初に固有値問題の残差の減少の停滞が生じた後、その後の演算における残差の減少の停滞を抑制することができず、固有値問題の残差が減少しないまま固有状態の演算を反復してしまい、これによって、残差ポテンシャルvres (m)の収束を鈍化させているものと考えられる。
一方、第二実施形態品では、固有値問題の残差の停滞が発生の後、残差ポテンシャルvres (m)の値が急激に増加するが、その後、Hψj (n)の演算回数の増加に対して、残差ポテンシャルvres (m)の値は減少し、収束したものとみなすことができる程度よりもその値が小さくなっている。このように、第二実施形態品では、一時的に残差ポテンシャルvres (m)の値が増加するが、最終的には収束に至る。
この場合、最初に固有値問題の残差の減少の停滞が生じた後、その後の演算においては固有値問題の残差の減少の停滞の発生が効果的に抑制され、残差ポテンシャルvres (m)を収束させているものと考えられる。
以上のように、本検証における条件下では、固有値問題の残差の停滞に対して何ら対策が施されていない比較例品のみならず、固有値問題の残差の停滞に対して過去に演算された入力ポテンシャルを参照することなく新たな入力ポテンシャルを演算するように構成された第一実施形態品においても、一度固有値問題の残差に減少停滞が生じると、その後の演算において固有値問題の残差の減少停滞が発生するのを抑制することができない。
これに対して、第二実施形態品によれば、このような条件下においても、効果的に固有値問題の残差の減少停滞が発生するのを抑制することができ、固有状態に関する演算についての反復回数を減らせることが明らかとなった。
なお、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
本発明の一実施形態に係る電子状態演算装置の機能的構成を示すブロック図である。 固有状態演算部の機能を示すブロック図である。 演算制御部の機能を示すブロック図である。 本実施形態の電子状態演算装置の総括的な動作を示したフローチャートである。 ステップS101において、対象物質の構成原子の位置に関する情報の入力を受け付けるためのディスプレイ表示の一例である。 電子状態演算部が電子間ポテンシャル及び電子の固有状態を求める際の動作態様を示したフローチャートである。 図6中ステップS203の演算処理における固有状態演算部の動作を示したフローチャートである。 固有状態演算部の停滞判定部による減少停滞に関する判定処理の態様を示すフローチャートである。 実施例品及び比較例品によって行った電子状態の演算における、ハミルトニアンHと波動関数ψj (n)との積を求める演算の演算回数と、固有値問題の残差rj (n)の値の内の最大値Mとの関係を示すグラフであり、(a)は実施例品の結果、(b)は比較例品の結果を示している。 実施例品及び比較例品によって行った電子状態の演算における、ハミルトニアンHと波動関数ψj (n)との積を求める演算の演算回数と、残差ポテンシャルvres (m)の値との関係を示すグラフであり、(a)は実施例品の結果、(b)は比較例品の結果を示している。 実施例品及び比較例品によって行った電子状態の演算における、ハミルトニアンHと波動関数ψj (n)との積を求める演算の演算回数と、電子間ポテンシャルvの演算回数との関係を示すグラフであり、(a)は実施例品の結果、(b)は比較例品の結果を示している。 上記他の比較例品によって行った電子状態の演算における、ハミルトニアンHと波動関数ψj (n)との積を求める演算の演算回数と、固有値問題の残差rj (n)の値の内の最大値Mとの関係を示すグラフであり、(a)は、上限個数Pmを「2」に設定したもの、(b)は、上限個数Pmを「7」に設定したもの、(c)は、上限個数Pmを「10」に設定したものである。 本発明の第二の実施形態に係る電子状態演算装置の電子状態演算部が電子間ポテンシャル及び電子の固有状態を求める際の動作態様を示したフローチャートである。 本発明の第二の実施形態に係る電子状態演算装置の固有状態演算部の動作を示したフローチャートである。 本発明の第二の実施形態に係る電子状態演算装置の演算制御部の機能を示すブロック図である。 比較例品、第一実施形態品、及び第二実施形態品それぞれを用いて行った電子状態の演算における、ハミルトニアンHと波動関数ψj (n)との積を求める演算の演算回数と、残差ポテンシャルvres (m)の値との関係を示すグラフである。
符号の説明
1 電子状態演算装置
5 原子位置演算部
6 電子状態演算部
8 固有状態演算部
9 残差ポテンシャル演算部
10 演算制御部
10a 判定検知部
10b 第一入力ポテンシャル演算部
10c 第二入力ポテンシャル演算部
10d 第三入力ポテンシャル演算部
11 演算部
12 停滞判定部
12a 積算部
12b 判定部

Claims (9)

  1. 第一原理計算に基づいて、入力ポテンシャルから残差ポテンシャルを求めるための演算を反復し、前記残差ポテンシャルを減少させることにより電子の固有状態及び電子間ポテンシャルを求める電子状態演算装置であって、
    前記入力ポテンシャルに対応する、電子の固有状態を演算する固有状態演算部と、
    前記電子の固有状態から残差ポテンシャルを演算する残差ポテンシャル演算部と、
    前記残差ポテンシャルを減少させうる新たな入力ポテンシャルを演算し、前記新たな入力ポテンシャルを前記固有状態演算部に与えることで前記残差ポテンシャル演算部に前記残差ポテンシャルを反復演算させ、当該残差ポテンシャルを減少させる演算制御部と、を備え、
    前記固有状態演算部は、
    前記電子の固有状態に関する固有値問題の残差を反復演算し当該残差を減少させることで前記固有値問題を解き、前記電子の固有状態を得る演算部と、
    前記演算部による前記固有値問題の残差の反復演算において、前記固有値問題の残差の減少が停滞しているか否かを判定し、前記残差の減少が停滞していると判定すると前記演算部の反復演算を中止させる停滞判定部と、を備え、
    前記演算制御部は、
    前記停滞判定部により前記固有値問題の残差の減少が停滞していないと判定された場合に、現状及び過去に演算された複数の入力ポテンシャル、及びこれらに対応して演算された複数の残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第一の入力ポテンシャル演算部と、
    前記停滞判定部により前記固有値問題の残差の減少が停滞していると判定された場合に、過去に演算された複数の入力ポテンシャルの内の前記第一の入力ポテンシャル演算部が前記新たな入力ポテンシャルを演算するために用いる数より少ない数の入力ポテンシャル、及びこれに対応して演算された残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第二の入力ポテンシャル演算部と、を備えていることを特徴とする電子状態演算装置。
  2. 前記第二の入力ポテンシャル演算部は、過去に演算された複数の入力ポテンシャルの内の一の入力ポテンシャル、及びこれに対応して演算された一の残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する請求項1に記載の電子状態演算装置。
  3. 前記第二の入力ポテンシャル演算部は、前記固有値問題の残差の減少が停滞していると判定される直前に演算された入力ポテンシャル、及びこれに対応して演算された残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する請求項2に記載の電子状態演算装置。
  4. 前記演算部は、所定数の電子それぞれについての固有状態を得るものであり、
    前記停滞判定部は、
    現状の前記固有値問題の残差と、過去に演算された固有値問題の残差との差である残差変化が予め定められた第一の閾値よりも小さいか否かを、前記所定数の電子についての固有状態それぞれについて判定し、前記残差変化が前記第一の閾値よりも小さいと判定された演算結果が得られた前記固有状態の個数を、前記演算部の反復演算の間、積算する積算部と、
    前記積算部が積算した積算値が、予め定められた第二の閾値よりも大きいか否かを判定し、前記第二の閾値よりも大きいと判定すると、前記残差の減少が停滞しているものと判定する判定部と、を備えている請求項1〜3の内いずれか一項に記載の電子状態演算装置。
  5. 第一原理計算に基づいて、入力ポテンシャルから残差ポテンシャルを求めるための演算を反復し、前記残差ポテンシャルを減少させることにより電子の固有状態及び電子間ポテンシャルを求める電子状態演算方法であって、
    前記入力ポテンシャルに対応する、電子の固有状態を演算する固有状態演算ステップと、
    前記電子の固有状態から残差ポテンシャルを演算する残差ポテンシャル演算ステップと、
    前記残差ポテンシャルを減少させうる新たな入力ポテンシャルを演算し、前記新たな入力ポテンシャルに基づいて前記固有状態演算ステップ及び前記残差ポテンシャル演算ステップを反復演算して、前記残差ポテンシャルを減少させる減少ステップと、を備え、
    前記固有状態演算ステップは、
    前記電子の固有状態に関する固有値問題の残差を反復演算し当該残差を減少させることで前記固有値問題を解き、前記電子の固有状態を得る演算ステップと、
    前記演算ステップによる前記固有値問題の残差の反復演算において、前記固有値問題の残差の減少が停滞しているか否かを判定し、前記残差の減少が停滞していると判定すると前記演算ステップにおける反復演算を中止させる停滞判定ステップと、を備え、
    前記減少ステップは、
    前記停滞判定ステップにおいて前記固有値問題の残差の減少が停滞していないと判定された場合に、現状及び過去に演算された複数の入力ポテンシャル、及びこれらに対応して演算された複数の前記残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第一の入力ポテンシャル演算ステップと、
    前記停滞判定ステップにおいて前記固有値問題の残差の減少が停滞していると判定された場合に、過去に演算された複数の入力ポテンシャルの内の前記第一の入力ポテンシャル演算ステップにて前記新たな入力ポテンシャルを演算するために用いる数より少ない数の入力ポテンシャル、及びこれに対応して演算された残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第二の入力ポテンシャル演算ステップと、を備えていることを特徴とする電子状態演算方法。
  6. 第一原理計算に基づいて、入力ポテンシャルから残差ポテンシャルを求めるための演算を反復し、前記残差ポテンシャルを減少させることにより電子の固有状態及び電子間ポテンシャルを求める電子状態演算をコンピュータに実行させるための電子状態演算プログラムであって、
    前記入力ポテンシャルに対応する、電子の固有状態を演算する固有状態演算ステップと、
    前記電子の固有状態から残差ポテンシャルを演算する残差ポテンシャル演算ステップと、
    前記残差ポテンシャルを減少させうる新たな入力ポテンシャルを演算し、前記新たな入力ポテンシャルに基づいて前記固有状態演算ステップ及び前記残差ポテンシャル演算ステップを反復演算して、前記残差ポテンシャルを減少させる減少ステップと、を備え、
    前記固有状態演算ステップは、
    前記電子の固有状態に関する固有値問題の残差を反復演算し当該残差を減少させることで前記固有値問題を解き、前記電子の固有状態を得る演算ステップと、
    前記演算ステップによる前記固有値問題の残差の反復演算において、前記固有値問題の残差の減少が停滞しているか否かを判定し、前記残差の減少が停滞していると判定すると前記演算ステップにおける反復演算を中止させる停滞判定ステップと、を備え、
    前記減少ステップは、
    前記停滞判定ステップにおいて前記固有値問題の残差の減少が停滞していないと判定された場合に、現状及び過去に演算された複数の入力ポテンシャル、及びこれらに対応して演算された複数の前記残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第一の入力ポテンシャル演算ステップと、
    前記停滞判定ステップにおいて前記固有値問題の残差の減少が停滞していると判定された場合に、過去に演算された複数の入力ポテンシャルの内の前記第一の入力ポテンシャル演算ステップにて前記新たな入力ポテンシャルを演算するために用いる数より少ない数の入力ポテンシャル、及びこれに対応して演算された残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第二の入力ポテンシャル演算ステップと、を備えていることを特徴とする電子状態演算プログラム。
  7. 第一原理計算に基づいて、入力ポテンシャルから残差ポテンシャルを求めるための演算を反復し、前記残差ポテンシャルを減少させることにより電子の固有状態及び電子間ポテンシャルを求める電子状態演算装置であって、
    前記電子の固有状態及び前記電子間ポテンシャルを求めるための対象物質の基本格子ベクトル、及び前記対象物質を構成する複数の構成原子それぞれの位置ベクトルに基づいて、前記入力ポテンシャルの初期値を求め、前記初期値に基づいて、電子の固有状態及び電子間ポテンシャルを演算する電子状態演算部と、
    前記電子状態演算部が演算する前記電子の固有状態及び前記電子間ポテンシャルに基づいて、前記対象物質の新たな基本格子ベクトル、及び前記対象物質を構成する複数の構成原子それぞれの新たな位置ベクトルを演算し、この新たな基本格子ベクトル及び新たな位置ベクトルを前記電子状態演算部に与えることで、当該電子状態演算部に、前記電子間ポテンシャル、及び前記電子の固有状態を反復演算させ、かつ自身は前記基本格子ベクトル、及び前記位置ベクトルを反復演算する原子位置演算部と、を備え、
    前記電子状態演算部は、前記原子位置演算部による反復演算において演算される現状及び過去の基本格子ベクトル、及び位置ベクトルに基づいて、前記入力ポテンシャルの初期値を求めるものであり、
    さらに、前記電子状態演算部は、
    前記入力ポテンシャルに対応する、電子の固有状態を演算する固有状態演算部と、
    前記電子の固有状態から残差ポテンシャルを演算する残差ポテンシャル演算部と、
    前記初期値を前記固有状態演算部に与えることで前記残差ポテンシャルを減少させうる新たな入力ポテンシャルを演算させ、さらに、前記新たな入力ポテンシャルを前記固有状態演算部に与えることで前記残差ポテンシャル演算部に前記残差ポテンシャルを反復演算させ、当該残差ポテンシャルを減少させることで前記電子間ポテンシャルを得る演算制御部と、を備え、
    前記固有状態演算部は、
    前記電子の固有状態に関する固有値問題の残差を反復演算し当該残差を減少させることで前記固有値問題を解き、前記電子の固有状態を得る演算部と、
    前記演算部による前記固有値問題の残差の反復演算において、前記固有値問題の残差の減少が停滞しているか否かを判定し、前記残差の減少が停滞していると判定すると前記演算部の反復演算を中止させる停滞判定部と、を備え、
    前記演算制御部は、
    前記演算制御部による反復演算の現状及び過去の演算において行われる前記停滞判定部による判定結果を参照し、現状の演算において前記固有値問題の残差の減少が停滞しているか否かを判断するとともに、現状の演算において前記残差の減少が停滞していると判断する場合にはさらに前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生しているか否かを判断する判断部と、
    前記判断部により、現状の演算において前記固有値問題の残差の減少が停滞していないと判断された場合に、現状及び過去に演算された複数の入力ポテンシャル、及びこれらに対応して演算された複数の残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第一の入力ポテンシャル演算部と、
    前記判断部により、現状の演算において前記固有値問題の残差の減少が停滞していると判断されかつ前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生していないと判断された場合に、過去に演算された複数の入力ポテンシャルの内の前記第一の入力ポテンシャル演算部が前記新たな入力ポテンシャルを演算するために用いる数より少ない数の入力ポテンシャル、及びこれに対応して演算された残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第二の入力ポテンシャル演算部と、
    前記判断部により、現状の演算において前記固有値問題の残差の減少が停滞していると判断されかつ前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生していると判断された場合に、前記原子位置演算部による反復演算において演算される現状の基本格子ベクトル、及び位置ベクトルに基づいて前記新たな入力ポテンシャルを演算する第三の入力ポテンシャル演算部と、を備えていることを特徴とする電子状態演算装置。
  8. 第一原理計算に基づいて、入力ポテンシャルから残差ポテンシャルを求めるための演算を反復し、前記残差ポテンシャルを減少させることにより電子の固有状態及び電子間ポテンシャルを求める電子状態演算方法であって、
    前記電子の固有状態及び前記電子間ポテンシャルを求めるための対象物質の基本格子ベクトル、及び前記対象物質を構成する複数の構成原子それぞれの位置ベクトルに基づいて、前記入力ポテンシャルの初期値を求める初期値演算ステップと、
    前記初期値演算ステップにより演算される前記初期値に基づいて、電子の固有状態及び電子間ポテンシャルを演算する電子状態演算ステップと、
    前記電子状態演算ステップにより演算される前記電子の固有状態及び前記電子間ポテンシャルに基づいて、前記対象物質の新たな基本格子ベクトル、及び前記対象物質を構成する複数の構成原子それぞれの新たな位置ベクトルを演算し、この新たな基本格子ベクトル及び新たな位置ベクトルを前記初期値演算部に与えることで、当該初期値演算部及び前記電子状態演算部に、前記基本格子ベクトル、前記位置ベクトル、前記電子間ポテンシャル、及び前記電子の固有状態を反復演算させる原子位置演算ステップと、を備え、
    前記初期値演算ステップは、前記原子位置演算ステップによる反復演算において演算される現状及び過去の基本格子ベクトル、及び位置ベクトルに基づいて、前記入力ポテンシャルの初期値を求めるものであり、
    前記電子状態演算ステップは、
    前記入力ポテンシャルに対応する、電子の固有状態を演算する固有状態演算ステップと、
    前記電子の固有状態から残差ポテンシャルを演算する残差ポテンシャル演算ステップと、
    前記初期値演算部による前記初期値を前記固有状態演算部に与えることで前記残差ポテンシャルを減少させうる新たな入力ポテンシャルを演算させ、さらに、前記新たな入力ポテンシャルを前記固有状態演算部に与えることで前記残差ポテンシャル演算部に前記残差ポテンシャルを反復演算させ、当該残差ポテンシャルを減少させることで前記電子間ポテンシャルを得る演算制御ステップと、を備え、
    前記固有状態演算ステップは、
    前記電子の固有状態に関する固有値問題の残差を反復演算し当該残差を減少させることで前記固有値問題を解き、前記電子の固有状態を得る演算ステップと、
    前記演算ステップによる前記固有値問題の残差の反復演算において、前記固有値問題の残差の減少が停滞しているか否かを判定し、前記残差の減少が停滞していると判定すると前記演算部の反復演算を中止させる停滞判定ステップと、を備え、
    前記演算制御ステップは、
    前記演算制御ステップによる反復演算の現状及び過去の演算において行われる前記停滞判定ステップによる判定結果を参照し、現状の演算において前記固有値問題の残差の減少が停滞しているか否かを判断するとともに、現状の演算において前記残差の減少が停滞していると判断する場合にはさらに前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生しているか否かを判断する判断ステップと、
    前記判断ステップにより、現状の演算において前記固有値問題の残差の減少が停滞していないと判断された場合に、現状及び過去に演算された複数の入力ポテンシャル、及びこれらに対応して演算された複数の残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第一の入力ポテンシャル演算ステップと、
    前記判断ステップにより、現状の演算において前記固有値問題の残差の減少が停滞していると判断されかつ前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生していないと判断された場合に、過去に演算された複数の入力ポテンシャルの内の前記第一の入力ポテンシャル演算ステップにて前記新たな入力ポテンシャルを演算するために用いる数より少ない数の入力ポテンシャル、及びこれに対応して演算された残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第二の入力ポテンシャル演算ステップと、
    前記判断ステップにより、現状の演算において前記固有値問題の残差の減少が停滞していると判断されかつ前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生していると判断された場合に、前記原子位置演算ステップによる反復演算において演算される現状の基本格子ベクトル、及び位置ベクトルに基づいて前記新たな入力ポテンシャルを演算する第三の入力ポテンシャル演算ステップと、を備えていることを特徴とする電子状態演算方法。
  9. 第一原理計算に基づいて、入力ポテンシャルから残差ポテンシャルを求めるための演算を反復し、前記残差ポテンシャルを減少させることにより電子の固有状態及び電子間ポテンシャルを求める電子状態演算をコンピュータに実行させるための電子状態演算プログラムであって、
    前記電子の固有状態及び前記電子間ポテンシャルを求めるための対象物質の基本格子ベクトル、及び前記対象物質を構成する複数の構成原子それぞれの位置ベクトルに基づいて、前記入力ポテンシャルの初期値を求める初期値演算ステップと、
    前記初期値演算ステップにより演算される前記初期値に基づいて、電子の固有状態及び電子間ポテンシャルを演算する電子状態演算ステップと、
    前記電子状態演算ステップにより演算される前記電子の固有状態及び前記電子間ポテンシャルに基づいて、前記対象物質の新たな基本格子ベクトル、及び前記対象物質を構成する複数の構成原子それぞれの新たな位置ベクトルを演算し、この新たな基本格子ベクトル及び新たな位置ベクトルを前記初期値演算部に与えることで、当該初期値演算部及び前記電子状態演算部に、前記基本格子ベクトル、前記位置ベクトル、前記電子間ポテンシャル、及び前記電子の固有状態を反復演算させる原子位置演算ステップと、を備え、
    前記初期値演算ステップは、前記原子位置演算ステップによる反復演算において演算される現状及び過去の基本格子ベクトル、及び位置ベクトルに基づいて、前記入力ポテンシャルの初期値を求めるものであり、
    前記電子状態演算ステップは、
    前記入力ポテンシャルに対応する、電子の固有状態を演算する固有状態演算ステップと、
    前記電子の固有状態から残差ポテンシャルを演算する残差ポテンシャル演算ステップと、
    前記初期値演算部による前記初期値を前記固有状態演算部に与えることで前記残差ポテンシャルを減少させうる新たな入力ポテンシャルを演算させ、さらに、前記新たな入力ポテンシャルを前記固有状態演算部に与えることで前記残差ポテンシャル演算部に前記残差ポテンシャルを反復演算させ、当該残差ポテンシャルを減少させることで前記電子間ポテンシャルを得る演算制御ステップと、を備え、
    前記固有状態演算ステップは、
    前記電子の固有状態に関する固有値問題の残差を反復演算し当該残差を減少させることで前記固有値問題を解き、前記電子の固有状態を得る演算ステップと、
    前記演算ステップによる前記固有値問題の残差の反復演算において、前記固有値問題の残差の減少が停滞しているか否かを判定し、前記残差の減少が停滞していると判定すると前記演算部の反復演算を中止させる停滞判定ステップと、を備え、
    前記演算制御ステップは、
    前記演算制御ステップによる反復演算の現状及び過去の演算において行われる前記停滞判定ステップによる判定結果を参照し、現状の演算において前記固有値問題の残差の減少が停滞しているか否かを判断するとともに、現状の演算において前記残差の減少が停滞していると判断する場合にはさらに前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生しているか否かを判断する判断ステップと、
    前記判断ステップにより、現状の演算において前記固有値問題の残差の減少が停滞していないと判断された場合に、現状及び過去に演算された複数の入力ポテンシャル、及びこれらに対応して演算された複数の残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第一の入力ポテンシャル演算ステップと、
    前記判断ステップにより、現状の演算において前記固有値問題の残差の減少が停滞していると判断されかつ前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生していないと判断された場合に、過去に演算された複数の入力ポテンシャルの内の前記第一の入力ポテンシャル演算ステップにて前記新たな入力ポテンシャルを演算するために用いる数より少ない数の入力ポテンシャル、及びこれに対応して演算された残差ポテンシャルに基づいて前記新たな入力ポテンシャルを演算する第二の入力ポテンシャル演算ステップと、
    前記判断ステップにより、現状の演算において前記固有値問題の残差の減少が停滞していると判断されかつ前記残差の減少の停滞が現状の演算と過去の演算との間で連続して発生していると判断された場合に、前記原子位置演算ステップによる反復演算において演算される現状の基本格子ベクトル、及び位置ベクトルに基づいて前記新たな入力ポテンシャルを演算する第三の入力ポテンシャル演算ステップと、を備えていることを特徴とする電子状態演算プログラム。
JP2008278095A 2008-08-22 2008-10-29 電子状態演算装置、電子状態演算方法、及び電子状態演算プログラム Expired - Fee Related JP5212020B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008278095A JP5212020B2 (ja) 2008-08-22 2008-10-29 電子状態演算装置、電子状態演算方法、及び電子状態演算プログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008214296 2008-08-22
JP2008214296 2008-08-22
JP2008278095A JP5212020B2 (ja) 2008-08-22 2008-10-29 電子状態演算装置、電子状態演算方法、及び電子状態演算プログラム

Publications (2)

Publication Number Publication Date
JP2010073182A true JP2010073182A (ja) 2010-04-02
JP5212020B2 JP5212020B2 (ja) 2013-06-19

Family

ID=42204850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008278095A Expired - Fee Related JP5212020B2 (ja) 2008-08-22 2008-10-29 電子状態演算装置、電子状態演算方法、及び電子状態演算プログラム

Country Status (1)

Country Link
JP (1) JP5212020B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323099A (ja) * 2006-05-30 2007-12-13 Hitachi Ltd シミュレーション用パラメータ決定方法
WO2007141942A1 (ja) * 2006-05-29 2007-12-13 Osaka University 電子状態計算方法、電子状態計算装置、コンピュータプログラム、及び記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007141942A1 (ja) * 2006-05-29 2007-12-13 Osaka University 電子状態計算方法、電子状態計算装置、コンピュータプログラム、及び記録媒体
JP2007323099A (ja) * 2006-05-30 2007-12-13 Hitachi Ltd シミュレーション用パラメータ決定方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNB200700551001; 香山 正憲: '自己無撞着計算(セルフコンシステント計算)' ナノシミュレーション技術ハンドブック 初版, 20060715, pp.172-173, 共立出版株式会社 *
CSNB201000357001; 柏木 浩: タンパク質密度汎関数法 初版, 20080526, pp.210-214, 森北出版株式会社 *
JPN6013003611; 香山 正憲: '自己無撞着計算(セルフコンシステント計算)' ナノシミュレーション技術ハンドブック 初版, 20060715, pp.172-173, 共立出版株式会社 *
JPN6013003613; 柏木 浩: タンパク質密度汎関数法 初版, 20080526, pp.210-214, 森北出版株式会社 *

Also Published As

Publication number Publication date
JP5212020B2 (ja) 2013-06-19

Similar Documents

Publication Publication Date Title
Moustapha et al. Comparative study of Kriging and support vector regression for structural engineering applications
Mueller et al. Bayesian approach to cluster expansions
Handscomb The Monte Carlo method in quantum statistical mechanics
Amini et al. Hybridization of harmony search and ant colony optimization for optimal locating of structural dampers
US9697471B2 (en) Device and method for managing plant model
Chamanbaz et al. Sequential randomized algorithms for convex optimization in the presence of uncertainty
Sharifi et al. RELIABILITY OPTIMIZATION OF A SERIES-PARALLEL K-OUT-OF-N SYSTEM WITH FAILURE RATE DEPENDS ON WORKING COMPONENTS OF SYSTEM.
JP2005316614A (ja) 最適化方法及び最適化プログラム
Fu et al. Option pricing for a jump-diffusion model with general discrete jump-size distributions
Oh et al. Stress constrained topology optimization simultaneously considering the uncertainty of load positions
JP5212020B2 (ja) 電子状態演算装置、電子状態演算方法、及び電子状態演算プログラム
Huang et al. A saddlepoint approximation based simulation method for uncertainty analysis
Ioakimidis Application of the method of quantifier elimination to the determination of intervals when the uncertain parameters satisfy an ellipsoidal inequality constraint
KR102338666B1 (ko) 철근콘크리트 부재의 부재강도 산출 장치 및 방법
Lee A robust structural design method using the Kriging model to define the probability of design success
Ruberto et al. Sgp-dt: towards effective symbolic regression with a semantic gp approach based on dynamic targets
Luo et al. Simultaneous parameter and tolerance optimization of structures via probability-interval mixed reliability model
CN115829040B (zh) 处理参数的确定方法、装置、设备以及存储介质
JP5024111B2 (ja) 電子ポテンシャル演算装置、電子ポテンシャル演算方法、電子ポテンシャル演算プログラム、及び物性予測値演算装置
Hamel et al. Reducible Uncertain Interval Design (RUID) by Kriging Meta-Model Assisted Multi-Objective Optimization
Kern Weak reservoirs are superexponentially irrelevant for misanthrope processes
KR102036094B1 (ko) 확률적 함수에 대한 해를 구하는 방법
Taflanidis et al. Robust stochastic design of linear controlled systems for performance optimization
JP2009229402A (ja) 電子ポテンシャル演算装置、電子ポテンシャル演算方法、及び電子ポテンシャル演算プログラム
Wang et al. A comparison of genetic algorithm and particle swarm optimisation for theoretical and structural applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110421

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130211

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160308

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees