はじめに:地下水は、「腐る (還元する)」順番がある
川の水が地下に浸透し、帯水層を何十年もかけて流れる間に、 水の化学組成は劇的に変化する。
その変化を駆動するのは 有機炭素(organic carbon) である。 有機物が微生物に分解されるとき、電子を受け取る「電子受容体」が順番に使われていく。 この順番には熱力学的な必然性がある。
O₂ が最も得をするので最初に消費され、次に NO₃⁻、Mn酸化物、Fe酸化物、SO₄²⁻、最後に CO₂(→ CH₄)。
これは帯水層の空間方向(流れに沿った距離)にも、時間方向(埋没・堆積の歴史)にも現れる。
冒頭の図(Appelo & Postma, 1996)は、この「波が次々と現れる」様子を概念的に示したものである。今回はこれを PHREEQC で実際に計算する。
- 酸化還元反応の熱力学的順序と pe–pH の関係
REACTIONブロックで有機炭素(CH₂O)を段階的に酸化させる方法- O₂・NO₃⁻・Mn²⁺・Fe²⁺・SO₄²⁻・CH₄ の濃度変化を一気に追う
TRANSPORTブロックで空間方向の Redox front を再現する- Python で Appelo & Postma 風の図を再現する
理論:酸化還元反応の熱力学的順序
半反応とギブズエネルギー
各電子受容体の還元半反応を、得られるギブズエネルギー ΔG°(kJ/mol CH₂O)で並べると:
| 順番 | 反応(CH₂O の酸化) | ΔG° (kJ/mol) | 環境 |
|---|---|---|---|
| ① | CH₂O + O₂ → CO₂ + H₂O | −479 | 好気的(Oxic) |
| ② | CH₂O + 4/5 NO₃⁻ + 4/5 H⁺ → CO₂ + 2/5 N₂ + 7/5 H₂O | −453 | 脱窒(Suboxic) |
| ③ | CH₂O + 2MnO₂ + 4H⁺ → CO₂ + 2Mn²⁺ + 3H₂O | −349 | Mn還元 |
| ④ | CH₂O + 4Fe(OH)₃ + 8H⁺ → CO₂ + 4Fe²⁺ + 11H₂O | −114 | Fe還元(Suboxic〜Reducing) |
| ⑤ | 2CH₂O + SO₄²⁻ → 2CO₂ + H₂S + 2H₂O | −96 | 硫酸還元(Reducing) |
| ⑥ | 2CH₂O → CO₂ + CH₄ | −58 | メタン生成(強還元) |
ΔG° の絶対値が大きいほど「お得」なので、微生物は ① → ⑥ の順に使う。 これが Redox sequences の熱力学的根拠である。
pe–pH ダイアグラムとの対応
各反応は pe(電子活量の対数) が低下するにつれて順次起動する:

PHREEQC コード
コードを読む前に:4つのブロックの役割
地下水の出発点を定義する。
pe = 4 は「やや酸化的」な状態。
炭素が加わると溶解して
Fe²⁺・Mn²⁺ を放出する。
加えるたびに pe が低下し、
各 TEA が順番に消費されていく。
全成分の濃度変化を
実行しながらリアルタイムに表示する。
コード全文
KNOBS
-step_size 10
-pe_step_size 5
-diagonal_scale true
SOLUTION 1
temp 25
pH 6
pe 4
redox pe
units mmol/kgw
density 1
Na 1.236
K 0.041
Mg 0.115
Ca 0.067
Cl 1.467
N(5) 0.058
S(6) 0.085
Alkalinity 0.26
O(0) 0.124
-water 1 # kg
EQUILIBRIUM_PHASES 1
Goethite 0 0.0025
Pyrolusite 0 4e-005
FeS(ppt) 0 0
REACTION 1
C 1
0.572 millimoles in 26 steps
INCREMENTAL_REACTIONS True
USER_GRAPH 1
-headings C O2 NO3 Mn(+2) Fe(+2) SO4 S(-2) CH4
-axis_titles "Carbon added (mmol/kg)" "Concentration (mol/kg)" ""
-initial_solutions false
-connect_simulations true
-plot_concentration_vs x
-start
10 graph_x step_no*0.572/26
20 graph_y tot("O(0)")/2, tot("N(5)"), tot("Mn(2)"), tot("Fe(2)"), tot("S(6)"), tot("S(-2)"), tot("C(-4)")
-end
-active true
END
各行の意味
SOLUTION — 初期溶液
| 行 | 意味 | 補足 |
|---|---|---|
| pH 6 / pe 4 | やや酸性・中程度の酸化的条件 | pe = 4 は O₂ がまだ残っている帯水層に相当 |
| units mmol/kgw | 濃度単位を mmol/kgw に設定 | 以降の数値がすべてこの単位で解釈される |
| O(0) 0.124 | 溶存 O₂ ≈ 2 mg/L | O(0) は O 原子量で指定。O₂ = O(0)/2 = 0.062 mmol |
| N(5) 0.058 | NO₃⁻ ≈ 3.6 mg/L | N(5) = 酸化数 +5 の N = 硝酸態窒素 |
| S(6) 0.085 | SO₄²⁻ ≈ 8.2 mg/L | S(6) = 酸化数 +6 の S = 硫酸態硫黄 |
EQUILIBRIUM_PHASES — 固相
| 鉱物名 | 化学式 | 初期量 (mol) | 役割 |
|---|---|---|---|
| Goethite | FeOOH | 0.0025 | Fe 還元域で溶解し Fe²⁺ を放出する |
| Pyrolusite | MnO₂ | 4×10⁻⁵ | Mn 還元域で溶解し Mn²⁺ を放出する(少量) |
| FeS(ppt) | FeS | 0 | 硫酸還元で生じた H₂S と Fe²⁺ が沈殿する受け皿 |
FeS(ppt) 0 0 の意味
0 0 の最初の 0 は飽和指数の目標値(SI = 0 = 平衡)、2番目の 0 は初期量(mol)を意味する。初期量をゼロにしておくと「この鉱物は最初は存在しないが、過飽和になれば沈殿してよい」という設定になる。硫酸還元で H₂S が生成されると Fe²⁺ と反応して FeS として沈殿し、溶液中の Fe²⁺ と S²⁻ が抑制される。
REACTION と USER_GRAPH
C 1 は炭素 C を反応種として使うという宣言。0.572 millimoles in 26 steps は合計 0.572 mmol を 26 等分して 1 ステップずつ加えるという意味で、1 ステップあたり約 0.022 mmol の炭素が添加される。
graph_x の式 step_no * 0.572/26 はステップ番号を「添加した炭素量 (mmol)」に変換している。tot("O(0)")/2 は O 原子の全量を 2 で割って O₂ 分子量に換算している点に注意。
酸化還元反応(特に窒素の還元)のように電子状態が急激に変わるシミュレーションでは、PHREEQCの計算が収束せずエラーになることがよくあります。その場合、コードの先頭に KNOBS ブロックを書き、-step_size 10 や -pe_step_size 5(1ステップのpe変化量の上限を絞る)などを設定することで、計算を安定して最後まで通すことができます。
計算結果の読み方
X 軸は「添加した炭素量 (mmol/kg)」で 0〜0.572 mmol の範囲を動く。各電子受容体は炭素が増えるにつれて順番に変化する。
| 段階 | 炭素添加量の目安 | 観察される変化 | 地質・環境での意味 |
|---|---|---|---|
| ① O₂ 消費 | 0 → 0.06 mmol | O₂ が急速に低下。O(0)/2 の曲線が最初に落ちる | 河川水→地下水への涵養帯 |
| ② NO₃⁻ 消費 | 0.06 → 0.13 mmol | NO₃⁻ 低下・pe の低下が一時緩やかになる | 農業地帯の深い地下水で硝酸塩が消える |
| ③ Mn²⁺ 出現 | 0.13 mmol 前後 | Pyrolusite が溶解し Mn²⁺ が急増(少量のため短い) | 老朽化した井戸で Mn が問題になる原因 |
| ④ Fe²⁺ 出現 | 0.15 → 0.40 mmol | Goethite が溶解し Fe²⁺ が増加。最大の固相量 | 赤茶色の井戸水・配管のスケール |
| ⑤ H₂S 発生 | 0.40 → 0.57 mmol | SO₄²⁻ 低下・H₂S 出現。FeS(ppt) に Fe²⁺ が捕捉される | 温泉の硫黄臭・古い油田随伴水 |
| ⑥ CH₄ 生成 | 0.57 mmol 以降 | C(-4) = CH₄ が出現。全 TEA が枯渇した後に起動 | 湿地・泥炭地・深部石炭層 |
Appelo & Postma の図との対応
冒頭の図で「波が重なる」ように見えるのは、各成分の濃度変化がピークを持つからだ:
反応が始まると急速に低下する。
「波の左半分」を描く。
生成されるが、次の反応で再び消費されたり
沈殿したりする。「波の右半分」=消費を描く。
図の右端に Fe²⁺ が2回現れる。これは:
- 最初のピーク:Goethite の還元溶解による Fe²⁺ の生成(pe 0〜4)
- 2回目の増加:SO₄²⁻ が H₂S になると FeS₂(黄鉄鉱)の沈殿よりも Fe²⁺ の溶解が上回る強還元域(pe < −3)
PHREEQCで黄鉄鉱の SI を確認すると、この挙動が計算で確認できる。
まとめ
電子受容体が消費される
微生物はエネルギー最大化
堆積物の深さ方向でも
同じシークエンス
出現はどの段階にあるかの
直接的な指標
農業地帯の地下水で問題となる硝酸塩汚染を Python で診断・定量する。硝化・移流・脱窒のシミュレーションから、野外データの診断フローまでを一気通貫で学ぶ。
参考文献(References)
このシリーズの他の記事:
- #1 インストールと最初の計算
- #2 Speciationで海水を解析する
- #3 MixingとEQUILIBRIUM_PHASES
- #4 カルサイト−CO₂水反応
- #5 炭酸地下水と海水の混合
- #6 黄鉄鉱の酸化(AMD)
- #7 溶解度ダイアグラム(Gibbsite)
- #8 Pythonでの可視化
- #9 イオン強度と活量係数
- #10 飽和指数(SI)の使いこなし
- #11 反応経路モデリング(REACTION block の応用)
- #12 移流分散モデル(TRANSPORT block の応用)
- #13 酸化還元シークエンス — 地下水が「還元」されていく順番
- #14 硝酸塩汚染の地下水診断 — 脱窒はどこで、どれだけ起きているか
DeepFlow | 地球科学シミュレーションの深みへ