General information
Module for ab initio structure evolution (MAISE) is a C-based code for Linux platforms developed since 2009. It was originally designed as an evolutionary optimization engine interfaced with external density functional theory (DFT) packages to enable unconstrained ground state structure searches. The primary function of the present MAISE package is the construction of NN interatomic models for accurate mapping of ab initio potential energy surfaces.
Main features
Current MAISE version 2.3.13 (12 May 2021) features
neural network-based description of interatomic interactions
evolutionary optimization
structure analysis
1. The neural network (NN) module builds, tests, and uses NN models to describe interatomic interactions with near ab initio accuracy at a low computational cost compared to density functional theory calculations.
With the primary goal of using NN models to accelerate structure search, the main function of the module is to relax given structures. To simplify the NN application and comparison, we closely matched the input and output file formats with those used in the VASP software. Previously parameterized NN models available in the ‘models/’ directory have been generated and extensively tested for crystalline and/or nanostructured materials. First practical applications of NNs include the prediction of new synthesizable Mg-Ca alloys [1] and identification of more stable Cu-Pd-Ag nanoparticles [2].
Users can create their own NN models with MAISE which are typically trained on DFT total energy and atomic force data for relatively small structures. The generation of relevant and diverse configurations is done separately with an ‘evolutionary sampling’ protocol detailed in our published work [3]. The code introduces a unique feature, ‘stratified training’, of how to build robust NNs for chemical systems with several elements [3]. NN models are developed in a hierarchical fashion, first for elements, then for binaries, and so on, which enables generation of reusable libraries for extended blocks in the periodic table.
2. The evolutionary algorithm (EA) enables an efficient identification of ground state configurations at a given chemical composition. Our studies have shown that the EA is particularly advantageous in dealing with large structures when no experimental structural input is available [3], [4].
The searches can be performed for 3D bulk crystals, 2D films, and 0D nanoparticles. Population of structures can be generated either randomly or predefined based on prior information. Essential operations are ‘crossover’, when a new configuration is created based on two parent structures in the previous generation, and ‘mutation’, when a parent structure is randomly distorted. For 0D nanoparticles we have introduced a multitribe evolutionary algorithm that allows an efficient simultaneous optimization of clusters in a specified size range [2].
3. The analysis functions include the comparison of structures based on the radial distribution function (RDF), the determination of the space group and the Wyckoff positions with an external SPGLIB package, etc. In particular, the RDF-based structure dot product is essential for eliminating duplicate structures in EA searches and selecting different configurations in the pool of found low-energy structures.
An overview of the MAISE predictions and capabilities can be found in Ref. [5].
Inputs and libraries
Main input files that define a simulation are setup
with job
settings, model
with NN parameters, and basis
with the symmetry
functions converting a structure into the NN input. The atomic
structure is read from the POSCAR
file that follows the VASP format.
EVOS |
NNET |
CELL |
|||||
SEARCH |
EXAM |
PARSE |
TRAIN |
TEST |
SIMUL |
EXAM |
|
setup |
o |
o |
o |
o |
o |
o |
|
model |
o ! |
o # |
o # |
||||
basis |
o |
$ |
|||||
SPG |
o |
o |
|||||
GSL |
o |
o |
! for stratified training one needs to provide individual models
$ 'basis' stored in the parsed directory is appended to 'model' at the end of the training # 'model' has 'basis' pasted at the end once training is finished |
Units
All calculations within MAISE are done in electronvolts (eV) and Angstroms (A) for energies and distances, respectively.
The parameter units in the setup
file are described in the
corresponding sections, e.g., GPa for pressure, K for temperature, and
seconds or femtoseconds for time.
The Behler-Parrinello symmetry functions for converting atomic
environments into neural network inputs were originally given in
Bohrs. Hence, the parameters in the basis
file are usually defined
in Bohrs but they can be specified in Angstroms as well by setting the
conversion factor to 1.
Output energies, enthalpies, and volumes are given either per structure or per atom depending on the job type.
Resources
Latest information can be found on MAISE front page.
The source code, neural network models, and examples are available on Github repository.
The dev team welcomes questions, suggestions, and bug reports submitted to this Forum.
The package has been developed at the Univesity of Oxford (2009-2012) and Binghamton University (2012-present) by

Alexey Kolmogorov |
|
Samad Hajinazar |
|
Ernesto Sandoval |
|
Aidan Thorn |
|
Saba Kharabadze |
Funding support
2018-2021 NSF award (Binghamton, US)
2014-2018 NSF award (Binghamton, US)
2008-2013 EPSRC CAF (Oxford, UK)