Skip to content

The Otago Research Genetic Algorithm for Nanoclusters, Including Structural Methods and Similarity (Organisms) program is a genetic algorithm designed to globally optimise nanoclusters (also known as clusters or nanoparticles)

License

Notifications You must be signed in to change notification settings

krim4ik/Organisms

 
 

Repository files navigation

The Otago Research Genetic Algorithm for Nanoclusters, Including Structural Methods and Similarity (Organisms) Program: A Genetic Algorithm for Nanoclusters

PyPI - Python Version GitHub release (latest by date) PyPI Conda Documentation Status Binder GitHub

The Otago Research Genetic Algorithm for Nanoclusters, Including Structural Methods and Similarity (Organisms) program is designed to perform a genetic algorithm global optimisation for nanoclusters. It has been designed with inspiration from the Birmingham Cluster Genetic Algorithm and the Birmingham Parallel Genetic Algorithm from the Roy Johnston Group (see J. B. A. Davis, A. Shayeghi, S. L. Horswell, R. L. Johnston, Nanoscale, 2015,7, 14032 (https://doi.org/10.1039/C5NR03774C or link to pdf here), R. L. Johnston,Dalton Trans., 2003, 4193–4207 (https://doi.org/10.1039/B305686D or link to pdf here

If you are new to the Organisms program, it is recommended try it out by running Organisms live on our interactive Jupyter+Binder page before you download it. On Jupyter+Binder, you can play around with the Organisms program on the web. You do not need to install anything to try Organisms out on Jupyter+Binder.

Click the Binder button below to try Organisms out on the web! (The Binder page may load quickly or may take 1 or 2 minutes to load)

Binder

This program has been designed to learn about how to improve the efficiency of the genetic algorithm in locating the global minimum. This genetic algorithm implements various predation operators, fitness operators, and epoch methods. A structural comparison method based on the common neighbour analysis (CNA) has been implemented into a SCM-based predation operator and ''structure + energy'' fitness operator.

The SCM-based predation operator compares the structures of clusters together and excludes clusters from the population that are too similar to each other. This can be tuned to exclude clusters that are structurally very similar to each other, to exclude clusters that are structurally different but of the same motif, or set to a custom structural exclusion setting.

The ''structure + energy'' fitness operator is designed to include a portion of structural diversity into the fitness value as well as energy. The goal of this fitness operator is to guide the genetic algorithm around to unexplored areas of a cluster's potential energy surface.

This genetic algorithm has been designed with Atomic Simulation Environment (ASE, https://wiki.fysik.dtu.dk/ase/). with the use of ASE, clusters that are generated using the genetic algorithm are placed into databases that you can assess through the terminal or via a website. See more about how to the ASE database works in the link here.

The CNA has been implemented using ASAP3 (As Soon As Possible). See https://wiki.fysik.dtu.dk/asap for more information about ASAP3.

All the information about this program is found online at organisms.readthedocs.io/en/latest/. It is recommended to read the installation page before using the algorithm (organisms.readthedocs.io/en/latest/Installation.html). Note that you can install Organisms through pip3 and conda. See the installation instructions on how to do this.

Have fun!

About

The Otago Research Genetic Algorithm for Nanoclusters, Including Structural Methods and Similarity (Organisms) program is a genetic algorithm designed to globally optimise nanoclusters (also known as clusters or nanoparticles)

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.9%
  • Shell 0.1%