A genetic algorithm (GA) for structure prediction of molecular crystals
A genetic algorithm performs global optimization by mimicking an evolutionary process. The property being optimized is mapped onto a fitness function and structures with a higher fitness are assigned a higher probability for mating. Crossover and mutation operators generate offspring by combining or altering the structural genes of parent structures, such that structural features associated with a high fitness are propagated in the population. GAtor performs structure prediction for crystals of (semi-)rigid molecules with no internal rotational degrees of freedom. It is written in Python and distributed under a BSD-3 license. GAtor interfaces with the FHI-aims electronic structure package for energy evaluations and geometry relaxations with dispersion-inclusive density functional theory (DFT). It is recommended to start GAtor from a diverse initial pool of structures generated by Genarris.
- A variety of breeding operators (crossover and mutation) tailored for molecular crystals provide a balance between exploration and exploitation.
- Evolutionary niching, performed by using machine learning for dynamic clustering and then using a cluster-based fitness function, helps overcome initial pool biases and selection biases by steering the GA to under-explored regions of the configuration space.
- A massive parallelization scheme, tested on up to 10^5 CPU cores, enables effective utilization of high performance computing resources.