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()
See also
- Examples:
- Functions:
get_ionic_radii()
,pyrolite.geochem.ind.REE()
,lambda_lnREE()
,
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)