Rで理論化学:ファラデーの電気分解の法則

問題

硫酸銅(II)水溶液を白金電極を用いて電気分解すると、陰極で次の還元反応が起こり、銅が析出します。

\[\text{Cu}^{2+} + 2e^- \rightarrow \text{Cu}\]

(1) ファラデーの電気分解の法則

\[m = \frac{Q}{F}\cdot\frac{M}{z} = \frac{It}{F}\cdot\frac{M}{z}\]

に基づき、電流 \(I=2.00~\text{A}\)\(t=1800~\text{秒}\)(30分間)流したときに析出する銅の質量 \(m\) をRで計算しなさい。ここで銅のモル質量を \(M=63.55~\text{g/mol}\)、電子数を \(z=2\)、ファラデー定数を \(F=96485~\text{C/mol}\) とします。

(2) 電流値 \(I\)\(0.5\sim5.0~\text{A}\) の範囲で変化させたとき、同じ通電時間(30分間)で析出する銅の質量がどう変わるかをRで計算し、可視化しなさい。析出量が電流値に対して線形の関係にあることを、lm()による回帰の傾きとファラデー定数から理論的に予測される傾きとを比較して確認しなさい。

(3) 同じ電気量 \(Q\) を用いて、銅(\(z=2\))・銀(\(\text{Ag}^+ + e^- \rightarrow \text{Ag}\), \(z=1\), \(M=107.87~\text{g/mol}\))・アルミニウム(\(\text{Al}^{3+}+3e^-\rightarrow\text{Al}\), \(z=3\), \(M=26.98~\text{g/mol}\))をそれぞれ析出させた場合の質量比を計算し、これが「同じ電気量では、析出する物質量は \(1/z\) に比例する」というファラデーの第二法則の内容と整合することを確認しなさい。


解答方針

ファラデーの電気分解の法則は、「電極で反応する物質量は、流れた電気量に比例する」という第一法則と、「同じ電気量に対して析出する物質量は、その反応に必要な電子数 \(z\) に反比例する」という第二法則から構成されます。

この2つの法則は、電気量 \(Q=It\)(単位 C)と、電子1molあたりの電気量であるファラデー定数 \(F\)(単位 C/mol)を用いて、析出量を求める1つの式にまとめることができます。

# ------------------------------------------------------------
# ファラデーの電気分解の法則:CuSO4水溶液の電気分解
# ------------------------------------------------------------

F_const <- 96485 # ファラデー定数 C/mol

# --- (1) I=2.00A, t=1800秒における銅の析出質量 ---

I1 <- 2.00 # A
t1 <- 1800 # 秒
M_Cu <- 63.55 # g/mol
z_Cu <- 2

Q1 <- I1 * t1 # 電気量 C

# 析出する物質量(mol) = Q / (z*F)
n_Cu <- Q1 / (z_Cu * F_const)
m_Cu <- n_Cu * M_Cu

cat("=== I=2.00A, t=1800秒における銅の析出 ===\n")
cat(sprintf("通過した電気量 Q = %.1f C\n", Q1))
cat(sprintf("析出した銅の物質量 n = %.6f mol\n", n_Cu))
cat(sprintf("析出した銅の質量 m = %.4f g\n\n", m_Cu))
=== I=2.00A, t=1800秒における銅の析出 ===
通過した電気量 Q = 3600.0 C
析出した銅の物質量 n = 0.018656 mol
析出した銅の質量 m = 1.1856 g

(2) 電流値を変化させたときの析出量の線形性の確認

# --- (2) I=0.5~5.0Aにおける析出量の変化と線形性の検証 ---

t_fixed <- 1800 # 秒(30分固定)

I_seq <- seq(0.5, 5.0, by = 0.25)

# 析出質量を計算する関数
deposit_mass <- function(I, t, M, z, F = F_const) {
  Q <- I * t
  n <- Q / (z * F)
  n * M
}

m_Cu_seq <- sapply(I_seq, deposit_mass, t = t_fixed, M = M_Cu, z = z_Cu)

df_faraday <- data.frame(I_A = I_seq, m_Cu_g = m_Cu_seq)
print(df_faraday)

# 線形回帰: m = k*I の形(切片0を仮定せず一般の直線で回帰)
fit_faraday <- lm(m_Cu_g ~ I_A, data = df_faraday)
print(summary(fit_faraday))

slope_regression <- coef(fit_faraday)["I_A"]

# 理論的に予測される傾き: dm/dI = t*M/(z*F)
slope_theory <- t_fixed * M_Cu / (z_Cu * F_const)

cat(sprintf("\n回帰から得られた傾き   = %.6f g/A\n", slope_regression))
cat(sprintf("理論式から予測される傾き = %.6f g/A\n", slope_theory))
cat(sprintf("差: %.2e g/A\n\n", abs(slope_regression - slope_theory)))
    I_A    m_Cu_g
1  0.50 0.2963932
2  0.75 0.4445898
3  1.00 0.5927864
4  1.25 0.7409831
5  1.50 0.8891797
6  1.75 1.0373763
7  2.00 1.1855729
8  2.25 1.3337695
9  2.50 1.4819661
10 2.75 1.6301627
11 3.00 1.7783593
12 3.25 1.9265559
13 3.50 2.0747526
14 3.75 2.2229492
15 4.00 2.3711458
16 4.25 2.5193424
17 4.50 2.6675390
18 4.75 2.8157356
19 5.00 2.9639322

Call:
lm(formula = m_Cu_g ~ I_A, data = df_faraday)

Residuals:
       Min         1Q     Median         3Q        Max 
-1.056e-15 -5.344e-17 -5.800e-18  1.131e-16  8.224e-16 

Coefficients:
              Estimate Std. Error   t value Pr(>|t|)    
(Intercept) -2.038e-16  1.804e-16 -1.13e+00    0.274    
I_A          5.928e-01  5.872e-17  1.01e+16   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.505e-16 on 17 degrees of freedom
Multiple R-squared:      1, Adjusted R-squared:      1 
F-statistic: 1.019e+32 on 1 and 17 DF,  p-value: < 2.2e-16


回帰から得られた傾き   = 0.592786 g/A
理論式から予測される傾き = 0.592786 g/A
差: 1.11e-16 g/A

回帰から得られた傾きと、ファラデーの法則の式から直接導かれる理論的な傾き \(tM/(zF)\) が一致しており、析出質量が電流値に対して厳密に線形の関係にあること、およびRの実装が正しいことの両方が確認できます。


可視化

library(ggplot2)

p_faraday <- ggplot(df_faraday, aes(x = I_A, y = m_Cu_g)) +
  geom_point(color = "darkorange", size = 2.5) +
  geom_smooth(method = "lm", se = FALSE, color = "steelblue", linewidth = 0.8) +
  labs(
    title = "析出する銅の質量と電流値の関係(通電時間30分固定)",
    x = "電流 I (A)",
    y = "析出した銅の質量 m (g)"
  ) +
  theme_minimal(base_size = 13)

print(p_faraday)
Figure 1

(3) 異なる金属間での析出量の比較(ファラデーの第二法則)

# --- (3) 同じ電気量における Cu, Ag, Al の析出量比較 ---

Q_common <- 3600 # C(共通の電気量、(1)と同じ値を採用)

metals <- data.frame(
  name = c("Cu", "Ag", "Al"),
  z    = c(2, 1, 3),
  M    = c(63.55, 107.87, 26.98)
)

metals$n_mol <- Q_common / (metals$z * F_const)
metals$m_g <- metals$n_mol * metals$M

print(metals)

# 物質量nの比が 1/z の比と一致するか確認
metals$inv_z <- 1 / metals$z
metals$n_normalized <- metals$n_mol / metals$n_mol[metals$name == "Cu"]
metals$invz_normalized <- metals$inv_z / metals$inv_z[metals$name == "Cu"]

cat("\n=== 物質量の比 vs 1/z の比(Cu基準に規格化)===\n")
print(metals[, c("name", "z", "n_normalized", "invz_normalized")])
  name z      M      n_mol       m_g
1   Cu 2  63.55 0.01865575 1.1855729
2   Ag 1 107.87 0.03731150 4.0247914
3   Al 3  26.98 0.01243717 0.3355547

=== 物質量の比 vs 1/z の比(Cu基準に規格化)===
  name z n_normalized invz_normalized
1   Cu 2    1.0000000       1.0000000
2   Ag 1    2.0000000       2.0000000
3   Al 3    0.6666667       0.6666667

析出した物質量の比(Cuを基準に規格化したn_normalized)は、電子数の逆数の比(invz_normalized)と完全に一致しており、「同じ電気量に対する析出物質量は \(1/z\) に比例する」というファラデーの第二法則が数値的に確認できます。


考察

(1)と(2)の結果から、析出質量 \(m\) は電流 \(I\) と通電時間 \(t\) の積、すなわち電気量 \(Q=It\) にのみ比例し、\(Q\) が同じであれば電流と時間の内訳(例えば大電流を短時間流すか、小電流を長時間流すか)によらず析出量は変わらないことが分かります。これがファラデーの第一法則の内容です。

一方(3)の結果は、同じ電気量であっても、反応に必要な電子数 \(z\) が異なれば析出する物質量が異なることを示しています。

1価の銀イオンは1個の電子で還元されるのに対し、3価のアルミニウムイオンは3個の電子を必要とするため、同じ電気量ではアルミニウムの析出物質量は銀の \(1/3\) にとどまります。

これは、電気分解が本質的に「電子のやり取りの回数」を介した化学量論に支配されている現象であることを裏付けています。


まとめ

項目内容
ファラデーの第一法則析出物質量は通過した電気量 \(Q=It\) に比例する
ファラデーの第二法則同じ電気量では、析出物質量は電子数 \(z\) の逆数に比例する
統合した式\(m = \dfrac{It}{F}\cdot\dfrac{M}{z}\)
本問での確認回帰の傾きと理論式の一致、Cu/Ag/Alの析出量比が\(1/z\)比と一致

以上です。