XtalOpt is a free and truly open source evolutionary algorithm designed for a priori crystal structure prediction.

Download today

What is new?

Learn more



Space Group Generator

RandSpg is an algorithm developed by Patrick Avery. RandSpg generates random crystals of specific spacegroups and allows the user to specify a lot of information such as minimum interatomic distances, volume constraints, etc.

The source code is available under the "New" BSD open source license and may be viewed at its Github repository.

RandSpg

If you encounter any bugs, please email psavery@buffalo.edu



News


Avogadro2 Updates

Our Ph.D. student, Patrick Avery, was accepted to the Google Summer of Code 2016!!!

He has been working on Avogadro2.

You can read about his most recent work on his blog.

XtalOpt Version r9.0 Released!

  • Customizable polling interval for updating remote queue information.
  • Automatic removal of remote working files optional.
  • xtalopt-queue.png
  • Optional removal of unnecessary files for VASP calculations.
  • Added a new "mitosis" function used to generate higher local order for initial structures.

    mitosis.png

    Options for the "mitosis" function found in the "Structure Limits" tab.

  • Option to rank all current structures and export structures to a new subdirectory as .cml, CONTCAR, or .got.
  • Limit the total number of structures created during a run.
  • New option to replace a failing structure with a new offspring.
  • Ability to “inject” (seed) a structure mid-run
  • Minimum atomic separation now specified as a fraction of the sum of atomic radii, with a hard minimum.
  • Submission of remote calculations is throttled to ease DRMS load.
  • More server-friendly method of fetching queue data.
  • Support for GULP shell/core calculations added.
  • Incorporated the XtalComp library for duplicate structure removal (niching).

  • xtalopt-dup.png

  • Fix compilation against Qt 4.6.3 and 4.8.0.
  • Updated space-group detection library to spglib 1.0.8.
  • Bundled libssh library removed, now an optional dependency.
  • Added option to use command-line ssh/scp interfaces when libssh is unavailable or Kerberos authentication is needed.
  • Implemented an extension for an automated stochastic docking program (RandomDock) that supports MOPAC, ADF, GAMESS and Gaussian as back-end molecular quantum chemistry engines.
  • Numerous misc bugfixes.



XtalOpt


XtalOpt is implemented as an extension to the Avogadro molecular editor.

avogadro-logo.png + xtalopt-logo.png

Check out a few of the features:

User Interface Mutation Operators

avogadro-screenshot.png

Screenshot of Avogadro visualizing a 16 x TiO2 cell.




User Interface

Structure Limits

xtalopt-init.png

The "Structure Limits" tab

  • This tab is where the user defines the parameters of the each cell generated during the search.
  • The user can specify the stoichiometry for each cell (e.g., 16 x Ti and 32 x O).
  • A range can be set for the length of each cell vector (a, b, and c) and the corresponding angles (α, β, and γ).
  • The combination of the cell vector lengths determines the cell volume, but the user can set a limited range for the volume, or even a fixed volume.
  • Limiting the interatomic distances ensures the program is not generating nonsensical structures.

Optimization Settings


  • Choose from several queueing systems and optimizer combinations.
  • Queue systems supported include: SLURM, PBS, LSF, etc.
  • Optimizers include: VASP, GULP, CASTEP, etc.
xtalopt-opt.png

The "Optimization Settings" tab

Search Settings

xtalopt-search.png

The "Search Settings" tab


  • "Search Settings" is where the user can alter how the search will procede.
  • The number of randomly generated initial structures and number of concurrently running structures are controlled in this tab.
  • The termination criteria of final number of structures can be set here, as well.
  • Users can adjust the percentage of occurence of each operator type.
  • Furthermore, the individual parameters of each opertaor can be fine tuned (number of exchanges in a "permustrain" or minimum contribution from a parent during a "crossover").
  • Duplicate matching parameters are also found here.

Progress

xtalopt-prog.png

The "Progress" tab

Plot

xtalopt-plot-opt.png

The "Plot" tab showing optimized (blue) structures

xtalopt-plot-opt+dup.png

The "Plot" tab showing optimized (blue) and duplicate (green) structures




Mutation Operators


Strain


xtalopt-strain.png

Exchange

xtalopt-exchange.png

Ripple

xtalopt-ripple.png

Crossover


xtalopt-crossover.png


Supporters

ub-logo.png nsf_seal_scaled.png
ub-ccr-logo.jpg