Skip to content

Latest commit

 

History

History
27 lines (15 loc) · 1.56 KB

README.md

File metadata and controls

27 lines (15 loc) · 1.56 KB

polyhedral isomers

Determines number of isomers for certain chemical compounds with geometric structures

Method A:

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

Method B:

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.

Authors

All software was written as part of the Cronin Lab 2019


License

MIT