-
Notifications
You must be signed in to change notification settings - Fork 28
Description
The way that ionic and Shannon radii of Species are handled is confusing. There are several related problems:
problem 1:
Species currently have:
- Shannon radii, which depend on the coordination environment
- Ionic radii, which shouldn't* but do depend on coordination environment
(*If you subscribe to the idea that having one average ionic radius for each Species is a useful quantity.)
E.g. Different Shannon radii can be accessed for Ba:
Species('Ba', oxidation=2 , coordination=6).shannon_radius
1.49
Species('Ba', oxidation=2 , coordination=8).shannon_radius
1.56
But so can different ionic radii:
Species('Ba', oxidation=2 , coordination=6).ionic_radius
1.35
Species('Ba', oxidation=2 , coordination=8).ionic_radius
1.42
The data is loaded from shannon_radii.csv which contains multiple ionic radii for each Species, e.g.:
ion,charge,coordination,crystal_radius,ionic_radius,comments,
...
Ba,2,6_n,1.49,1.35,,
Ba,2,7_n,1.52,1.38,,
Ba,2,8_n,1.56,1.42,,
Ba,2,9_n,1.61,1.47,,
Ba,2,10_n,1.66,1.52,,
Ba,2,11_n,1.71,1.57,,
Ba,2,12_n,1.75,1.61,,
Problem 2:
When no 'coordination' is supplied, it is not obvious which ionic radius is chosen in shannon_radii.csv . In many screening studies we do not want to specify specific coordination environments and are interested in an average or typical value. E.g for Fe2+ the square planar ionic radius is selected:
Species('Fe', oxidation=2).ionic_radius
0.64
shannon_radii.csv:
Fe,2,4_n,0.77,0.63,,
Fe,2,4_sq,0.78,0.64,,
Fe,2,6_n,0.84,0.7,,
Fe,2,8_n,1.06,0.92,,
Problem 3:
It's not (obviously) possible to distinguish between Shannon radii for square planar and tetrahedral environments because 'coordination' is supplied as an integer, e.g.:
Species('Ag', oxidation=1, coordination=4).shannon_radius
1.16
shannon_radii.csv:
Ag,1,4_n,1.14,1,,
Ag,1,4_sq,1.16,1.02,,
Problem 4:
There is a file called ionic_radii.csv lurking around in data/ that as far as I can tell is no longer used for anything.
Suggestions:
- Delete ionic_radii.csv
- Decide whether or not we want different ionic radii available for the same Species. If there is no good reason, find a reputable source of ionic radii and update these.
- Implement an intelligent way to select Shannon radii if no 'coordination' is given. This could possibly be to raise a warning and revert to the ionic radius, or to add a column in
shannon_radii.csvthat indicates a default coordination environment for each Species. - Implement some way to specify that you want to use the less common coordination environments '..sq' and '..py', as opposed to '.._n'.