Module pour AB Initio Structure Evolution (MAIS)
* Description basée sur le réseau neuronal des interactions interatomiques
* Optimisation évolutive
* Analyse de la structure
1. Informations générales
2. Télécharger et installer
3. Entrée
4. Exemples
5. Configuration de la balise d'entrée Description
MAISE a été développé par
Alexey Kolmogorov [email protected]
Samad hajinazar [email protected]
Ernesto Sandoval [email protected]
La version 2.9 actuelle fonctionne sur les plates-formes Linux et combine 3 modules pour la modélisation, l'optimisation et l'analyse des structures atomiques.
1 Le module du réseau neuronal (NN) construit, teste et utilise des modèles NN pour décrire les interactions interatomiques avec la précision de l'initio quasi-AB à un faible coût de calcul par rapport aux calculs de théorie fonctionnelle de la densité.
Avec l'objectif principal d'utiliser des modèles NN pour accélérer la recherche de structure, la fonction principale du module est de se détendre les structures données. Pour simplifier l'application et la comparaison NN, nous avons étroitement correspondant aux formats de fichiers d'entrée et de sortie avec ceux utilisés dans le logiciel VASP. Des modèles NN paramétrés précédemment disponibles dans le répertoire «Modèles /» ont été générés et testés largement pour les matériaux cristallins et / ou nanostructurés. Les premières applications pratiques du NNS comprennent la prédiction de nouveaux alliages MG-CA et M-SN synthétisables [1-3] ainsi que l'identification de nanoparticules Cu-Pd-Ag et Au plus stables [4,5].
Les utilisateurs peuvent créer leurs propres modèles NN avec la prison qui sont généralement formés sur l'énergie totale de la théorie fonctionnelle de la densité (DFT) et les données de force atomique pour des structures relativement petites. La génération de configurations pertinentes et diverses se fait séparément avec un protocole «d'échantillonnage évolutif» détaillé dans nos travaux publiés [6]. Le code présente une caractéristique unique, «formation stratifiée», de la façon de construire des NN robustes pour les systèmes chimiques avec plusieurs éléments [6]. Les modèles NN sont développés de manière hiérarchique, d'abord pour les éléments, puis pour les binaires, etc., qui permet la génération de bibliothèques réutilisables pour les blocs prolongés dans le tableau périodique.
2 L'algorithme évolutif implémenté (EA) permet une identification efficace des configurations à l'état fondamental à une composition chimique donnée. Nos études ont montré que l'EA est particulièrement avantageuse dans le traitement de grandes structures lorsqu'aucune entrée structurelle expérimentale n'est disponible [7,8].
Les recherches peuvent être effectuées pour les cristaux en vrac 3D, les films 2D et les nanoparticules 0D. La population de structures peut être générée au hasard ou prédéfinie en fonction des informations préalables. Les opérations essentielles sont «croisement», lorsqu'une nouvelle configuration est créée sur la base de deux structures parentales dans la génération précédente et de la «mutation», lorsqu'une structure parent est déformée au hasard. Pour les nanoparticules 0D, nous avons introduit un algorithme évolutif multitribe qui permet une optimisation simultanée efficace des clusters dans une plage de taille spécifiée [4].
3 Les fonctions d'analyse comprennent la comparaison des structures basées sur la fonction de distribution radiale (RDF), la détermination du groupe spatial et les positions Wyckoff avec un package SPGLIB externe, etc. En particulier, le produit DOT de structure basé sur RDF est essentiel pour Éliminer les structures en double dans les recherches EA et sélectionner différentes configurations dans le pool de structures de basse énergie trouvées.
[1] https://pubs.rsc.org/en/content/articlelanding/2018/cp/c8cp05314f#
[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
Le code source de MAIS peut être obtenu à partir de la ligne de commande en exécutant:
git clone git://github.com/maise-guide/maise.git
ou
git clone https://github.com/maise-guide/maise.git
ou
wget -O master.zip https://github.com/maise-guide/maise/archive/master.zip unzip master.zip
1 Utilisez « Make - Jobs » pour une compilation complète. Pour la recompilation, utilisez `` Clean '' pour supprimer les fichiers d'objets ou «rendre un tout» pour supprimer les fichiers d'objets et les bibliothèques externes.
2 Pendant la compilation de MAIS, «Make - Jobs» vérifie si deux bibliothèques externes requises, GSL Library et SPGLIB V1.11.2.1, février 2019, sont présents. Sinon, ils seront automatiquement téléchargés sur ./ext-dep et installés dans ./lib sur la plupart des systèmes.
3 Si l'installation GSL ou SPGLIB n'est pas terminée automatiquement, veuillez les compiler manuellement et copier (i) libgsl.a, libgslcblas.a et libsymspg.a dans le sous-répertoire './lib'; (ii) L'en-tête «spglib.h» dans »./lib/include» sous-répertoire; et (iii) tous les en-têtes GSL dans le sous-répertoire './lib/include/gsl'.
4 Un script «Check» est disponible dans le répertoire './test/' qui peut être exécuté après avoir compilé l'exécutable de la remise pour assurer la fonctionnalité appropriée du code. Ce script vérifie automatiquement les performances du code dans l'analyse des données, la formation du réseau neuronal et l'évaluation d'une structure cristalline. Si la compilation est bien, le script «Check» sera sorti ainsi; Sinon, les journaux d'erreur seront fournis avec plus d'informations sur le problème.
Le code a été largement testé sur les plates-formes Linux. Nous apprécierons les commentaires des utilisateurs sur l'installation et les performances du package sur différentes plates-formes.
Les principaux fichiers d'entrée qui définissent une simulation sont la «configuration» avec des paramètres de travail, le «modèle» avec les paramètres NN, et «poscar» avec des paramètres de structure atomique au format VASP. La conversion des environnements atomiques en entrées NN pendant l'étape d'analyse du développement NN nécessite un fichier «base» qui spécifie les fonctions de symétrie Behler-Parrinello.
| Evos | Nnet | CELLULE | |||||
| RECHERCHE | EXAMEN | Analyse | FORMER | TEST | Simul | EXAMEN | |
| installation | + | + | + | + | + | + | |
| modèle | + * | + # | + # | ||||
| base | + | $ | |||||
| SPG | + | + | |||||
| Gsl | + | + | |||||
| * Pour la formation stratifiée, on a besoin pour fournir des modèles individuels $ 'Base' stocké dans le répertoire analysé est annexé au «modèle» à la fin de la formation # 'modèle' a une «base» collée à la fin une fois l'entraînement terminé | |||||||
Les fonctions d'examen et de manipulation de la structure sont exécutées en appelant MAISE avec un drapeau:
maise -flag
| Drapeau | Description du drapeau |
|---|---|
| homme | Sortir la liste des drapeaux disponibles |
| RDF | calculer et tracer le RDF pour poscar |
| cxc | Calculez le produit DOT pour POSCAR0 et POSCAR1 en utilisant RDF |
| cmp | Comparez le RDF, le groupe spatial et le volume de POSCAR0 et POSCAR1 |
| SPG | convertir poscar en str.cif, conv, prim |
| cif | convertir str.cif en conv et prim |
| faible | Découvrez si POSCAR est périodique (3) ou non périodique (0) |
| vol | calculer le volume par atome pour les cristaux ou les nano-structures |
| pourrir | faire tourner une nanoparticule le long des vecteurs propres de moments d'inertie |
| se déplacer | déplacer les atomes le long d'une direction par un décalage constant |
| boîte | Réinitialisez la taille de la boîte pour les nanoparticules |
| souper | Faire une supercell spécifiée par Na x NB X NC |
| veille | Shift Unit Cell in Poscar le long d'un mode propre phonon |
| ordonner | Ordre les atomes par espèces |
| dehors | Extraire des instantanés de la MD ou des trajectoires de relaxation en VASP |
Le répertoire «Exemples /» a des échantillons de travaux de lass pour l'analyse et la manipulation des cellules unitaires, l'analyse des données, la formation de réseaux de neurones, les structures simulantes avec des modèles de réseaux neuronaux, la recherche évolutive du modèle de réseau neuronal à l'état fondamental, le cycle de dynamique moléculaire et le calcul du phon-phon. L'exemple EASH a un fichier ReadMe, un fichier de configuration avec uniquement des balises pertinentes pour le travail particulier et des fichiers de sortie de référence à la comparaison.
Sélecteur de type d'emploi principal
Structure-environ
Evos principaux
Opérations EVOS
Croisement d'évos / mutation
Dynamique moléculaire
Liés aux espèces
E / S
Modèle général
Modèle de réseau neuronal
Formation du réseau neuronal
Analyse
Relaxation cellulaire
Jobt
Nmax Mmax
Code dene kmsh lbox ndim nitr nnjb npop rand runnt seed sitr tini
Blob hop invs mate mue pack plnt refle
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 Temps
| ÉTIQUETER | DESCRIPTION |
|---|---|
| Jobt | Analyse de la structure (00) Utiliser des outils d'analyse spécifiés par les drapeaux, Recherche évolutive (10) RUN (11) Exit doux (12) Analyse de sortie dure (13), Simulation cellulaire (20) Relaxation (21) Dynamique moléculaire (22) Calculs de phonon, Analyse de données (30) Préparer les intrants pour la formation NN, la formation NN (40) Formation complète (41) Formation stratifiée |
| CODE | Type du code utilisé. (0) MAIS-INT (1) VASP-Text (2) MAIS-EXT |
| NPAR | Nombre de noyaux pour la formation NN parallèle ou la simulation cellulaire |
| MENTHE | L'algorithme Optimizer pour la formation du réseau neuronal et l'optimisation des cellules. (type de minimiseur GSL (0) BFGS2 (1) CG-Fr (2) CG-PR (3) Descente la plus abrupte |
| Mitr | Nombre maximum des étapes d'optimisation; Si la précision souhaitée n'est pas atteinte pour la formation NN ou les étapes d'optimisation des cellules |
| Rlxt | Type d'optimisation des cellules (2) Force uniquement (3) Volume de cellule complète (7) (ISIF en VASP) |
| Etol | Tolérance aux erreurs pour la formation ou la convergence d'optimisation des cellules |
| TEFS | Valeur cible de formation (0) E (1) EF (2) ES (3) EFS (4) Toy |
| FMRK | Fraction des atomes qui seront analysés à utiliser pour les formations EF ou EFS |
| Couter | Type de sortie dans le fichier Outcar dans l'évaluation et l'optimisation des cellules |
| Nmax | Nombre maximum d'atomes dans la cellule unitaire |
| Mmax | Nombre maximum de voisins dans le rayon de coupure |
| Nspc | Nombre de types d'éléments pour la recherche évolutive, analysant les données et la formation du réseau neuronal. |
| Tspc | Nombre atomique des éléments spécifiés avec la balise NSPC |
| ASPC | Nombre d'atomes de chaque élément pour la recherche évolutive |
| Nsym | Nombre des fonctions de symétrie Behler-Parrinello pour l'analyse des données à l'aide du fichier "Baser" |
| NCMP | La longueur du vecteur d'entrée du réseau neuronal |
| NTRN | Nombre de structures utilisées pour le réseau de réseau neuronal (nombre de moyens négatifs pour pourcentage) |
| Ntst | Nombre de structures utilisées pour les tests de réseau neuronal (pourcentage de moyens de nombre négatif) |
| Nnnn | Nombre de couches cachées dans le réseau neuronal (n'inclut pas le vecteur d'entrée et le neurone de sortie) |
| Nnnu | Nombre de neurones en couches cachées |
| Nngt | Type de fonction d'activation pour les neurones des couches cachés (0) linéaire (1) TANH |
| Emax | Analyser uniquement cette fraction de structures à énergie la plus basse. De 0 à 1 |
| Fmax | N'analysera pas les données avec des forces supérieures à cette valeur |
| Vmin | N'analysera pas les données avec un volume / atome plus petit que cette valeur |
| Vmax | N'analysera pas les données avec un volume / atome supérieur à cette valeur |
| Ndim | Dimensionnalité de la cellule unitaire dans la recherche évolutive et l'optimisation des cellules (3) Crystal (2) Film (0) Particule |
| Lbox | Dimension de la boîte pour générer des particules dans la recherche évolutive dans les angs (ignoré pour les cristaux) |
| Npop | Taille de la population dans la recherche évolutive |
| Sitr | Démarrage de l'itération dans la recherche évolutive (0) Commencez à partir de structures aléatoires ou spécifiées |
| Nitr | Nombre d'itérations dans la recherche évolutive (devrait être plus grande que SITR) |
| Inonique | Type de démarrage de la recherche évolutive lorsque Sitr = 0 |
| TEMPS | Temps maximum pour la relaxation cellulaire dans la recherche évolutive et l'optimisation des cellules |
| PGPA | Pression en GPA |
| Dégéniture | Stockez des structures distinctes générées dans la recherche évolutive dans Pool / If dans cette fenêtre d'énergie / atome (EV / ATOM) de l'état fondamental |
| Kmsh | Densité de k-mails utilisée pour VASP-evos. Valeurs suggérées: 0,30 pour S / C, 0,05 pour les métaux |
| GRAINE | Démarrer les graines pour le générateur de nombres aléatoires dans la recherche évolutive (0) utilise le temps comme graine (+) la valeur des graines |
| RAND | Démarrage de la graine pour l'analyse de l'ensemble de données. (0) utilise le temps comme semence (+) La valeur des semences (-) pas de randomisation: les structures sont analysées dans l'ordre de liste |
| TMIN | Température minimale dans les courses MD (K) |
| Tmax | Température maximale dans les courses MD (K) |
| Tstp | Étape de température dans MD Runs (K) en fonction de la forme TMIN à TMAX |
| Delt | Le pas de temps dans le MD fonctionne |
| NSTP | Nombre d'étapes par température dans les courses MD |
| Cplt | Construction constante dans le thermostat de nez-hoover pour les courses MD. Suggéré: 25.0 |
| CPLP | Construction constante dans Brendsen Barostat pour MD Runs. Suggéré: 100.0 |
| ICMP | Compressibilité isotherme dans le barostat de Brendesen pour les courses MD (en 1 / GPA) |
| Movit | Nombre d'étapes après quoi un instantané de structure sera enregistré pendant la course MD |
| MDTP | MD Run Type (10) NVE (20) NVT: Nose-Hoover (30) NPT: Nose-Hoover et Brendesen (40) ISOBARIC (11,21,31,41) Runs with Velocisités Lire dans le fichier Poscar |
| Dépo | Chemin vers les ensembles de données DFT à analyser |
| DONNÉES | Emplacement des données analysées pour analyser ou lire pour la formation (sera écrasée pendant l'analyse) |
| Exercer | Répertoire pour stocker les paramètres du modèle dans le processus de formation |
| Évaluer | Répertoire des données de test de modèle |
| Wdir | Répertoire de travail pour la recherche évolutive, les courses MD, etc. |
| Tétron | La fraction des structures générée aléatoirement en utilisant le fonctionnement de Tetris. De 0 à 1 |
| PLNT | Fraction des structures générées à partir des graines. De 0 à 1 |
| PAQUET | Fraction des structures générées à partir de structures de pack fermées. De 0 à 1 |
| GOUTTE | La fraction des structures a généré de manière aléatoire à l'aide de la forme du blob. De 0 à 1 |
| COPAIN | Fraction des structures générées par croisement en utilisant deux moitiés de chaque parent. De 0 à 1 |
| ÉCHANGER | Fraction des structures générées par croisement en utilisant le noyau et la coquille des parents. De 0 à 1 |
| PÉQUENAUD | Fraction des structures générées par le fonctionnement du cube de Rubik. De 0 à 1 |
| Réfléchir | Fraction des structures générées par symétrisation par réflexion. De 0 à 1 |
| Invs | Fraction des structures générées par symétrisation par inversion. De 0 à 1 |
| HACHER | Fraction des structures générées par hachage pour faire des facettes. De 0 à 1 |
| MUET | Fraction des structures générées par des distorsions aléatoires à la structure. De 0 à 1 |
| MCR | 0,50 taux de mutation en croisement |
| SCR | 0,00 croisement: taux d'échange |
| LCR | 0,00 Crossover: Force de mutation pour les vecteurs de réseau |
| Acrs | 0.10 Crossover: Force de mutation pour les positions atomiques |
| SDST | 0,00 distorsion: taux d'échange |
| Ldst | 0,00 distorsion: résistance à la mutation pour les vecteurs de réseau |
| Adst | 0,20 Distorsion: force de mutation pour les positions atomiques |
| Elps | 0,30 aléatoire: l'ellipticité des nanoparticules |