Ionic Radii

pyrolite incldues a few sets of reference tables for ionic radii in aangstroms (Å) from [Shannon1976] and [WhittakerMuntus1970], each with tables indexed by element, ionic charge and coordination. The easiset way to access these is via the get_ionic_radii() function. The function can be used to get radii for individual elements:

from pyrolite.geochem.ind import REE, get_ionic_radii

Cu_radii = get_ionic_radii("Cu")
print(Cu_radii)
index
Cu2+IV      0.57
Cu2+IVSQ    0.57
Cu2+V       0.65
Cu2+VI      0.73
Name: ionicradius, dtype: float64

Note that this function returned a series of the possible radii, given specific charges and coordinations of the Cu ion. If we completely specify these, we’ll get a single number back:

Cu2plus6fold_radii = get_ionic_radii("Cu", coordination=6, charge=2)
print(Cu2plus6fold_radii)
0.73

You can also pass lists to the function. For example, if you wanted to get the Shannon ionic radii of Rare Earth Elements (REE) in eight-fold coordination with a valence of +3, you should use the following:

shannon_ionic_radii = get_ionic_radii(REE(), coordination=8, charge=3)
print(shannon_ionic_radii)
[1.16, 1.143, 1.126, 1.109, 1.079, 1.066, 1.053, 1.04, 1.027, 1.015, 1.004, 0.994, 0.985, 0.977]

The function defaults to using the Shannon ionic radii consistent with [Pauling1960], but you can adjust to use the set you like with the pauling boolean argument (pauling=False to use Shannon’s ‘Crystal Radii’) or the source argument (source='Whittaker' to use the [WhittakerMuntus1970] dataset):

shannon_crystal_radii = get_ionic_radii(REE(), coordination=8, charge=3, pauling=False)
whittaker_ionic_radii = get_ionic_radii(
    REE(), coordination=8, charge=3, source="Whittaker"
)

We can see what the differences between these look like across the REE:

import matplotlib.pyplot as plt

fig, ax = plt.subplots(1)

ax.plot(shannon_ionic_radii, label="Shannon Ionic Radii")
ax.plot(shannon_crystal_radii, label="Shannon Crystal Radii")
ax.plot(whittaker_ionic_radii, label="Whittaker & Muntus\nIonic Radii")
{a: b for (a, b) in zip(REE(), whittaker_ionic_radii)}
ax.set_xticks(range(len(REE())))
ax.set_xticklabels(REE())
ax.set_ylabel("Ionic Radius ($\AA$)")
ax.set_title("Rare Earth Element Ionic Radii")
ax.legend()
plt.show()
ionic radii

References

Shannon1976

Shannon RD (1976). Revised effective ionic radii and systematic studies of interatomic distances in halides and chalcogenides. Acta Crystallographica Section A 32:751–767. doi: 10.1107/S0567739476001551.

WhittakerMuntus1970(1,2)

Whittaker, E.J.W., Muntus, R., 1970. Ionic radii for use in geochemistry. Geochimica et Cosmochimica Acta 34, 945–956. doi: 10.1016/0016-7037(70)90077-3.

Pauling1960

Pauling, L., 1960. The Nature of the Chemical Bond. Cornell University Press, Ithaca, NY.

Total running time of the script: (0 minutes 0.344 seconds)