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()

/home/docs/checkouts/readthedocs.org/user_builds/pyrolite/checkouts/main/docs/source/gallery/examples/geochem/ionic_radii.py:53: SyntaxWarning: invalid escape sequence '\A'
ax.set_ylabel("Ionic Radius ($\AA$)")
See also
- Examples:
- Functions:
get_ionic_radii(),pyrolite.geochem.ind.REE(),lambda_lnREE(),
References
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.
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.
Pauling, L., 1960. The Nature of the Chemical Bond. Cornell University Press, Ithaca, NY.
Total running time of the script: (0 minutes 0.137 seconds)