AB initio構造の進化(Maise)機能のモジュール
*原子間相互作用のニューラルネットワークベースの説明
*進化的最適化
*構造分析
1。一般情報
2。ダウンロードとインストール
3。入力
4。例
5。入力タグの説明をセットアップします
メイゼはによって開発されました
Alexey Kolmogorov [email protected]
Samad Hajinazar [email protected]
Ernesto Sandoval [email protected]
現在のバージョン2.9は、Linuxプラットフォームで動作し、アトミック構造をモデリング、最適化、分析するための3つのモジュールを組み合わせています。
1ニューラルネットワーク(NN)モジュールは、NNモデルを構築、テスト、および使用して、密度の官能理論計算と比較して、低い計算コストでAB近いinitio精度との原子間相互作用を説明します。
NNモデルを使用して構造検索を加速するという主な目標を目指して、モジュールの主な機能は、構造を与えられた構造を緩和することです。 NNアプリケーションと比較を簡素化するために、VASPソフトウェアで使用されているファイル形式と入力および出力ファイル形式を密接に一致させました。 「モデル/」ディレクトリで利用可能な以前にパラメーター化されたNNモデルが生成され、結晶および/またはナノ構造化された材料について広くテストされています。 NNSの最初の実用的な用途には、新しい合成可能なMg-CaおよびM-Sn合金の予測[1-3]と、より安定したCu-PD-AgおよびAuナノ粒子の識別[4,5]が含まれます。
ユーザーは、比較的小さな構造の密度官能理論(DFT)総エネルギーデータと原子力データで通常トレーニングされるモデイズで独自のNNモデルを作成できます。関連する多様な構成の生成は、公開された研究[6]で詳述されている「進化的サンプリング」プロトコルで個別に行われます。このコードは、いくつかの要素を持つ化学システム用の堅牢なNNSを構築する方法のユニークな機能「層別トレーニング」を紹介します[6]。 NNモデルは、最初は要素用、次にバイナリなどで階層的な方法で開発され、周期表の拡張ブロックの再利用可能なライブラリの生成を可能にします。
2実装された進化アルゴリズム(EA)により、特定の化学組成での基底状態構成の効率的な識別が可能になります。私たちの研究では、実験的な構造入力が利用できない場合、EAは大きな構造に対処する上で特に有利であることが示されています[7,8]。
検索は、3Dバルククリスタル、2Dフィルム、および0Dナノ粒子に対して実行できます。構造の母集団は、ランダムに生成するか、事前の情報に基づいて事前に定義されます。必須操作は、前世代の2つの親構造に基づいて新しい構成が作成され、親構造がランダムに歪んでいる場合は「突然変異」する場合。 0Dナノ粒子については、指定されたサイズ範囲でクラスターの効率的な同時最適化を可能にするマルチトリブ進化アルゴリズムを導入しました[4]。
3分析関数には、放射状分布関数(RDF)に基づく構造の比較、スペースグループの決定、および外部SPGLIBパッケージを使用したWyckoff位置などが含まれます。特に、RDFベースの構造DOT積は不可欠です。 EA検索で重複した構造を排除し、発見された低エネルギー構造のプールで異なる構成を選択します。
[1] https://pubs.rsc.org/en/content/articlelanding/2018/cp/c8cp05314f#!divabstract
[2] https://www.nature.com/articles/S41524-022-00825-4
[3] https://pubs.rsc.org/en/content/articlelanding/2023/cp/d3cp02817h/unauth
[4] https://pubs.rsc.org/en/content/articlelanding/2019/cp/c9cp00837c#!divabstract
[5] https://pubs.acs.org/doi/10.1021/acs.jpcc.9b08517
[6] https://journals.aps.org/prb/abstract/10.1103/physrevb.95.014114
[7] https://journals.aps.org/prl/abstract/10.1103/physrevlett.109.075501
[8] https://journals.aps.org/prb/abstract/10.1103/physrevb.98.085131
Maiseのソースコードは、実行することでコマンドラインから取得できます。
git clone git://github.com/maise-guide/maise.git
または
git clone https://github.com/maise-guide/maise.git
または
wget -O master.zip https://github.com/maise-guide/maise/archive/master.zip unzip master.zip
1完全なコンピレーションには「 make -jobs 」を使用します。再コンパイルを使用するには、「Make Clean」を使用してオブジェクトファイルを削除するか、「Clean-All」を削除してオブジェクトファイルと外部ライブラリを削除します。
2 Maise Compilationの間に、「Make -Jobs」は、2つの必要な外部ライブラリ、GSLライブラリとSPGLIB V1.11.2.1、2019年2月が存在するかどうかを確認します。そうでない場合、それらは自動的に./ext-depにダウンロードされ、ほとんどのシステムに./libにインストールされます。
3 GSLまたはSPGLIBのインストールが自動的に完了していない場合は、手動でコンパイルし、(i)libgsl.A、libgslcblas.a、libsymspg.aにコピーして './lib' subdirectoryにコピーしてください。 (ii)「spglib.h」ヘッダーへのヘッダー。/lib/include 'subdirectory; (iii)すべてのgslヘッダーは './lib/include/gsl' sub -directoryにヘッダーになります。
4「チェック」スクリプトは、「./test/」ディレクトリで使用できます。これは、コードの適切な機能を確保するためにMaise実行可能ファイルをコンパイルした後に実行できます。このスクリプトは、データの解析、ニューラルネットワークのトレーニング、および結晶構造の評価におけるコードのパフォーマンスを自動的にチェックします。コンパイルが問題ない場合、「チェック」スクリプトは出力されます。それ以外の場合、エラーログには、問題に関する詳細情報が提供されます。
このコードは、Linuxプラットフォームで広くテストされています。さまざまなプラットフォームでのパッケージのインストールとパフォーマンスに関するユーザーのフィードバックに感謝します。
シミュレーションを定義するメインの入力ファイルは、ジョブ設定を備えた「セットアップ」、nnパラメーターを使用したモデル「モデル」、およびVASP形式のアトミック構造パラメーターを備えた「POSCAR」です。 NN開発の解析段階での原子環境のNN入力への変換には、Behler-Parrinello対称関数を指定する「基底」ファイルが必要です。
エボ | nnet | 細胞 | |||||
検索 | テスト | 解析 | 電車 | テスト | Simul | テスト | |
設定 | + | + | + | + | + | + | |
モデル | +* | +# | +# | ||||
基礎 | + | $ | |||||
SPG | + | + | |||||
GSL | + | + | |||||
*層状のトレーニングには、個々のモデルを提供する必要があります 解析されたディレクトリに保存されている$ 'base'は、トレーニングの終了時に「モデル」に追加されます #「モデル」には、トレーニングが終了すると「ベース」が最後に貼り付けられています |
構造検査と操作機能は、メイゼを旗で呼び出すことによって実行されます。
maise -flag
フラグ | フラグの説明 |
---|---|
男 | 利用可能なフラグのリストを出力します |
RDF | POSCARのRDFを計算してプロットします |
CXC | RDFを使用して、POSCAR0およびPOSCAR1のDOT製品を計算します |
CMP | RDF、スペースグループ、およびPOSCAR0とPOSCAR1の量を比較します |
SPG | Poscarをstr.cif、conv、primに変換します |
CIF | str.cifをConvとPrimに変換します |
薄暗い | POSCARが周期(3)か非周期(0)かを見つける |
Vol | 結晶またはナノ構造の原子あたりの量を計算します |
腐敗 | 慣性モーメントの固有ベクトルに沿ってナノ粒子を回転させます |
mov | 一定のシフトで原子を一方向に沿って動かします |
箱 | ナノ粒子のボックスサイズをリセットします |
すする | na x nb x ncによって指定されたスーパーセルを作る |
EIG | フォノン固有モードに沿ったPOSCARのユニットセルをシフトします |
ord | 種ごとに原子を注文します |
外 | MDからスナップショットを抽出したり、VASPのリラクゼーション軌道を抽出したりします |
ディレクトリ「Examples/」には、ユニット細胞分析と操作、データの解析、ニューラルネットワークのトレーニング、ニューラルネットワークモデルによる構造のシミュレーション、神経ネットワークモデルの基底状態の進化的検索、分子動力学の実行、フォノン計算のためのメイズジョブのサンプルがあります。 EASHの例には、ReadMeファイル、特定のジョブに関連するタグのみを備えたセットアップファイル、および比較のための出力ファイルを参照しています。
メインジョブタイプセレクター
構造環境
メインエボ
EVOSオペレーション
EVOSクロスオーバー/突然変異
分子動力学
関連する種
I/o
一般モデル
ニューラルネットワークモデル
ニューラルネットワークトレーニング
解析
細胞弛緩
jobt
nmax mmax
コードdene kmsh lbox ndim nitr nnjb npop rand runt seed sitr tini
Blob Chop Invs Mate Mute PackPlnt Reflube Swap Tetr
ACRS ADST ELPS LCRS LDST MCRS SCRS SDST
cplt cplp icmp delt movi nstp mdtp tmax tmin tstp
ASPC NSPC TSPC
Cout Data Depo Eval otpt wdir
ncmp nngt nnnn nnnu nsym
fmrk lreg ntrn ntst tefs npar
emax fmax fmin vmax vmin mmax
ETOL MINT MITR PGPA RLXT時間
タグ | 説明 |
---|---|
jobt | 構造分析(00)フラグで指定された分析ツール、進化的検索(10)実行(11)ソフトエグジット(12)ハードエグジット(13)分析、細胞シミュレーション(20)緩和(21)分子動力学(22)フォノン計算、フォノン計算、データ解析(30)NNトレーニング、NNトレーニング(40)フルトレーニング(41)層別トレーニングのための入力を準備する |
コード | 使用中のコードのタイプ。 (0)Maise-Int(1)Vasp-Ext(2)Maise-Ext |
npar | 並列NNトレーニングまたはセルシミュレーションのためのコアの数 |
ミント | ニューラルネットワークトレーニングとセルの最適化のためのオプティマイザーアルゴリズム。 (GSLミニマライザータイプ(0)BFGS2(1)CG-FR(2)CG-PR(3)最急降下 |
MITR | 最適化ステップの最大数。 NNトレーニングまたはセルの最適化ステップで望ましい精度に達しない場合 |
rlxt | 細胞最適化タイプ(2)力のみ(3)フルセル(7)ボリューム(VASPのISIF) |
etol | トレーニングまたはセルの最適化の収束に対するエラートレランス |
tefs | トレーニング目標値(0)E(1)EF(2)ES(3)EFS(4)おもちゃ |
fmrk | EFまたはEFSトレーニングに使用するために解析される原子の割合 |
cout | セル評価と最適化のアウトカーファイルの出力タイプ |
nmax | ユニットセル内の原子の最大数 |
mmax | カットオフ半径内の隣人の最大数 |
NSPC | 進化的検索のための要素タイプの数、データ、ニューラルネットワークトレーニングの解析。 |
TSPC | NSPCタグで指定された要素の原子番号 |
ASPC | 進化的検索の各要素の原子の数 |
nsym | 「基底」ファイルを使用してデータを解析するためのBehler-Parrinello対称性の数 |
NCMP | ニューラルネットワークの入力ベクトルの長さ |
ntrn | ニューラルネットワークトレーニングに使用される構造の数(負の数はパーセンテージを意味します) |
ntst | ニューラルネットワークテストに使用される構造の数(負の数は割合を意味します) |
nnnn | ニューラルネットワーク内の隠れ層の数(入力ベクトルと出力ニューロンは含まれません) |
nnnu | 隠れ層のニューロンの数 |
nngt | 隠された層のニューロンの活性化関数タイプ(0)線形(1)タン |
emax | 最も低いエネルギー構造のこの割合のみを解析します。 0〜1 |
fmax | この値よりも大きい力でデータを解析しません |
vmin | この値よりも小さいボリューム/アトムでデータを解析しません |
vmax | この値よりも大きいボリューム/原子でデータを解析しません |
ndim | 進化検索およびセルの最適化におけるユニットセルの寸法(3)クリスタル(2)フィルム(0)粒子 |
lbox | ANGSの進化検索で粒子を生成するためのボックス寸法(結晶については無視されます) |
NPOP | 進化の検索における人口規模 |
sitr | 進化検索の開始イテレーション(0)ランダムまたは指定された構造から開始 |
nitr | 進化的検索の反復回数(SITRよりも大きくする必要があります) |
ティニ | Sitr = 0のときに進化検索を開始するタイプ |
時間 | 進化検索と細胞の最適化における細胞弛緩の最大時間 |
PGPA | GPAの圧力 |
デネ | プールの進化的検索で生成された個別の構造を保存/このエネルギー/原子(EV/原子)ウィンドウ内からの場合は、基底状態から |
KMSH | VASP-EVOSに使用されるKメッシュ密度。提案された値:S/Cで0.30、金属の場合は0.05 |
シード | 進化的検索で乱数ジェネレーターのシードを起動する(0)時間はシードとして(+)シード値として使用します |
ランド | データセットの解析のためのシードを起動します。 (0)時間をシードとして使用する(+)シード値( - )ランダム化なし:構造はリスト順に解析されます |
tmin | MD実行の最低温度(k) |
tmax | MDラン(k)の最高温度 |
TSTP | MDの温度ステップ(k)は形式のtminからtmaxを実行します |
デルト | MDのタイムステップが実行されます |
NSTP | MDの温度あたりのステップ数が実行されます |
Cplt | MD実行用のノーズホーバーサーモスタットのカップリング。提案:25.0 |
CPLP | MD実行用のBrendsen Barostatの結合定数。提案:100.0 |
ICMP | MDランのためのブレンドセンバロスタットの等温圧縮率(1/gpa) |
Movi | その後、MDの実行中に構造のスナップショットが保存されるステップ数 |
mdtp | MDランタイプ(10)NVE(20)NVT:ノーズホーバー(30)NPT:ノーズホーバーとブレンドセン(40)等型(11,21,31,41)は、POSCARファイルから読み込まれた速度で実行されます |
デポ | 解析されるDFTデータセットへのパス |
データ | 解析されたデータの場所を解析または読み取りのために読み取ります(解析中に上書きされます) |
otpt | トレーニングプロセスにモデルパラメーターを保存するためのディレクトリ |
評価します | モデルテストデータのディレクトリ |
WDIR | 進化的検索、MDの実行などの作業ディレクトリ。 |
tetr | テトリス操作を使用してランダムに生成された構造の割合。 0〜1 |
plnt | 種子から生成された構造の割合。 0〜1 |
パック | クローズドパック構造から生成された構造の割合。 0〜1 |
ブロブ | ブロブ形状を使用してランダムに生成された構造の割合。 0〜1 |
メイト | 各親から2つの半分を使用して、クロスオーバーによって生成された構造の割合。 0〜1 |
スワップ | 親のコアとシェルを使用してクロスオーバーによって生成された構造の割合。 0〜1 |
ルーベ | Rubikのキューブ操作によって生成された構造の割合。 0〜1 |
反射 | 反射による対称化によって生成される構造の割合。 0〜1 |
invs | 反転による対称化によって生成される構造の割合。 0〜1 |
チョップ | ファセットを作るためにチョッピングによって生成される構造の割合。 0〜1 |
ミュート | 構造に対するランダムな歪みによって生成される構造の割合。 0〜1 |
MCRS | クロスオーバーの0.50変異率 |
scrs | 0.00クロスオーバー:スワッピングレート |
lcrs | 0.00クロスオーバー:格子ベクターの突然変異強度 |
ACRS | 0.10クロスオーバー:原子位置の突然変異強度 |
SDST | 0.00歪み:スワッピングレート |
LDST | 0.00歪み:格子ベクターの突然変異強度 |
adst | 0.20歪み:原子位置の突然変異強度 |
エルプス | 0.30ランダム:ナノ粒子楕円率 |