0% found this document useful (0 votes)
6 views3 pages

IG Documentation

The Isomers Generator program, created by Lorenzo Tinacci, generates all possible structural isomers and resonance structures for chemical formulas containing H, C, N, and O. It utilizes a graph-based approach to systematically create molecular structures through a series of steps, including forming skeletons, adding hydrogen atoms, and assigning bonds. The code is organized in a flow chart that illustrates the process of generating these molecular graphs.

Uploaded by

yassirsalama12
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views3 pages

IG Documentation

The Isomers Generator program, created by Lorenzo Tinacci, generates all possible structural isomers and resonance structures for chemical formulas containing H, C, N, and O. It utilizes a graph-based approach to systematically create molecular structures through a series of steps, including forming skeletons, adding hydrogen atoms, and assigning bonds. The code is organized in a flow chart that illustrates the process of generating these molecular graphs.

Uploaded by

yassirsalama12
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Isomers Generator

Lorenzo Tinacci

March 2020

The program takes as input the number of atoms in a chemical stoichiometric formula, for now it is only
available for this list of atoms: H, C, N and O. The code’s goals is to give all the possible way to combine,
with a chemical meaning, the input atoms. So it is a code that will produce all the structural isomers and
resonance structures. The easy way to work with the molecules, for this kind of purpose, it is to use a graph
based approach (from now on we will refer to it using the term: molecular-graph).
The code is it organized in a flow chart of operation to achieve the molecules. In the next figure it is show
the tree-graph related to all the process of the code, in the case of HCN.

Figure 0.1: Genealogical molecular graph tree of the operations to achieve the molecules, in the HCN
example.

The first step, node 0 or root of the molecular-graph, of the code is to extract only the possible atoms that
will form the "skeleton" of the molecules, so we are not going to consider hydrogen atoms because are always
terminals. Moreover we are not consider the atom type. In the next figure it is showed this step.

Figure 0.2: Node 0 of the molecular graph tree 0.1.

The second step is to create all the possible way to connect the "skeleton" molecules. In the case that we
are studying now, there is only possibility. In the next figure it is showed this step.
2

Figure 0.3: Node 1 of the molecular graph tree 0.1.

The third step is to create all the possible combination to colored the "skeleton" molecules, in other words:
assigning the atoms in the node 1, figure 0.3. In the case that we are studying now, there is only possibility.
In the next figure it is showed this step. In our figures we will refer to H, C, N and O respectively with the
grey, black, blue and red colors.

Figure 0.4: Node 2 of the molecular graph tree 0.1.

The next step is to create all the possible combination to add the hydrogen atoms in the colored molecules
in the node 2, figure 0.4. In the case that we are studying now, there are two possibilities. In the next figure
it is showed this step.

(a) Node 3. (b) Node 4.

Figure 0.5: Node 3 and 4 of the molecular graph tree 0.1.

The next step is to create all the possible combination to add the bonds, double and triple, to the molecules
in the 0.5. To show how the code works we will show only the case of the node 4, figure 0.5b, in this case
there are three possibilities. In the next figure it is showed this step. In our figures we will refer to single,
double and triple bond respectively with the solid, dashed and dot line style.

(a) Node 8. (b) Node 9. (c) Node 10.

Figure 0.6: Node 8,9 and 10 of the molecular graph tree 0.1.
3

The next step is to create all the possible electronic structures of the molecules. In other words, in this step,
we will put the electrons not used in bonds in all the allowed possibilities to assign non-bond electron to
the atoms. Then we will used the max spin maximum spin multiplicity principle, or Hund’s Rule, to assign
the number of radicals and lone pairs of each atoms. To show how the code works we will show the case
of the node 9, figure 0.6b, and 10, 0.6c. In next figure, related to the node 9, figure 0.6b, we will show the
properties of the three possibilities.

(a) Node 25.

(b) Node 26.

(c) Node 27.

Figure 0.7: Node 25,26 and 27 of the molecular graph tree 0.1.

In the next figure, related to the node 10, figure 0.6c, we will show the properties of the one possibility.

Figure 0.8: Node 28 of the molecular graph tree 0.1.

To try the code, and visualize the compute molecules, go to this link: GoogleColabTinacci

You might also like