見出し画像

分析化学の話(24) - 高濃度編:ランベルト・ベールの法則のシミュレーション

低濃度では、Pythonによるシミュレーションがランベルト・ベールの法則をよく説明したと思います[1]。では、高濃度ではシミュレーションはどんな結果を与えるでしょうか?お遊びと思って付き合ってくださいね。そして、間違えていたらコメントを寄せてください。


1.復習:ランベルト・ベールの法則

1.1 吸光度Aは、光路長lまたは濃度cに比例する

$$
A = -\log_{10} \Big (\dfrac{I}{I_0} \Big ) = -\log_{10} T =\epsilon cl \quad \quad \quad(1)
$$

$${A}$$:吸光度、$${I_0}$$:入射光の強度、$${I}$$:透過光の強度、$${T(=I/I_0)}$$:透過率、$${\epsilon}$$:モル吸光係数(試料に固有の値)、$${c}$$:モル濃度($${\mathrm{mol/L}}$$)、$${l}$$:光路長($${\mathrm{cm}}$$)

2.復習:シミュレーション [1]

2.1 格子模型を使ったシミュレーション

図1 (a)例として、溶液を3層(layer)にスライス。各層のセルの数は100個です。それぞれの層で乱数を発生させます。その結果、溶質分子(黒)がさまざまなセルに配置されます。(b)3層を重ね合わせます。より黒いセル(12個ある)は溶質分子が重なっていることを表します。この重なりがランベルト・ベールの法則のポイントだと思われます。52個の白いセルだけ光を通します。この例の場合、透過率Tは52/100 = 0.52となります。

3.シミュレーションの結果(不思議?)

3.1 シミュレーションの条件

  • 使用言語: Python 3.10.9(Jupyter notebook)

  • 使用モジュール : numpy 1.23.5

  • 乱数の発生: PCG64(ただし、層内では溶質分子(黒)が重ならないように乱数を発生)

  • セルの個数/層(layer): 10,000個

  • 溶質分子の個数/層(layer):400〜7,600個

  • 繰り返し数: 5回

  • 層(layer)数: 1〜7(1刻み)

3.2 吸光度Aの濃度依存性

図2を見ると、高濃度になると吸光度は濃度に比例しなくなります。しかし、文献とは逆で、濃度が高くなれば急激に大きくなるということです。多くの文献は、主に迷光が原因で図2とは逆の傾向を述べています。

ただ、大きな吸光度を測るには非常に微弱な光を測らなければならず、事実上不可能だと思います。

図2 非常に高濃度では吸光度Aは濃度に比例せず、下に凸の曲線になるという結果を得ました。例えば、体積分率が0.7ということは、非常に濃い70 %の溶液ということになります。質量濃度でいえば、0.7 g/mL程度ということになります。凡例の"layers=7"は、層の数が7層という意味です。

3.2 吸光度の光路長依存性

図3 不思議なことに、非常に高濃度でも吸光度は光路長lに比例するようにみえます。なお、層の数は光路長に対応しています。凡例の"Fraction"は体積分率という意味です。

4.結論

吸光度は、低濃度の溶液で測るものです。高濃度のシミュレーションの結果は意味がないかもしれません。お遊びと思って見ていただいたら幸いです。

文献

[1] 分析化学(1) - ランベルト・ベールの法則のシミュレーション(note記事)



【免責事項】本記事は単なるメモとして書かれたもので、その正確性を必ずしも保証するものではありません。本記事によって生じたトラブル、損失、又は損害に対して一切責任を負いません。また、著者が所属する組織とは関係ありません。誤りがあればご指摘ください。クレームはご遠慮ください。



いいなと思ったら応援しよう!