5.3. [mlref] セクション

MC計算の結果から原子配置のみを取り出す際のオプションを設定します. 例えばニューラルネットワークモデルの精度評価と訓練データの拡張などに利用します.

以下のようなファイルフォーマットをしています.

[mlref]
nreplicas = 3
ndata = 50

5.3.1. 入力形式

keyword = value の形式でキーワードとその値を指定します. また, #をつけることでコメントを入力することができます(それ以降の文字は無視されます).

5.3.2. キーワード

  • レプリカに関する指定

    • nreplicas

      形式 : int型 (自然数)

      説明 : レプリカ数を指定します.

    • ndata

      形式 : int型 (自然数)

      説明 : 取り出すデータ(原子配位)の数

    • sampler

      形式 : 文字列 ("linspace" or "random", デフォルトは "linspace")

      説明 : \(N\) 個生成されている MC サンプルから \(N_\text{data}\) のデータをどのようにして取り出すか.

      • "linspace"

        numpy.linspace(0, N-1, num=ndata, dtype=int) を用いて等間隔に取り出す

      • "random"

        numpy.random.choice(range(N), size=ndata, replace=False) を用いたランダムサンプリング

5.4. [mlref.solver] セクション

訓練データ(配置エネルギー)の計算に用いるソルバーの設定を行います。ソルバーの種類 (VASP, QE, ...)、ソルバーへのパス、不変な入力ファイルのあるディレクトリなど(第一原理計算)ソルバーのパラメータを指定します. [sampling.solver]セクションと基本的には同様で、以下のようなファイルフォーマットをしています.

[mlref.solver] # 参照第一原理ソルバーの設定
type = 'qe'
base_input_dir = ['./baseinput_ref', './baseinput_ref', './baseinput_ref']
perturb = 0.05
ignore_species = []

5.4.1. 入力形式

keyword = value の形式でキーワードとその値を指定します. また, #をつけることでコメントを入力することができます(それ以降の文字は無視されます).

5.4.2. キーワード

  • type

    形式 : str型

    説明 : ソルバーの種類(OpenMX, QE, VASP )を指定します.

  • base_input_dir

    形式 : str型 or str型のリスト

    説明 : ベースとなる入力ファイルへのパスを指定します. リスト形式で複数設定した場合は、各々の入力を使った計算が順番に実行されます. 2番目以降の計算では、前の計算の最終ステップでの構造が初期座標として用いられ, 最後の計算のエネルギーが使用されます. 例えば、1つ目の入力ファイルで精度を犠牲にして高速な構造最適化を行い、2番目以降の入力ファイルで高精度な設定で構造最適化を行うといったことが可能にります. あるいは、格子ベクトルの緩和を行う場合に、設定した平面波カットオフに基づいて計算メッシュをリセットするために同じ入力の計算を複数回実行するといったことも可能です.

  • perturb

    形式 : float型

    説明 : 対称性が良い構造を入力にしてしまうと、構造最適化が鞍点で止まってしまいがちです.これを避けるため、各原子をこのパラメータに比例するようにランダムに変位させたものを初期構造とします. 0.0あるいはfalseに設定することも可能. デフォルト値 = 0.0.

  • ignore_species

    形式 : list型

    説明 : aenet などのニューラルネットワークモデルで「無視」する原子種を指定します. 常に占有率が1のものについては、ニューラルネットワークモデルの訓練および評価時に存在を無視した方が、計算効率が高くなります.