Skip to content

Ionic and Shannon radii handling #27

@dandavies99

Description

@dandavies99

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.csv that 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'.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions