Quantitative electronic Lewis structure derived from nuclear coordinates of a molecule:

Formaldehyde

All computations are transparent and annotated. The run lasts about 1 sec on a i7-4690 CPU. (ES 16 June 2013/ 16 January 2017).

Structure from Wolfram ChemData.

Input and Definitions

The coordinates are read in pm. We are using atomic units, the universally applied system of theoretical chemistry and (micro) physics, see NIST. Length data are in Bohr : 1 a0 = 0.52917721 Å = 52.917721 pm; electric charges in ± electron charges, and energies in Hartrees : 1 Eh = 2 Rydberg = 627.5095 kcal/mol = 2625.50 kJ/mol.

Normal Input for a structure given as a table with rows: |Atom_symbol x y z|

Normal Input for a structure downloaded from Wolfram ChemData repository

Analyze the atomic constituents

Unique nuclei | C | H | O |

··· number | 1 | 2 | 1 |

··· nuclear charge | 6 | 1 | 8 |

··· core cloud charge | -2 | 0 | -2 |

··· valence electrons | 4 | 1 | 6 |

··· full Lewis shell | 8 | 2 | 8 |

··· Core radii | 0.26 | 0 | 0.178 |

Analyze Lewis structure

Compute Kimball radii from distance matrix, show core radii derived from CH4, NH3, H2O gauge molecules (cnofhydb.pas), (cnofhydb.ex_ to be renamed into runnable cnofhydb.exe after download), H excentricities, and number of σ bonds.

Distance Matrix :

Nuclear repulsion

Determine bonded pairs by a distance criterion

Bonded atom pairs: distances

Subtract proton eccentricities

Subtract core radii

Show radii determined

Summary of Lewis properties

Compute kinetic energy terms, bonding clouds, core clouds:

Total kinetic energy except for π - clouds and lone pairs

Determine connectivity matrix:

Localize double bonds and positions of π-clouds (PItrans.m)

Transform the triangle of every target atom with two of its neighbors into the xy-plane and attach π-clouds above and below the plane to the target. Then back transform the π-clouds into the molecular coordinate array.

Localize lone pairs, compute size and orientation:

Subroutines: XOtrans.m
XOYtrans.m
CNCtrans.m
LpyrNtrans.m

Transform the triangle of every target atom with two of its neighbors into the xy-plane and attach lone pair(s). Then back transform the lone pair(s) into the molecular coordinate array. See one of the subroutines. LpyrNtrans puts the base atoms of a pyramid into the xy plane and attaches LP’s as needed, then moves these back into the molecule.

σ Bonding clouds: Connected atom pair, radius of cloud

Plot molecule and its electronic partial constituents

Add coordinates of π-clouds and lone pairs. Prepare interaction matrices:

Compute energy components

Interactions for i not j

Interactions for i equals j

Kinetic energy of π clouds and lone pairs

Add components of Ne[10] cores; Politzerratio

Results (energies in [Eh] Hartree)