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


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

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|

ATP_neu1_1.gif

Normal Input for a structure downloaded from Wolfram ChemData repository

ATP_neu1_2.gif

ATP_neu1_3.gif

ATP_neu1_4.gif

ATP_neu1_5.gif

ATP_neu1_6.gif

Analyze the atomic constituents

ATP_neu1_7.gif

ATP_neu1_8.gif

ATP_neu1_9.gif

ATP_neu1_10.gif

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 :

ATP_neu1_11.gif

ATP_neu1_12.gif

Nuclear repulsion

ATP_neu1_13.gif

ATP_neu1_14.gif

Determine bonded pairs by a distance criterion

ATP_neu1_15.gif

ATP_neu1_16.gif

Bonded atom pairs:  distances

ATP_neu1_17.gif

ATP_neu1_18.gif

Subtract proton excentricities

ATP_neu1_19.gif

ATP_neu1_20.gif

ATP_neu1_21.gif

ATP_neu1_22.gif

Subtract core radii

ATP_neu1_23.gif

ATP_neu1_24.gif

Show radii determined

ATP_neu1_25.gif

ATP_neu1_26.gif

Summary of Lewis properties

ATP_neu1_27.gif

ATP_neu1_28.gif

ATP_neu1_29.gif

ATP_neu1_30.gif

Compute kinetic energy terms, bonding clouds, core clouds:

ATP_neu1_31.gif

ATP_neu1_32.gif

ATP_neu1_33.gif

ATP_neu1_34.gif

Total kinetic energy except for π - clouds and lone pairs

ATP_neu1_35.gif

ATP_neu1_36.gif

ATP_neu1_39.gif

ATP_neu1_40.gif

ATP_neu1_41.gif

Determine connectivity matrix:

ATP_neu1_42.gif

ATP_neu1_43.gif

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.

ATP_neu1_44.gif

ATP_neu1_45.gif

ATP_neu1_46.gif

ATP_neu1_47.gif

ATP_neu1_48.gif

ATP_neu1_49.gif

ATP_neu1_50.gif

ATP_neu1_51.gif

ATP_neu1_52.gif

ATP_neu1_53.gif

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.

ATP_neu1_54.gif

ATP_neu1_55.gif

ATP_neu1_56.gif

ATP_neu1_57.gif

ATP_neu1_58.gif

ATP_neu1_59.gif

ATP_neu1_60.gif

ATP_neu1_61.gif

σ Bonding clouds: Connected atom pair, radius of cloud

ATP_neu1_62.gif

ATP_neu1_63.gif

ATP_neu1_64.gif

ATP_neu1_65.gif

ATP_neu1_66.gif

ATP_neu1_67.gif

ATP_neu1_68.gif

Graphics:Cloud radii (bohr)

Plot molecule and its electronic partial constituents

ATP_neu1_70.gif

Graphics:ATP

Graphics:Core skeleton

Graphics:σ skeleton

Graphics:π-clouds on skeleton

Graphics:Lone Pairs

Graphics:H atoms

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

ATP_neu1_77.gif

ATP_neu1_78.gif

ATP_neu1_79.gif

Compute energy components

Interactions for i not j

ATP_neu1_80.gif

Interactions for i equals j

ATP_neu1_81.gif

Kinetic energy of π clouds and lone pairs

ATP_neu1_82.gif

ATP_neu1_83.gif

ATP_neu1_84.gif

Add components of Ne[10] cores; Politzerratio

ATP_neu1_85.gif

ATP_neu1_86.gif

Results (energies in [Eh] Hartree)

ATP_neu1_87.gif

ATP_neu1_88.gif

ATP_neu1_89.gif

ATP_neu1_90.gif

ATP_neu1_91.gif

ATP_neu1_92.gif

ATP_neu1_93.gif

ATP_neu1_94.gif

ATP_neu1_95.gif

ATP_neu1_96.gif

ATP_neu1_97.gif

ATP_neu1_98.gif

ATP_neu1_99.gif

ATP_neu1_100.gif

Created with the Wolfram Language