jacksund / simmate

The Simulated Materials Ecosystem (Simmate) is a toolbox and framework for computational materials research.
https://simmate.org
BSD 3-Clause "New" or "Revised" License
29 stars 9 forks source link

Update electride search algo 🤖 #589

Closed SWeav02 closed 10 months ago

SWeav02 commented 10 months ago

Describe the desired feature

The current method for finding electride sites in the ElectrideFinder class uses several arbitrary hard cutoffs. The main two are the distance from an atom and the size of an electride. The second will likely remain arbitrary for a while, but the first can be made variable based on shannon-prewitt radii. This will require some changes to the algorithm and a method for estimating oxidation states (maybe just traditional bader as an initial first estimate).

SWeav02 commented 10 months ago

This is related to #570 as well.

SWeav02 commented 10 months ago

This has mostly been fixed as of PR #588. Using Shannon-prewitt radii ended up not working well due to the limited selection of radii available for less common oxidation states. Instead, the cutoff for atom distance is selected using the ELF values between an atom and its closest neighbor. The minimum between these two atoms is selected as the radius. In some cases, such as those where an atom is surrounded by electride electrons (e.g. Ba3NaN) there is more than one minimum and the algorithm uses a slightly altered method. The minimum is selected as the minimum closest to the center of the line between the atom and its nearest neighbor that is on the half of the line closest to the atom. The cutoff for the electride radius is still arbitrary. I'll be doing some tests to see what this should be, but that will be in a different issue.