Rで理論化学:モルに関する各種計算

本ポストはこちらの続きです。

Rで理論化学:ネルンストの式
const typesetMath = (el) => { if (window.MathJax) { // MathJax Typeset window.MathJax.typeset(); } else if (window.katex...

なお、本ポストは以下の資料を参照引用しています。

  1. https://www.jstage.jst.go.jp/article/sicejl/63/8/63_458/_pdf/-char/ja
  2. https://unit.aist.go.jp/mcml/rg-orgp/uncertainty_lecture/standard.html

統一原子質量単位 \(\text u\,\) の不確かさ

統一原子質量単位 / unified atomic mass unit は「静止して基底状態にある、互いに結合していない炭素12原子1個の質量の 1/12」と定義されています。

https://physics.nist.gov/cuu/Constants/Table/allascii.txt には、Value1.660 539 068 92 e-27Uncertainty0.000 000 000 52 e-27Unitkg と記されていますので、統一原子質量単位は以下の範囲にあることになります。

なお、統一原子質量単位に相当する質量を質量単位(kgやg等)で表した原子質量定数\(m_\text u\) と表記されます。

\[1\,\text u=m_\text u\]

options(digits = 11)

paste0(
  1.66053906892 - 0.00000000052,
  "×10^-27 kg ~ ",
  1.66053906892 + 0.00000000052,
  "×10^-27 kg"
)
[1] "1.6605390684×10^-27 kg ~ 1.66053906944×10^-27 kg"

なお、CODATA recommended values of the fundamental physical constants: 2018では、統一原子質量単位 / (unified) atomic mass unit は、1.660 539 066 60(50) × 10^−27 と記されています。

paste0(
  1.66053906660 - 0.00000000050,
  "×10^-27 kg ~ ",
  1.66053906660 + 0.00000000050,
  "×10^-27 kg"
)
[1] "1.6605390661×10^-27 kg ~ 1.6605390671×10^-27 kg"

炭素12のモル質量

統一原子質量単位とアボガドロ定数から炭素12のモル質量を求めます。

options(digits = 12)

# アボガドロ定数(単位:mol^-1)
avogadro_constant <- 6.02214076 * 10^23

# 炭素12の質量 = 原子質量定数 × 12(単位:g)
mass_of_carbon_12 <- 1.66053906892 * 10^-24 * 12

# 炭素12のモル質量(単位:g/mol)
molar_mass_of_carbon_12 <- avogadro_constant * mass_of_carbon_12

list(`炭素12×1個の質量(g)` = mass_of_carbon_12, `炭素12のモル質量(g/mol)` = molar_mass_of_carbon_12)
$`炭素12×1個の質量(g)`
[1] 1.9926468827e-23

$`炭素12のモル質量(g/mol)`
[1] 12.0000000126

2019年の質量標準改定前は「モル(mol)は0.012(kgの炭素12の中に存在する原子の数に等しい要素粒子を含む系の物質量であり、従来のグラム原子、グラム分子などに相当する」と定義されていましたので、炭素12のモル質量は定義とおり厳密に12g/molでした。

改定後の厳密な炭素12のモル質量は \[統一原子質量単位=原子質量定数=\dfrac{炭素12原子1個の質量}{12}\] から、 \[\begin{eqnarray}炭素12のモル質量
&=&炭素12原子1個の質量\times アボガドロ定数\\
&=&原子質量定数\times 12\times アボガドロ定数\end{eqnarray}\]
として求められることになりますが、統一原子質量単位は、プランク定数\(\,h\)光速度\(\,c\)、そして「実験的」に測定される 微細構造定数\(\,\alpha\)リュードベリ定数\(\,R_{\infty}\)電子の相対原子質量\(\,A_r(\text e)\) から決定されるため、上記計算結果のとおり厳密に12gではなくなっています。

炭素12の相対原子質量

\[\begin{eqnarray}ある原子1個の相対原子質量&=& ある原子1個の質量\,\, /\,\,原子質量定数\\
&=& ある原子1個の質量 \,\, /\,\, \left(炭素12原子1個の質量\times 1/12\right)\\
&=&ある原子1個の質量 \,\, /\,\, 炭素12原子1個の質量\times 12\end{eqnarray}\]

よって、炭素12原子1個の相対原子質量は厳密に12となり、2019年の改定後も変わりはありません。

塩素の相対原子質量と標準原子量

ペニングトラップ等で求められた塩素の2つの同位体の相対原子質量と存在比は https://physics.nist.gov/cgi-bin/Compositions/stand_alone.pl?ele=Cl から以下のとおり。

同位体相対原子質量存在比(モル分率)
\(^{35}\text{Cl}\)34.968 852 682(37)0.7576(10)
\(^{37}\text{Cl}\)36.965 902 602(55)0.2424(10)

標準原子量は

\[標準原子量 = \sum 同位体の相対原子質量\times 存在比\] ですので、

34.968852682 * 0.7576 + 36.965902602 * 0.2424
[1] 35.4529375826

結果は、上記資料中の 標準原子量/Standard Atomic Weight35.446 ~ 35.457 の範囲に収まっており、元素周期表中の原子量(標準原子量)とも一致しています。

モル質量定数\(\,M_\text u\)

定義は以下のとおり。

\[モル質量定数=アボガドロ定数\times 原子質量定数\] また、\[ある原子1個の相対原子質量=\dfrac{ある原子1個の質量}{原子質量定数}\] ですので、

\[\begin{eqnarray}ある原子1個の相対原子質量×モル質量定数&=&ある原子1個の質量\times アボガドロ定数\\&=&モル質量\end{eqnarray}\] となり、モル質量定数はある原子のモル質量を算出する際に利用されます。

ここで、原子質量定数 \(m_\mathrm{u}\)\[m_\text u = \dfrac{M_u}{N_A}=\frac{2hR_{\infty}}{\alpha^2 c A_{\text{r}}(\text{e})}\] であるため、モル質量定数は \[M_\text u=\frac{2N_AhR_{\infty}}{\alpha^2 c A_{\text{r}}(\text{e})}\] として求められますが、前述のとおり\(\alpha\)\(R_{\infty}\)\(A_{\text{r}}(\text{e})\)は実験的に測定されるため、定義の改定や測定値の変化に応じてモル質量定数\(M_u\)も変化します。

2018年版CODATA値

options(digits = 12)

# アボガドロ定数(mol^-1、2019年以降は定義による完全な固定値)
N_A <- 6.02214076 * 10^23

# 原子質量定数(g、2018年版CODATA値)
m_u <- 1.66053906660 * 10^-24

# モル質量定数(g/mol)
M_u <- N_A * m_u
M_u
[1] 0.999999999654

2022年版CODATA値

# 原子質量定数(g、2022年版CODATA値)
m_u <- 1.66053906892 * 10^-24

# モル質量定数(g/mol)
M_u <- N_A * m_u
M_u
[1] 1.00000000105

2019年の改定前のモル質量定数は、

\[炭素12のモル質量=12\,\text{g/mol}\]

であったため

\[\begin{eqnarray}炭素12原子1個の相対原子質量\times モル質量定数&=&炭素12のモル質量\\
12\timesモル質量定数&=&12\text{g/mol}\\モル質量定数&=&1\text{g/mol}
\end{eqnarray}\]

でしたが、アボガドロ定数の定義変更によりモル質量定数は上記結果のとおり厳密に1g/molではなくなっています。

但し、有効数字4-5桁程度の化学反応を扱うのであれば1g/molとの差は無視できるため

\[M_\text u = 1\, \text{g/mol}\]

として、

\[モル質量(\text{g/mol})=相対原子質量\times モル質量定数(\text{g/mol})=相対原子質量(\text{g/mol})\] となり、相対原子質量やその加重平均である無次元の標準原子量の数値の単位を g/mol として、モル質量とすることが出来ます。

陽子、中性子、電子の質量

https://physics.nist.gov/cuu/Constants/Table/allascii.txt から、陽子、中性子、電子の質量は以下のとおり。

QuantityValue(kg)
proton mass\(1.672\, 621\, 925\, 95(52)\times10^{-27}\)
neutron mass\(1.674\, 927\, 500\, 56(85)\times10^{-27}\)
electron mass\(9.109\, 383\, 7139(28)\times 10^{-31}\)
options(digits = 10)

# 2022年版CODATA値(kg)
m_p <- 1.67262192595e-27 # 陽子質量
m_n <- 1.67492750056e-27 # 中性子質量
m_e <- 9.1093837139e-31 # 電子質量

# --- 陽子と中性子の質量差(相対値、%) ---
diff_pn <- (m_n - m_p) / m_p * 100
cat("中性子は陽子より約", round(diff_pn, 4), "% 重い\n\n")

# --- 電子と陽子の質量比 ---
ratio_ep <- m_e / m_p
cat("電子質量は陽子質量の約", round(ratio_ep, 6), "倍\n")
cat("(=陽子質量は電子質量の約", round(1 / ratio_ep), "倍)\n\n")

# --- 電子と中性子の質量比 ---
ratio_en <- m_e / m_n
cat("電子質量は中性子質量の約", round(ratio_en, 6), "倍\n")
cat("(=中性子質量は電子質量の約", round(1 / ratio_en), "倍)\n")
中性子は陽子より約 0.1378 % 重い

電子質量は陽子質量の約 0.000545 倍
(=陽子質量は電子質量の約 1836 倍)

電子質量は中性子質量の約 0.000544 倍
(=中性子質量は電子質量の約 1839 倍)

陽子と中性子それぞれの質量の差を無視できる精度、例えば前述のような有効数字4-5桁程度の化学反応を扱うのであれば、

\[陽子の質量=中性子の質量\] としても両者の質量の差は無視できます。

また、電子の質量は陽子の約1836分の1、中性子の約1839分の1しかなく、原子全体の質量のほとんどは原子核(陽子+中性子)が占めており、電子の寄与は通常の化学計算では無視して差し支えないレベルです。

以上です。