Determines number of isomers for certain chemical compounds with geometric structures
Written in java. Compile and run Octahedron.java.
Explanation: Geometries are stored as length 12 bit strings. Each bit index maps to an octahedron half edge site, and the presence or absence of a bond at this location is denoted by 0 or 1, respectively. Valid strings are appended to the variable octs. Print out of octs.size() gives number of entities at each iteration. Output of final octs is given in octahedra.txt
Written in python. To use: run main.py.
Explanation: Geometries are stored as a list of Node objects, which have attributes origin (numpy array) and bonds (list of numpy arrays). Origin denotes the cartesian location of the Node and each bond in bonds represents a vector from the origin towards a neighbouring Node origin. Each Node has four neighbours, which results in 16 different bonding possibilities (1x0, 4x1, 6x2, 4x3 and 1x4 bonds). For an octahedron, the six nodes, each with 16 bonding configurations represents the node pool and combinations of these are used to generate all possible isomer configurations.
All software was written as part of the Cronin Lab 2019