Day 2: Bickelhaupt method
Today, I have written Bickelhaupt method for cclib
as I have mentioned in an earlier post. Because I focused mainly on coding the method, I will keep this post shorter than usual.
Basically, unlike what I have mentioned in yesterday’s post, to my understanding, it looks like choosing to alter the aoresults
by multiplying the elements with correct weights is a more sensible choice. Compared to uniform weight of 1 in Mulliken charge (due to the formula η cai cbi Sab ), Bickelhaupt charges have a variable weight determined by wab = 2 η ∑ cai2 / ( ∑ η cai2 + ∑ η c bi2) .
To accomplish this, numpy arrays were further declared to sum up the cai2 terms within the loop. Changes that were made today are up on my forked repository of cclib as commit 8c3521b
on bickelhaupt branch. Tomorrow, I will look for other packages that calculate Bickelhaupt charges so that I can compare and verify the code and try to incorporate with the automated testing suite already present in cclib.