7. 計算ジョブの登録2(GUIを用いる方法)(未改訂)
7.1. 第一原理計算
材料計算ソフトウェアのカテゴリーから「First Principles Calculation」 を選択すると現在実行可能な第一原理計算のメニューが現れます。ここから実行したい計算を選択すると、 各計算の設定ウィンドウが表示されます。計算に使用するエンジンの選択も設定ウィンドウで選択可能です(後述)。 機能によっては RSDFT のみ、あるいは OpenMX やQunatum ESPRESSOのみで実行可能となっているものがあります。
これらのジョブは、第一原理計算の最も基本的な機能である系の基底状態の全エネルギーを計算するジョブです。 図 19からいずれかを選択すると図 20のようなウィンドウが現れます。 ここで設定を行った後「CREATE JOB」ボタンを押すとジョブが登録されます (まだこの時点では実行されません)「CREATE JOB」ボタンの横にある「▼」から、 計算に使用するソフトウェアを選択することができます。設定項目は使用ソフトウェアに合わせた内容に変わります。 また計算メニューによっては特定のソフトウェアでのみ実行可能なものもあり、 その場合は、実行可能なソフトウェアのみ選択肢に現れます。 さらに「詳細設定」にチェックを入れると図 21のように、さらに細かい設定項目が表示されます。 ここで計算の細かな設定を行いますが、必須の入力はのみです。他は入力しなければデフォルト値が設定されます。 「子構造最適化を行う」あるいは「格子定数最適化を行う」にチェックを入れると、 各原子の座標(内部座標)あるいは格子定数を、 全エネルギーが最小(極小)となるように最適化しながら計算を行います。何もチェックを入れない場合は、 与えられた原子構造に対する全エネルギーの計算を行います。 必須項目(ジョブ名)が与えられていれば「CREATE JOB」ボタンがアクティブになります。 ボタンを押すとジョブが登録されますが、この段階はあくまで「ジョブ登録」であり、 実際に計算を実行するには、もう一段階「ジョブの実行」という操作が必要になります。
7.1.1. OpenMX
図 22は電子バンド計算ジョブの設定画面の一例です。電子状態 SCF 計算等 のジョブとほぼ同じですが、バンドを描く Brillouin zone 内の経路の指定が 必要になります。経路の設定は、セルの形状から自動で設定するモードと、 ユーザーが手動で設定するモードがあります。後者の手動設定の場合は
G 0.0 0.0 0.0 X 0.5 0.0 0.0
のように、通過する k 点のラベルと(逆格子ベクトルを基底とした)座標を 必要な数だけ記述します。 計算結果(電子バンド構造)はジョブ「ジョブ詳細」画面で確認することが可能です(図 23)。
7.1.2. Quantum ESPRESSO
これまでのジョブ設定の説明と特段変わった部分はありません。綺麗な状態 密度を描くにはサンプル k 点を多く取る事が必要ですが、大規模系でΓ点一 点サンプルのような計算を行う場合には、各電子準位に幅を持たせて重ね合 わせた状態密度を代わりに表示します。
7.1.3. RSDFT
2つの(準)安定構造間を結ぶ経路でのエネルギープロファイルを計算します。 2つの構造を選択した状態で、エネルギー障壁計算ジョブの設定ウィンドウを開き、 経路に沿った何点で最適化を実行するか等の指定を行います(図 24)。 最終的な計算結果として 図 25ように経路に沿ったエネルギープロファイルおよび各ステップでの原子構造が得られます。 また原子構造の変化をアニメーションとして可視化することも可能です。 経路上で最もエネルギーの大きい点が化学反応の障壁(遷移状態)の推定値となります。
7.1.4. SPRKKR
第一原理分子動力学計算は、原子に働く力を第一原理計算で求めながら分子動力学計算を行うジョブです。 現在 Born-Oppenheimer(BOMD)法と Car-Parrinello(CPMD)法(RSDFT のみ)の2つの手法が選択可能です。 いずれも NVE(エネルギー一定)または NVT(温度一定)型の MD が実行可能で、 CPMD では電子系の温度制御も行えるようになっています(図 26)。
7.2. 古典分子動力学計算
7.2.1. LAMMPS
7.2.2. CHGNet
古典分子動力学計算ソフトは現在 LAMMPS のみが利用可能となっています。 「Classical MD」ボタンを押すと図 28 のような LAMMPS の設定画面が表示されます。 原子間ポテンシャルの設定が必須項目となっていますが、 デフォルトでは学習済みの汎用機械学習力場CHGNetを利用するようになっており、 その時は力場の設定は不要です。CHGNet利用のチェックを外すと、 通常の原子間ポテンシャルファイルのアップロードを行うメニューが現れます。 力場の設定を含め各設定項目は次のようになっています:
名称:ジョブの名称(後で変更可)
説明:ジョブの説明(後で変更可)
Boundary:周期境界条件または固定境界条件の選択
Replicate:元となる構造(メニューを開く前に選んでいた構造)のスーパーセルを作り、MDを実行すします
Actions:実行する計算のタイプを選択。静的構造最適化(minimize)またはNVT, NPT, NVEのMDが選択可能
Params:最小化あるいはMDの条件設定
Box最適化:minimizeの場合にセルの最適化も行います
Interatomic Potential File:原子に働く力(力場)を定義するファイルをアップロードすします。例えばhttps://www.ctcms.nist.gov/potentials/等から取得できるファイルを利用できます。
詳細設定:thermo_style, thermo, dumpをユーザー自身で指定できます。詳細はLAMMPSのドキュメント(https://docs.lammps.org/Commands.html)を参照のこと
7.3. 機械学習分子動力学計算
7.3.1. CHGNet
汎用機械学習ポテンシャル CHGNet はLAMMPSのポテンシャルとして選択するだけで利用可能です。
7.3.2. FLARE
QuloudではFLAREを利用したOn-the-fly(OTF)学習が可能です。 OTFは、MD計算を実行しながら機械学習ポテンシャルの誤差評価を行い、 必要に応じて第一原理計算の教師データを追加して機械学習ポテンシャルの更新を行う方法です。 「FLARE」のボタンを押すと、図 29および図 30のような画面が開きます。 タブにより「機械学習(ML)およびMDの設定」と「第一原理計算の設定」のメニューが切り替わります。
7.3.2.1. OTF機械学習およびMD計算の設定
MLおよびMDの設定メニューの内容は下記のようになります:
ガウス過程のタイプ:Sparce GP または Full GP
カーネル関数のタイプ:NormalizedDotProduct または SquaredExponential
カーネル関数のハイパーパラメータ:
sigma (variance)
power(≦2。NormalizedDotPrductのべき)
ls(長さスケール)
記述子:B2(ACEのFormalism)
記述子のパラメータ
nmax:使用する動径関数の数
lmax:角度情報を担う球面調和関数の角運動量最大値
cutoff_function:quadratic(原子近傍を定義するための関数形)
radial_basis:chebyshev(動径関数の形)
energy_noise:エネルギーを確率分布とするためのばらつきの程度
force_noise:力を確率分布とするためのばらつきの程度
stress_noise:ストレスを確率分布とするためのばらつきの程度
single_atom_energies:個々のspeciesに対応した原子のエネルギー(エネルギーの学習はこの値を原点にとって行われます)
cutoff:原子近傍を定義する距離
variance_type:local(誤差評価にlocal energy varianceを用いる)
max_iterations:ハイパーパラメータ最適化のための反復計算上限
use_mapping:LAMMPS用のcoefficientsファイルを出力
mode:flesh / restart(新規計算か継続計算か)
md_engine:Langevin
temperature_K:温度(K)
friction:Langevinダイナミクス用の摩擦パラメータ
initial_velocity:温度(K)で設定
dt:MDの時間幅(ps)
number_of_steps:MDを実行するステップ数
std_tolerance_factor:DFT計算を実行する誤差の閾値
max_atoms_added:DFT計算後にGPモデルに追加する原子数の上限(=-1は「上限なし」)
train_hyps:指定したDFT計算のタイミングでハイパーパラメータの最適化を行います
write_model:ログおよびファイルの出力量。推奨値は4
update_style:threshold(全ての原子が誤差の基準を超えたらDFT計算を実行して更新)
update_threshold:update_style=thresholdのときの誤差評価基準
force_only:True(Forceのみで学習を行う。Falseではエネルギーとストレスも学習します)
7.3.2.2. 第一原理計算部分の設定
第一原理計算設定タブのメニューは5.1.1で説明した「SCF電子状態計算」の項目と同じですので、 詳しくはそちらをご参照ください。
7.4. 磁性材料計算(Quloud-Mag)
7.4.1. SPRKKR
図 32にSPRKKRによる第一原理SCF計算の設定メニューを示します。 この計算は、続く磁気交換相互作用パラメータの計算など、 他の第一原理計算の入力として必要となる自己無撞着な電子状態を求めるための計算となります。 主要な設定項目は以下に説明します:
Site Occupancy:系に含まれるサイトの数だけ同様な行が表示され、各サイトを占有する原子種を複数指定できます(Coherent Potential Approximationの設定)
Calculation Mode:フル相対論/スカラー相対論の選択
NKTAB:第一Brrilouin Zoneの既約部分に含まれるk点数を指定
Energy:Energy contour上を数値積分する際のメッシュ、およびエネルギーの最小値
Exchange-Correlation:交換相関汎関数
Ewald parameters:KKR理論での電子ポテンシャルの計算で、孤立原子の情報を切り分けた、格子部分の和をEwald方で計算するためのパラメータ(十分収束するパラメータとなっていることを確認することが重要)
SCF:SCFの反復回数や収束条件、収束アルゴリズムのパラメータ設定など
より詳細な情報についてはSPRKKRの本家サイト https://www.ebert.cup.uni-muenchen.de/index.php/en/repository/SPRKKR/lang,en-gb/ をご参照ください。
7.4.1.1. 磁気交換相互作用の第一原理計算(使用コード:SPRKKR)
図 33にSPRKKRを用いた磁気交換相互作用パラメータ計算の設定メニューを示します。 この計算を行うには5.4.1の自己無撞着な電子状態計算をあらかじめ完了させておく必要があり、 それを引き継いで計算の設定が行われます。設定項目はSCFと共通なものが多く、 磁気交換相互作用パラメータ特有の設定は以下になります: Maximum distance from the center of the atomic site:遠方のサイトとの相互作用は当然小さくなるため、 何格子分離れたところまで計算するかの指定
7.4.1.2. GILBERT減衰定数の第一原理計算(使用コード:SPRKKR)
図 34にSPRKKRによるGilbert減衰定数の第一原理計算の設定メニューを示します。 SCF計算にはない設定項目は
Finite Temperature Mode:有限温度での計算を行うかどうか
Angular Momentum(NL):Green関数の角運動量展開時の最大の角運動量(d電子系では4、f電子系では5を下回らないようにとることが推奨されます)
となります。温度0での計算は、CPA計算を行う場合のみ有効となります。 有限温度の場合にはさらに入力項目が増えます。SPRKKRでは温度依存性を取り入れる方法が二種用意されています:
モデルを利用した単純な導入(SETFLUCT=MLIN)
磁化の温度依存性のモンテカルロシミュレーション結果を参照する方法(SETFLUCT=M_T)
前者は温度範囲と変化幅を指定するのみですが(図 35)、後者は、スピン揺らぎを記述するグリッドと、 参照するモンテカルロのジョブを指定する必要があります(図 36)。
図 37にSPRKKRを用いた第一原理計算による電気伝導率計算の設定メニューを示します。 電気伝導率特有の設定項目は
SIGSPROJ:Electrical Conductivity(Relativistic/Scalar Relativistic)
のみです。温度0、あるいは有限温度での計算設定は5.4.3のGilbert減衰定数計算の場合と全く同様です。
7.4.1.3. Monte Carlo
第一原理計算により求められた磁気交換相互作用パラメータ Jij を用いて、 ハイゼンベルグモデルに基づくモンテカルロ(MC) シミュレーションを実行するQuloud-Magのメインの計算の設定メニューを図 38に示します。 入力パラメータとしてJijが必要であるため、 この計算は基本的には5.4.2の計算結果を引き継いで行うことになります。Jij計算ジョブの詳細画面から、 左メニューを開いてMonte Carlo (Quloud-Mag-MC) の設定メニューを開くと、 Jij を含む各パラメータが適切に設定された状態でメニューが開きます。 各設定項目は以下のようになっています:
Cell:単位となる格子の情報、3次元各方向の境界条件(Periodic / Free)、スーパーセル、の設定を行います
Temperature Control:温度制御。開始と終了の温度、その間の増分
Monte Carlo Setting:モンテカルロ計算のステップ数。平衡化、測定に分けて指定します。またサンプルを複数用意してシミュレーションを行うことも可能です。
Magnetic Fields:外部磁場の設定。最小、最大値と、その間の増分、磁場の方向を指定します。磁場の大きさは複数指定できますが、方向は一つだけです。
Anisotropy:一軸および立方磁気異方性パラメータを設定
Atomic Site Types:Cellで設定する単位格子中のサイトの磁気モーメントや占有数を指定
Atomic Site Coordinates:単位格子内の各サイトの座標
Exchange Coupling Parameters:磁気交換相互作用パラメータ。Quloud-Magの第一原理計算(SPRKKR)の結果を引き継げば自動で設定されます。
Initial State Parameter:初期スピンの準備方法。下記3つの方法が選べます。
平衡化(Searching Equiribrium)
Random Start
Atomic Site Coordinatesで指定可能な FM/AM の設定に従う
Algorithm:Metropolis / Heat Bath
7.4.1.4. 磁気モーメントの空間分布可視化用ハイゼンベルグモデルによるモンテカルロ計算(使用コード:QULOUD-MAG-MC)
これは5.4.5のモンテカルロシミュレーションとほぼ同じ計算を行います。ただし温度および磁場の大きさは、 設定メニューでそれぞれ一つだけしか指定できません。その指定した温度よび磁場の下でシミュレーションを実行し、 最終的に、各サイトの磁気モーメントのベクトル値を可視化用にファイルに書き出します。 設定項目はほぼ5.4.5と同じですので個々の説明は省略します。
7.4.1.5. マイクロマグネティックシミュレーション(使用コード:QULOUD-MAG-LLG)
図 39にQuloud-Magによるマイクロマグネティックシミュレーションの設定メニューを示します。 各設定項目の内容は下記の通りです:
Nx, Ny, Nz:空間グリッド
lx, ly, lz:空間領域の大きさ(単位:m)
境界条件:Periodic / Free
温度制御:最小、最大、増分(単位:K)
M0:飽和磁化@0K (単位:Ampere/m)
Mnormal:規格化された磁化@有限温度
Option Temperature:
A0:Exchange Stiffness@0K(単位:J/m)
Ku1_x0, Ku1_y0, Ku1_z0:一軸異方性パラメータ@0K
Ku2_x0, Ku2_y0, Ku2_z0:立方異方性パラメータ@0K
AT:Exchange Stiffness@有限温度(単位:J/m)
Ku1_xT, Ku1_yT, Ku1_zT:一軸異方性パラメータ@有限温度
Ku2_xT, Ku2_yT, Ku2_zT:立方異方性パラメータ@有限温度
alpha:Gilbert減衰定数
Option Mgnetic:
0:磁場強度 (A/m) の最小、最大、増分を指定
1:磁場強度 (A/m)、振動数 (Hz)で指定
hx, hy, hz:磁場の方向
Simulation Time:(単位:秒)
Time Step:(単位:秒)
Thermalization Time:(単位:秒)
7.4.2. UppASD
Quloud-Magは、第一原理計算により磁気交換相互作用パラメータを求め、 それを用いたハイゼンベルグモデルに基づくモンテカルロ計算により、原子レベルで有限温度、 有限磁場での磁性材料特性のシミュレーションを行うものです。 さらにはそれらのシミュレーションにより得られた物理パラメータを用いて、 マイクロマグネティックシミュレーションも実行できるようになっています。 図 31にQuloud-Magに含まれるジョブの選択メニューを示します。 マルチスケールなシミュレーションが実行できることから、 各スケールをカバーする複数のオープンソースコードおよび弊社独自のコードを利用しています。 以下にそれぞれの項目の設定GUIを説明します。