PeroStruc: Disordered Perovskite Monte Carlo Optimizer

A Python package for sampling compositional and geometric structures of complex perovskites (e.g., \(\mathrm{Pb\left(Mg_{1/3}Nb_{2/3}\right)O_3}\)) and perovskite solid solutions (e.g., \(\mathrm{Pb_{x}Sr_{1-x}TiO_3}\)).

The package uses a hybrid Molecular Dynamics (MD) and Monte Carlo (MC) approach called FIRESwap:

  • Propose a trial move by swapping A-site (or B-site) species;

  • Optimize the new strucutre;

  • Compute the energy difference between the old and new structures;

  • Accept/reject using the Metropolis criterion;

  • Repeat to obtain low-energy configurations and statistics.