next up previous contents
: ``atomic configuration''ビュー : 入力ファイル編集 : ``general''ビュー   目次


``basic settings''ビュー

この画面上からは, PHASE入力ファイルの基本的な項目を編集することができます. ``basic settings''タブをクリックしていただくと, さらに細かくタブで編集項目が区切られています. 各編集項目を説明します.
control
計算の制御を指定することができます. 図 5.10に``control''タブをクリックした際に得られる画面を図示します.
図 5.10: PHASE入力ファイルの, ``control''ブロック編集画面.
Image phaseinput_basic_control
この図の各項目は, 次のような設定に相当します.
accuracy
計算の, 精度に関わる設定を行うことができます.
図 5.11: PHASE入力ファイルの, ``accuracy''ブロック編集画面.
Image phaseinput_basic_acc
この画面上で編集可能な項目は下記の通りです.

  1. ``Cut-off''領域: ここでカットオフエネルギーの設定を行います.
    • ``Wave function''テキストフィールド: 波動関数のカットオフを指定します. 単位は, 隣のリストから選択できます.
    • ``Charge density''テキストフィールド: 電荷密度のカットオフを指定します. 単位は, 隣のリストから選択できます. 電荷密度のカットオフは, ノルム保存型の擬ポテンシャルを使う場合は波動関数のカットオフの4倍, ウルトラソフト型の 擬ポテンシャルを使う場合はさらに大きな値を採用する必要があります. たとえばPHASEのFeのサンプルでは, 波動関数の カットオフは25 (Rydberg)であるのに対し, 電荷密度のカットオフは225 (Rydberg)となっています.
  2. ``Num. bands''テキストフィールド: バンドの数を指定します. バンド数は, 系の全価電子数を2で割った値の1.2倍程度以上が目安となります. またこのテキストフィールドの横にある``check''ボタンをクリックすると, 現在のバンド数が充分であるか否かを判定します. 充分な場合図 5.12が, 不十分な場合図 5.13が得られます. 不十分な場合, ``OK''ボタンをクリックすれば推奨値を入力することができます.

    図 5.12: バンド数が充分な場合得られるメッセージ.
    Image phaseinput_acc_bandcheck0
    図 5.13: バンド数が不十分な場合得られるメッセージ
    Image phaseinput_acc_bandcheck1
  3. ``XC type'': 交換相関エネルギーとポテンシャルの計算方法を選択します. ``LDAPW91''と``GGAPBE''という選択肢 を用意しています. 指定がない場合, 擬ポテンシャルファイルに書かれている情報が採用されますので, 通常明示的に指定する必要はありません.
  4. ``K point sampling''領域: $ \bm {k}$点サンプリングの詳細を指定します. 以下の項目を設定することが可能です.
    • ``Method''リスト: $ \bm {k}$点サンプリングの方法を指定します. 以下の方法が選べます (無指定の場合, ``Monk''が採用されます).
      • Monk: Monkhorst-Pack法により$ \bm {k}$点を生成します. SCF計算の場合, 基本的にはこの方法をお選びください.
      • mesh: メッシュを生成します. 後述のsmearingにてtetrahedralを指定する場合こちらをお選びください.
      • file: ファイルから読み込みます. ekcalによるバンド計算の時にこのオプションを選んでください. ただし第 5.2.1節で説明する手続きを経てekcalサブプロジェクトを準備した場合あらかじめ設定された状態になるので明示的に指定する必要はありません.
      • directin: 自動生成はせず, 直接入力ファイルに計算する$ \bm {k}$点を記述します.
      • gamma: $ \Gamma$点のみ使って計算を行います. 大きな非晶質系の計算などで使用すると良いでしょう.
    • ``edit kpoint''ボタン: ``Method''が``directin''の時に, $ \bm {k}$点を直接記述する際にこのボタンをクリックすると 図 5.14$ \bm {k}$点編集パネルが起動します.
      図 5.14: $ \bm {k}$点編集パネル.
      Image kpoint_editor
      図 5.14の各項目について説明します. ``kx'', ``ky'', ``kz'', ``denom''テキストフィールドの入力値を それぞれ$ k_x$, $ k_y$, $ k_z$, $ d$とすると, $ \bm {k}$点は $ \left(k_x/d, k_y/d, k_z/d\right)$と指定されます. また, ``weight'' テキストフィールドに指定した値によってその$ \bm {k}$点の重み付けを指定できます. このようにして$ \bm {k}$点を指定したら, ``add kpoint'' ボタンで$ \bm {k}$点を登録してください. 登録済みの$ \bm {k}$点を登録削除する場合は, ``delete''ボタンを クリックしてください.
    • ``mesh''テーブル: $ x$, $ y$, $ z$方向への分割数を指定します. デフォルトは(1,1,1), 上限値は(20,20,20)となっています.
    • ``kshift''テーブル: ``Method''が``Monk''の時有効なオプションです. メッシュのずれを指定します. k1, k2, k3 それぞれ[0.0,0.5]の範囲で入力してください. デフォルト値は, hexagonalの場合はk1=k2=0, k3=0.5, それ以外の 場合はk1=k2=k3=0.5となっています.
  5. ``Smearing''領域: $ \bm {k}$点サンプリングのsmearingを指定します. 以下の入力項目があります.
    • ``method''リスト: Parabolic(デフォルト)とTetrahedralの選択が可能です.
    • ``width''テキストフィールド: ``method''がParabolicの時有効なオプションであり, デフォルト値は0.001 (Hartree)となっています.
  6. ``Convergence''領域: 収束判定に関わる設定を指定します. 以下の設定を行うことが可能です.
    • ``dE''テキストフィールド: 全エネルギーの計算誤差の上限$ \Delta E$を指定します. デフォルト値は$ 10^{-10}$ (Hartree)です.
    • ``Succession''テキストフィールド: 収束判定に関わる回数を指定します. 誤差が, ここで指定した回数だけ$ \Delta E$以下に連続して収まった時に収束したと判定します. デフォルト値は3です.
    • ``Force''テキストフィールド: 構造緩和を計算する際に, 全原子に働く力の収束判定値を入力します. デフォルト値は0.001 (Hartree/Bohr)です.
  7. ``Initial''領域: 初期波動関数の計算方法に関わる設定を行います. 以下の項目を指定することが可能です.
    • ``Wave function''リスト: ``Matrix diagon''と``Random_numbers''が選択可能です. 前者は波動関数の初期値を行列対角化によって与え, 後者は乱数によって与えます.
    • ``cutoff (Matrix_diagon)''テキストフィールド: ``Wave function''として``Matrix diagon''を選んだ際の波動関数の カットオフエネルギーを指定します. デフォルト値は, ``cutoff_wf''と同じ値です.
    • ``Charge density''リスト: 電荷密度の初期値を与えます. 選択肢として, ``Gauss'', ``atomic_charge_density'', ``file''があります. ``Gauss''はガウス分布関数の重ね合わせ, atomic_charge_densityは原子の電子密度の重ね合わせ, ``file''は既存の計算結果から読み込むオプションです. ``file''を利用する場合, 計算を実行するディレクトリーに電荷密度ファイルが存在することをご確認ください.

solver
波動関数ソルバーの詳細設定を行うことができます. 図 5.15に``solver''タブをクリックした際に得られる画面を図示します.
図 5.15: PHASE入力ファイルの, ``wavefunction_solver''ブロック編集画面.
Image phaseinput_basic_solver
PHASEには多くの波動関数ソルバーや電荷混合の方法が用意されており, 計算する系に応じてこれらを適切に組み合わせることに よって, 安定で高速な計算を行うことが可能となります. 下記の設定が可能です.

  1. 登録済みソルバー表示領域: ここに, 登録済みのソルバーを表示します. 既存の入力ファイルから読み込む場合, この領域にその入力ファイルに書いてあったソルバーが順に表示されます.
  2. 新規ソルバー設定領域: ここで, 新たに登録したいソルバーを設定することができます. 各ボタンやテキストフィールドは それぞれPHASEのソルバー指定の仕様に従って用意されています.
    • ``sol'': ソルバーの種類を指定します. matrixdiagon, msd, lm+msd, rmm2, rmm2p, rmm3, そしてdavidson法が用意されています.
    • ``till_n'': ``sol''で指定された方法を適用する回数を指定します. 負の値を指定すると, SCF計算が収束するまでそのソルバーが採用されます.
    • ``dts'': 計算開始時の時間刻み幅を指定します.
    • ``dte'': 次の, ``itr''で指定された更新の回数での時間刻み幅を指定します. 指定がない場合, dtsと同じ値が採用されます.
    • ``itr'': 時間刻み幅を変化させる回数を指定します.
    • ``var'': 時間刻み幅を変化させる際の補完の形式を選択できます. ``linear''か``tanh''のいずれかを選ぶことができます.
    • ``prec'': 前処理を行うか否かを選択できます. ``on''なら前処理を行い, ``off''なら前処理を行いません. 基本的には``on''が推奨されますが, Davidsonソルバーをご利用いただく場合は必ず``off''にしてください.
    • ``cmix'': このソルバーが使用する電荷混合法を指定します. 電荷混合方法には後述のようにそれぞれ固有の番号を 割り振る必要がありますが, その番号を使って指定します.
    • ``submat'': ``subspace rotation''(部分空間対角化)を行うか否かを指定します. 部分空間対角化を行うと一回のSCF計算の計算時間は若干増えますが, 収束が加速されます. ``on''と``off''の選択肢がありますが, ``on''の時は 後述の``subspace_rotation''タグに記された方法に従い``subspace_rotation''を行います.
  3. ボタン領域: ここで, 設定したソルバーを登録ないし登録削除したり, ソルバーのより詳細な設定, 電荷混合方法の指定などを 行うことができます.
    • ``add''ボタン: このボタンをクリックすると, 設定したソルバーを1.の表に登録することができます.
    • ``delete''ボタン: このボタンをクリックすると, 1.の表で選択しているソルバーの登録を削除することが できます.
    • ``solver detail''ボタン: ここをクリックすると, 図 5.16の, 「ソルバー詳細設定パネル」 を起動することができます. 以下, 図 5.16の説明を行います.
      図 5.16: ``Solver Details''パネル.
      Image solver_details
      • ``line minimization'' 領域: ここで, ``line minimization''ソルバーに関わる詳細設定を指定することができます.
        • dt_lower_critical: 一次元探索を行う際の時間刻み幅の下限を指定します(デフォルト値: 0.005).
        • dt_upper_critical: 一次元探索を行う際の時間刻み幅の上限を指定します(デフォルト値: 2.0).
      • ``rmm''領域: ここで, RMMソルバーに関わる詳細設定を指定することができます.
        • imGSrmm: RMM法で更新した波動関数を直交化する頻度を指定します(デフォルト値は, 毎回実行の1).
        • rr_Critical_Value: バンド毎の収束判定条件を指定します.
        • edelta_change_to_rmm: ソルバーをRMM法へ切り替える際の判定条件を指定します. ここで指定する 値より全エネルギーの収束が悪い場合, その前のソルバーが採用されることになります.
      • ``subspace_rotation''領域: ここで, ``subspace rotation''に関わる詳細設定を指定することができます.
        • ``subspace_matrix_size'': subspaceの大きさを指定します. デフォルト値はバンド数であり, バンド数よりも 大きな値を指定してもバンド数に書き換えられます.
        • ``damping_factor'': 非対角要素のダンピング係数を指定します. [0.0,1.0]の値が有効な値です.
        • ``period'': ``subspace rotation''を行う頻度を指定します. デフォルト値は毎回実行の1です.
        • ``critical_ratio'': ``subspace rotation''を停止するための条件を指定します. 非対角項の値と対角項の値の比が, ここで指定した値よりも小さくなった場合subspace_rotationを行いません. デフォルト値は$ 10^{-15}$です.
      • ``Davidson''領域: ここで, Davidsonソルバーを利用する場合の調節パラメター, ``max_subspace_size''を入力します. 規定値はバンド数の3倍です.
    • ``from file''ボタン: このボタンによって, 既存のPHASE入力ファイルからソルバー部分を抜き出し, 編集中の入力ファイルに反映させることができます. ボタンクリックによって現れるファイル選択ダイアログから目的の入力ファイルを選択してください.

charge mixing
電荷密度の混合方法の詳細設定を行うことができます. 図 5.17に``charge mixing''タブをクリックした際に得られる画面を図示します.
図 5.17: PHASE入力ファイルの, ``charge_mixing''ブロック編集画面.
Image phaseinput_basic_cmix

この画面では, 次の設定を行うことができます.

  1. 電荷混合方法表示領域: ここのテーブルに, 登録済みの電荷混合方法を表示します.
  2. ``add new cmix method''領域: ここで, 新規の電荷混合方法を設定します. 以下の項目があります.
    • ``no.'': この電荷混合法を識別するための数字を指定します. ここで指定した数字を, ソルバー領域で使用します.
    • ``method'': 電荷混合の方法を指定します. ``simple''と``broyden2''のいずれかから選択できます. 通常は``broyden2''が推奨されますが, ソルバーがRMM法の場合``simple''をお選びください.
    • ``rmxs'': 計算開始時の電荷を混合する割合を指定します. デフォルトは0.5です.
    • ``rmxe'': ``itr''で指定した回数の後の電荷を混合する割合を指定します. 指定がない場合, rmxsと同じ値が採用されます.
    • ``itr'': 電荷混合の割合を変化させる回数を指定します.
    • ``var'': 電荷混合の割合を変化させる際の補間の形式を選択します. ``linear''と``tanh''のいずれかが選択可能です.
    • ``prec'': 前処理の有無を指定します. ``on''と``off''の選択肢があり, ``on''の場合前処理を行います.
    • ``istr'': ``method''が``simple''でない場合, その方法に切り替える回数を指定します.
    • ``nbmix'': 蓄えておく電荷密度の回数を指定します(``method''が``simple''でない時に有効な項目です).
    • ``update'': ``nbmix''で指定されている回数の電荷密度を使い切った際の処理を選択します. ``anew''と``renew''という選択肢があります. ``anew''を指定するとそれまでのデータを全て破棄し, ``renew''を指定すると最も古いデータを最新のデータと差し替えます(``method''が``simple''でない時に有効な項目です).
  3. ボタン領域: ここのボタンで設定した電荷密度混合法を登録したり登録削除したり, ファイルから読み込むことができます.
    • ``add''ボタン: ``add new cmix method''で設定した電荷密度混合法を登録します.
    • ``delete''ボタン: 選択中の電荷密度混合法を削除します.
    • ``from file''ボタン: このボタンによって, 既存のPHASE入力ファイルから電荷密度混合法の部分を抜き出し, 編集中の入力ファイルに反映させることができます. ボタンクリックによって現れるファイル選択ダイアログから目的の入力ファイルを選択してください.
  4. ``charge preconditioning''領域: 前処理の詳細設定を行うことが可能です. 前処理については, PHASEユーザーマニュアルをご覧ください.
    • amix: 前処理変数$ a$を指定します.
    • bmix: 前処理変数$ b$を指定します.

printoutlevel
PHASEの標準出力ファイルの出力レベルを編集することができます. タブをクリックした際に得られる画面を, 図 5.18に図示します.
図 5.18: 標準出力ファイル出力レベル設定画面.
Image phaseinput_basic_printout

出力レベルは, 項目に応じて0,1,2の三種類の値を選択することができるようになっています. 特に指定を行わない場合は``base''の値が採用されます. ここでは色々な設定を行うことが可能にはなっていますが, 推奨は``base''を1とすることです. 特に``base''を2に設定すると, 必要以上に大きなログファイルが得られてしまうので, 2は避けることをお勧めします.


next up previous contents
: ``atomic configuration''ビュー : 入力ファイル編集 : ``general''ビュー   目次
jkoga 平成22年4月27日