Fitur Modul untuk AB Initio Struktur Evolusi (MAISE)
* Deskripsi interaksi interatomik berbasis jaringan saraf
* Optimalisasi Evolusi
* Analisis Struktur
1. Info Umum
2. Unduh dan Instalasi
3. Input
4. Contoh
5. Pengaturan Deskripsi Tag Input
Maise telah dikembangkan oleh
Alexey Kolmogorov [email protected]
Samad Hajinazar [email protected]
Ernesto Sandoval [email protected]
Versi 2.9 saat ini bekerja pada platform Linux dan menggabungkan 3 modul untuk pemodelan, mengoptimalkan, dan menganalisis struktur atom.
1 Modul Neural Network (NN) membangun, menguji, dan menggunakan model NN untuk menggambarkan interaksi interatomik dengan akurasi inisio dekat-ab pada biaya komputasi yang rendah dibandingkan dengan perhitungan teori fungsional kepadatan.
Dengan tujuan utama menggunakan model NN untuk mempercepat pencarian struktur, fungsi utama modul adalah untuk melonggarkan struktur yang diberikan. Untuk menyederhanakan aplikasi dan perbandingan NN, kami cocok dengan format file input dan output dengan yang digunakan dalam perangkat lunak VASP. Sebelumnya model NN parameterisasi yang tersedia dalam direktori 'Model/' telah dihasilkan dan diuji secara ekstensif untuk bahan kristal dan/atau nano. Aplikasi praktis pertama dari NNS termasuk prediksi paduan MG-CA dan M-SN baru yang dapat dipenuhi [1-3] serta identifikasi nanopartikel Cu-PD-AG dan Au yang lebih stabil [4,5].
Pengguna dapat membuat model NN mereka sendiri dengan MAISE yang biasanya dilatih pada data total teori fungsional kepadatan (DFT) dan data gaya atom untuk struktur yang relatif kecil. Generasi konfigurasi yang relevan dan beragam dilakukan secara terpisah dengan protokol 'pengambilan sampel evolusi' yang dirinci dalam karya kami yang diterbitkan [6]. Kode ini memperkenalkan fitur unik, 'pelatihan bertingkat', tentang cara membangun NNS yang kuat untuk sistem kimia dengan beberapa elemen [6]. Model NN dikembangkan dengan cara hierarkis, pertama untuk elemen, kemudian untuk binari, dan sebagainya, yang memungkinkan pembuatan perpustakaan yang dapat digunakan kembali untuk blok yang diperluas dalam tabel periodik.
2 Algoritma evolusioner yang diimplementasikan (EA) memungkinkan identifikasi konfigurasi keadaan dasar yang efisien pada komposisi kimia yang diberikan. Studi kami telah menunjukkan bahwa EA sangat menguntungkan dalam menangani struktur besar ketika tidak ada input struktural eksperimental yang tersedia [7,8].
Pencarian dapat dilakukan untuk kristal curah 3D, film 2D, dan nanopartikel 0D. Populasi struktur dapat dihasilkan baik secara acak atau telah ditentukan sebelumnya berdasarkan informasi sebelumnya. Operasi penting adalah 'crossover', ketika konfigurasi baru dibuat berdasarkan dua struktur induk pada generasi sebelumnya, dan 'mutasi', ketika struktur induk terdistorsi secara acak. Untuk nanopartikel 0D kami telah memperkenalkan algoritma evolusi multitribe yang memungkinkan optimalisasi simultan yang efisien dari cluster dalam kisaran ukuran yang ditentukan [4].
3 Fungsi analisis meliputi perbandingan struktur berdasarkan fungsi distribusi radial (RDF), penentuan kelompok ruang angkasa dan posisi Wyckoff dengan paket spglib eksternal, dll. Khususnya, produk DOT struktur berbasis RDF sangat penting Menghilangkan struktur duplikat dalam pencarian EA dan memilih konfigurasi yang berbeda di kumpulan struktur berenergi rendah yang ditemukan.
[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
Kode Sumber untuk Maise dapat diperoleh dari Commandline dengan menjalankan:
git clone git://github.com/maise-guide/maise.git
atau
git clone https://github.com/maise-guide/maise.git
atau
wget -O master.zip https://github.com/maise-guide/maise/archive/master.zip unzip master.zip
1 Gunakan ' Make -Jobs ' untuk kompilasi penuh. Untuk kompilasi ulang, gunakan 'Buat Bersih' untuk menghapus file objek atau 'Buat semua bersih' untuk menghapus file objek dan pustaka eksternal.
2 Selama kompilasi MAISE, 'Make --jobs' memeriksa apakah dua pustaka eksternal yang diperlukan, perpustakaan GSL dan Spglib v1.11.2.1, Feb 2019, hadir. Jika tidak, mereka akan diunduh secara otomatis ke ./ext-dep dan diinstal di ./lib pada sebagian besar sistem.
3 Jika instalasi GSL atau SPGLIB tidak diselesaikan secara otomatis, harap kompilasi secara manual dan salin (i) libgsl.a, libgslcblas.a dan libsymspg.a ke dalam subdirektori './lib'; (ii) header 'spglib.h' menjadi './lib/include' subdirektori; dan (iii) semua header GSL ke dalam subdirektori './lib/include/gsl'.
4 Skrip 'periksa' tersedia di direktori './test/' yang dapat dijalankan setelah menyusun MAISE yang dapat dieksekusi untuk memastikan fungsionalitas kode yang tepat. Script ini secara otomatis memeriksa kinerja kode dalam parsing data, melatih jaringan saraf, dan mengevaluasi struktur kristal. Jika kompilasi baik -baik saja, skrip 'periksa' akan menghasilkan begitu; Kalau tidak, log kesalahan akan diberikan informasi lebih lanjut tentang masalah ini.
Kode ini telah diuji secara luas pada platform Linux. Kami akan menghargai umpan balik pengguna tentang instalasi dan kinerja paket pada platform yang berbeda.
File input utama yang mendefinisikan simulasi adalah 'pengaturan' dengan pengaturan pekerjaan, 'model' dengan parameter NN, dan 'poscar' dengan parameter struktur atom dalam format VASP. Konversi lingkungan atom menjadi input NN selama tahap pengembangan pengembangan NN memerlukan file 'basis' yang menentukan fungsi simetri Behler-Parrinello.
Evos | Nnet | SEL | |||||
MENCARI | UJIAN | Parse | KERETA | TES | Simul | UJIAN | |
Pengaturan | + | + | + | + | + | + | |
model | +* | +# | +# | ||||
dasar | + | $ | |||||
SPG | + | + | |||||
GSL | + | + | |||||
* Untuk pelatihan bertingkat, seseorang perlu menyediakan model individu $ 'basis' yang disimpan di direktori parsed ditambahkan ke 'model' di akhir pelatihan # Model 'memiliki' basis 'yang ditempel di akhir setelah pelatihan selesai |
Fungsi pemeriksaan dan manipulasi struktur dijalankan dengan memanggil Maise dengan bendera:
maise -flag
Bendera | Deskripsi bendera |
---|---|
pria | keluaran daftar bendera yang tersedia |
rdf | Hitung dan plot RDF untuk poscar |
cxc | Hitung produk titik untuk POSCAR0 dan POSCAR1 menggunakan RDF |
CMP | Bandingkan RDF, Grup Antariksa, dan Volume Poscar0 dan Poscar1 |
SPG | Konversi poscar menjadi str.cif, conv, prim |
CIF | Konversi str.cif menjadi conv dan prim |
redup | Temukan apakah poscar bersifat periodik (3) atau non-periodik (0) |
Vol | Hitung volume per atom untuk struktur kristal atau nano |
membusuk | Putar nanopartikel di sepanjang vektor eigen momen inersia |
mov | Pindahkan atom sepanjang satu arah dengan pergeseran konstan |
kotak | Setel ulang ukuran kotak untuk nanopartikel |
sup | Buat supercell yang ditentukan oleh Na x NB x NC |
Eig | Sel unit shift di poscar di sepanjang fonon eigenmode |
ord | memesan atom berdasarkan spesies |
keluar | Ekstrak foto dari MD atau lintasan relaksasi di VASP |
Direktori 'Contoh/' memiliki sampel pekerjaan MAISE untuk analisis dan manipulasi sel unit, penguraian data, melatih jaringan saraf, mensimulasikan struktur dengan model jaringan saraf, pencarian evolusi untuk keadaan dasar dengan model jaringan saraf, menjalankan dinamika molekuler, dan perhitungan fonon. Contoh EASH memiliki file readme, file pengaturan dengan hanya tag yang relevan untuk pekerjaan tertentu, dan file output referensi untuk perbandingan.
Pemilih Jenis Pekerjaan Utama
Struktur-enviromen
Evos utama
Operasi EVOS
Evos crossover/mutasi
Dinamika molekuler
Terkait spesies
I/o
Model Umum
Model Jaringan Saraf
Pelatihan Jaringan Saraf
Penguraian
Relaksasi sel
Jobt
NMAX MMAX
Kode dene kmsh lbox ndim nitr nnjb npop rand runt seed sitr tini
Blob Chop Invs Mate Mute Pack PLNT Refl Rube 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 waktu
MENANDAI | KETERANGAN |
---|---|
Jobt | Analisis Struktur (00) Gunakan alat analisis yang ditentukan oleh bendera, pencarian evolusi (10) Jalankan (11) EXIT Lembut (12) Analisis EXIT HARD (13), Simulasi Sel (20) Relaksasi (21) Dinamika Molekuler (22) Perhitungan Fonon, Parsing Data (30) Mempersiapkan input untuk Pelatihan NN, Pelatihan NN (40) Pelatihan Penuh (41) Pelatihan bertingkat |
KODE | Jenis kode yang digunakan. (0) maise-int (1) vasp-ext (2) maise-ext |
Npar | Jumlah inti untuk pelatihan NN paralel atau simulasi sel |
Mint | Algoritma pengoptimal untuk pelatihan jaringan saraf dan optimasi sel. (GSL Minimizer Type (0) BFGS2 (1) CG-FR (2) CG-PR (3) Keturunan paling curam |
Mitr | Jumlah maksimum langkah optimasi; Jika akurasi yang diinginkan tidak tercapai untuk pelatihan NN atau langkah optimasi sel |
RLXT | Tipe Optimasi Sel (2) Hanya Kekuatan (3) Volume Sel Lengkap (7) (ISIF di VASP) |
Etol | Toleransi kesalahan untuk pelatihan atau konvergensi optimasi sel |
Tefs | Nilai target pelatihan (0) E (1) EF (2) ES (3) EFS (4) Toy |
Fmrk | Fraksi atom yang akan diuraikan untuk digunakan untuk pelatihan EF atau EFS |
Cout | Tipe Output Dalam file outcar dalam evaluasi dan optimasi sel |
Nmax | Jumlah atom maksimum dalam sel satuan |
Mmax | Jumlah maksimum tetangga dalam radius cutoff |
Nspc | Jumlah jenis elemen untuk pencarian evolusioner, parsing data dan pelatihan jaringan saraf. |
TSPC | Jumlah atom elemen yang ditentukan dengan tag NSPC |
Aspc | Jumlah atom dari setiap elemen untuk pencarian evolusioner |
Nsym | Jumlah Behler-Parrinello Symmetry Functions untuk Parsing Data Menggunakan File "Basis" |
NCMP | Panjang vektor input jaringan saraf |
Ntrn | Jumlah struktur yang digunakan untuk pelatihan jaringan saraf (jumlah negatif berarti persentase) |
Ntst | Jumlah struktur yang digunakan untuk pengujian jaringan saraf (jumlah negatif berarti persentase) |
Nnnn | Jumlah lapisan tersembunyi di jaringan saraf (tidak termasuk input vektor dan output neuron) |
Nnnu | Jumlah neuron di lapisan tersembunyi |
Nngt | Jenis Fungsi Aktivasi untuk Neuron Lapisan Tersembunyi (0) Linear (1) Tanh |
EMAX | Mengurai hanya sebagian kecil dari struktur berenergi terendah ini. Dari 0 hingga 1 |
Fmax | Tidak akan menguraikan data dengan kekuatan yang lebih besar dari nilai ini |
Vmin | Tidak akan mengurai data dengan volume/atom lebih kecil dari nilai ini |
Vmax | Tidak akan menguraikan data dengan volume/atom lebih besar dari nilai ini |
Ndim | Dimensionalitas sel satuan dalam pencarian evolusi dan optimasi sel (3) kristal (2) film (0) Partikel |
Lbox | Dimensi kotak untuk menghasilkan partikel dalam pencarian evolusi di ANG (diabaikan untuk kristal) |
Npop | Ukuran populasi dalam pencarian evolusioner |
Sitr | Mulai iterasi dalam pencarian evolusi (0) mulai dari struktur acak atau tertentu |
Nitr | Jumlah iterasi dalam pencarian evolusi (harus lebih besar dari SITR) |
Tini | Jenis memulai pencarian evolusi saat sitr = 0 |
WAKTU | Waktu maksimum untuk relaksasi sel dalam pencarian evolusi dan optimasi sel |
PGPA | Tekanan dalam IPK |
BUKIT PASIR | Simpan struktur berbeda yang dihasilkan dalam pencarian evolusi di kolam/jika dalam jendela energi/atom (EV/atom) ini dari keadaan dasar |
Kmsh | Kepadatan k-mesh digunakan untuk vasp-evos. Nilai yang Disarankan: 0,30 untuk S/C, 0,05 untuk Logam |
BENIH | Memulai benih untuk generator angka acak dalam pencarian evolusi (0) menggunakan waktu sebagai benih (+) nilai benih |
Rand | Memulai benih untuk penguraian dataset. (0) menggunakan waktu sebagai biji (+) nilai benih (-) Tidak ada pengacakan: Struktur diuraikan dalam urutan daftar |
Tmin | Suhu minimum dalam MD berjalan (k) |
Tmax | Suhu maksimum dalam berjalan MD (k) |
TSTP | Langkah suhu dalam MD berjalan (k) dalam menjalankan bentuk tmin ke tmax |
Delt | Langkah Waktu dalam MD berjalan |
NSTP | Jumlah langkah per suhu dalam MD berjalan |
Cplt | Kopling konstan di termostat hidung-hoover untuk menjalankan MD. Disarankan: 25.0 |
CPLP | Koupling konstan di Brendsen Barostat untuk menjalankan MD. Disarankan: 100.0 |
Icmp | Kompresibilitas isotermal di Brendsen Barostat untuk menjalankan MD (dalam 1/GPa) |
Movi | Jumlah Langkah Setelah itu Snapshot of Struktur akan disimpan selama MD Run |
MDTP | Jenis MD Run (10) NVE (20) NVT: Nose-Hoover (30) NPT: Nose-Hoover dan Brendsen (40) Isobaric (11,21,31,41) berjalan dengan kecepatan yang dibaca dari file poscar dari poscar |
Depo | Jalur ke dataset DFT untuk diuraikan |
DATA | Lokasi data parsed untuk diuraikan atau dibaca untuk pelatihan (akan ditimpa selama parsing) |
OTPT | Direktori untuk menyimpan parameter model dalam proses pelatihan |
Evaluasi | Direktori untuk Data Pengujian Model |
Wdir | Direktori Kerja untuk Pencarian Evolusi, MD Run, dll. |
Tetr | Fraksi struktur yang dihasilkan secara acak menggunakan operasi Tetris. Dari 0 hingga 1 |
PLNT | Fraksi struktur yang dihasilkan dari biji. Dari 0 hingga 1 |
MENGEMAS | Fraksi struktur yang dihasilkan dari struktur paket tertutup. Dari 0 hingga 1 |
GUMPAL | Fraksi struktur yang dihasilkan secara acak menggunakan bentuk gumpalan. Dari 0 hingga 1 |
PASANGAN | Fraksi struktur yang dihasilkan oleh crossover menggunakan dua bagian dari masing -masing induk. Dari 0 hingga 1 |
MENUKAR | Fraksi struktur yang dihasilkan oleh crossover menggunakan inti dan cangkang orang tua. Dari 0 hingga 1 |
ORANG UDIK | Fraksi struktur yang dihasilkan oleh operasi kubus Rubik. Dari 0 hingga 1 |
Refl | Fraksi struktur yang dihasilkan oleh simetriisasi melalui refleksi. Dari 0 hingga 1 |
Invs | Fraksi struktur yang dihasilkan oleh simetriisasi melalui inversi. Dari 0 hingga 1 |
MENCACAH | Fraksi struktur yang dihasilkan dengan memotong untuk membuat segi. Dari 0 hingga 1 |
BISU | Fraksi struktur yang dihasilkan oleh distorsi acak ke struktur. Dari 0 hingga 1 |
Mcrs | 0,50 laju mutasi pada crossover |
Scrs | 0,00 crossover: Tingkat pertukaran |
LCRS | 0,00 crossover: kekuatan mutasi untuk vektor kisi |
ACRS | 0,10 crossover: kekuatan mutasi untuk posisi atom |
SDST | 0,00 Distorsi: Tingkat Pertukaran |
Ldst | 0,00 Distorsi: Kekuatan mutasi untuk vektor kisi |
ADST | 0.20 Distorsi: Kekuatan mutasi untuk posisi atom |
ELP | 0,30 acak: elipsisitas nanopartikel |