Localized orbital centroid analysis

How to do localised orbital centroid analysis of a molecule as in the paper by Vidossich and Lledos:

Scripts:

  • orblocfind.py (Python3 script that finds localized orbitals in localized-orbital output of ORCA-outputfile with threshold of X or more)

  • getorbitals.sh (bash wrapper script around orca_plot to create Cube files from ORCA orbital files. Modify to give location of orca_plot).

  • orbcentroid-openshell-v1.py (Python3 script that calculates orbital density centroids from localised orbital Cube files.).

Scripts can be downloaded from a Github repository.

Tutorial for [PdCl4]2-

1. Calculate localised orbitals (e.g. Pipek Mezey or IAO-BO by Knizia ) using ORCA.

Example input (pdcl4.inp):

! B97-3c tightscf Grid4 FinalGrid5
%loc
LocMet PM
end
*xyz -2 1
Pd 0.125239 -0.000000 -0.521828
Cl 2.060659 -1.059704 -1.438936
Cl 0.124805 -1.562606 1.285617
Cl 0.125673 1.562606 -2.329273
Cl -1.810182 1.059704 0.395280
*

This gives the localised orbitals in the file pdcl4.loc.

2. Create Cube files for all relevant occupied localized orbitals of the molecule.

FOUND - 20 strongly local MO`s
- 4 two center bond MO`s
- 0 significantly delocalized MO`s

Rather strongly localized orbitals:
MO 39: 4Cl - 0.989063
MO 38: 4Cl - 0.995753
MO 37: 4Cl - 0.988140
MO 36: 3Cl - 0.989063
MO 35: 3Cl - 0.995751
MO 34: 3Cl - 0.988114
MO 33: 2Cl - 0.989063
MO 32: 2Cl - 0.995751
MO 31: 2Cl - 0.988114
MO 30: 1Cl - 0.989063
MO 29: 1Cl - 0.995753
MO 28: 1Cl - 0.988140
MO 27: 0Pd - 1.003190
MO 26: 0Pd - 0.988985
MO 25: 0Pd - 1.000314
MO 24: 0Pd - 1.006831
MO 23: 0Pd - 1.003480
MO 22: 0Pd - 1.003191
MO 21: 0Pd - 1.003482
MO 20: 0Pd - 1.008076
Bond-like localized orbitals:
MO 43: 4Cl - 0.794132 and 0Pd - 0.197253
MO 42: 3Cl - 0.794106 and 0Pd - 0.197275
MO 41: 2Cl - 0.794106 and 0Pd - 0.197275
MO 40: 1Cl - 0.794132 and 0Pd - 0.197253

By examining the localised orbital ORCA output one can pick and choose specific orbitals or choose e.g. a large range.

Let's here choose to analyse all valence orbitals of the molecule, MOs 20-43. This includes the Palladium 4s (MO20), 4p (MOs 21,23,25) and 4d orbitals (22,24,26,27; the dx2-y2 orbital is unoccupied), the Chlorine 3s and 3p strongly local orbitals (MOs 28-39) and the Pd-Cl bonding orbitals (MOs 40-43). The Mulliken populations here already indicate that the bonding orbitals are primarily chloride-based.

The orblocfind.py script can also be conveniently used to find orbitals associated with a specific element (e.g. Pt) that have population of X or higher:

orbloc-find.py pdcl4.out Pd 0.3

Output:

Alpha orbitals to be plotted with getorbitals:

20 21 22 23 24 25 26 27

Cube files from the localised orbitals can be created by orca_plot or more conveniently by the getorbitals.sh script. Modify getorbitals.sh script to specify orca_plot location, grid density etc.

getorbitals.sh pdcl4.loc alpha 20 43

This will create a list of Cube files:

pdcl4.mo20a-dens.cube
pdcl4.mo21a-dens.cube
....

3. Run orbcentroid-openshell script in the directory containing all the localised orbitals for the molecule. Note that the directory should only contain Cubefiles for the same molecule and same geometry.

orbcentroid-openshell.py -simple (run just orbcentroid-openshell.py to see options)

The script will read each cube file (e.g. pdcl4.mo20a.cube), get the orbital density (prints out if requested pdcl4.mo20a-dens.cube) and then calculates the center of electron charge from the orbital density, a.k.a. centroid or barycentre.

The script output:

Reading orbital file: pdcl4-optgeo-SP.mo20a.cube
Wrote orbital density file as: pdcl4-optgeo-SP.mo20a-dens.cube
Sum of density values is: 55.77302465106467
Number of density values is 512000
Number of orb values is 512000
Orbital-density centroid (Bohrs): 0.23623730154110023 0.0002760832527763559 -0.9859753848007207
Orbital-density centroid (Angstrom): 0.1250113465176148 0.0001460969074544337 -0.521755496202691
Wrote Mol-centroids.xyz with orbital-density centroids for all cubefile (as X):
----------------------------------------
Reading orbital file: pdcl4-optgeo-SP.mo21a.cube
Wrote orbital density file as: pdcl4-optgeo-SP.mo21a-dens.cube
...

4. Analyze.

The script also prints out an XYZ file : Mol-centroids.xyz that contains the molecular coordinates in Ă… (taken from the last Cube file) and the centroid coordinates labelled as X for alpha and He for beta. Use e.g. Chemcraft to visualise (Chemcraft accepts the X symbol; change X to another element if the visualisation program does not accept X).

29
molecule + centroid coordinates
Pd 0.125238733059 -0.0 -0.521827789824
Cl 2.060658101337 -1.05970340135 -1.438935452515
Cl 0.124804807919 -1.562605175769 1.285616471128-
Cl 0.125673187376 1.562605175769 -2.329272050776
Cl -1.8101811643960002 1.05970340135 0.39527987286700006
X 0.1250113465176148 0.0001460969074544337 -0.521755496202691
X 0.12521623062207982 -5.2767494633211314e-05 -0.5218354609388781
X 0.12526554398410752 2.5327437046444004e-05 -0.5218143288291373
X 0.12546896084539969 -0.00012548804260518814 -0.5219446582433459
X 0.12523729399128727 4.3283374354289954e-07 -0.5218371819859706
X 0.12523947371867034 -1.3533410134582902e-06 -0.521837392947296
X 0.12523996413416355 -1.9311460498318754e-06 -0.5218374502458879
X 0.1252391267458545 -2.857754232010188e-06 -0.5218386610675614
X 2.248341175903597 -1.1718561659352098 -1.5260274085118142
X 2.059082459336778 -1.054210135313784 -1.4440162903999398
X 2.0497284528913324 -1.0491659645349478 -1.4298087131196473
X 0.1232565188347044 -1.7114983586094639 1.4675304955405184
X 0.12871725525786037 -1.563538815099952 1.2823355661067113
X 0.12237623702835186 -1.554096576995621 1.2705534044576625
X 0.12723185858352393 1.7115051268277233 -2.511198483150828
X 0.12176217100377586 1.5635356729323238 -2.3260106673324574
X 0.12809459823395702 1.5540843078169215 -2.3142364011012533
X -1.9978715342410036 1.1718446102812483 0.48234321222557613
X -1.8086039559839375 1.0542060680697303 0.40034214635271104
X -1.799241068352833 1.0491720367094042 0.38614149719246166
X 1.5466159846124725 -0.7782484941237447 -1.1952737951554988
X 0.12497242629695199 -1.148695824596299 0.8066349142233771
X 0.1255072030498946 1.148691609335112 -1.8503095404741123
X -1.2961373742644424 0.7782453389799023 0.1515987459377899

The centroid analysis then looks like below. Here, all the Pd 4s,4p and 4d orbitals are close to the Pd center and thus hidden from view. Counting these Pd-based centroids would lead to an assigned electron configuration of 4s24p64d8 , i.e. a Pd(II) oxidation state.

The Chlorine 3s/3p-lone pair centroids are close to the Cl nuclei (mostly hidden) and the 4 bonding orbitals (MOs 40-43) appear as primarily ligand-based, demonstrating that these are dative bonds.

Picture below shows the localised orbital of a Pd-Cl bonding orbital as well.

[1.1.1.]Propellane example

Another example including an interesting organic molecule whose bonding has been debated.

An orbital centroid is present right between the bridgehead carbon atoms, demonstrating a covalent bond.