化学平衡ソルバーをつくりたい (0) はじめに

主に溶液系の化学平衡を解くソルバーを作りたい*1。例えば以下のような疑問に答えることを目的とする。

  • 石灰水(水酸化カルシウムの飽和水溶液)に二酸化炭素を吹き込むと炭酸カルシウムの沈殿が生じ、過剰に吹き込むとやがて沈殿は再溶解する。水の蒸発を無視するとして、生じた炭酸カルシウムを完全に溶解させるためには二酸化炭素の分圧はいくらであれば良いか?
  • 0.1 mol/Lの硫酸銅水溶液に濃アンモニア水を加えると、一度沈殿が生じた後溶解し、深青色の液体が得られる。沈殿を完全に溶解させるために必要なアンモニア濃度は?
  • ある金属の、アルカリ性で安定した水溶液を得たい。直接溶かそうとしても沈殿が生じてしまう。適当な配位子を適当な濃度で加え、沈殿生成を防ぐことはできないか?
  • 複数の金属イオンを含んだ液体から、特定のイオンだけを沈殿させたい。pHや沈殿材を選定してそれが可能かを見繕いたい。

もちろん、実際にこれらの実験を行おうとすると平衡論だけでは片付かず、現実的な時間内で想定した反応が完結するか、すなわち速度論的な問題も考えなければならない。しかしながら、平衡論という厳密な枠組みによって、「何が可能であるか/不可能であるか」について明確な情報が得られるのは有用である。*2

これから何回かの更新で、具体例を用いながら平衡計算を行うために必要な情報を整理する。数値計算を行うため、収束性についても留意する。その後、なるべく一般の問題にできるような実装を進める。高校化学+α程度の知識があることを前提にする。

*1:平衡論(熱力学)は100年以上前に確率した概念であるため、世の中には平衡論を利用した計算ソフトはすでにたくさん存在する(PHREEQC, FactSage等)。その中であえてソルバーを自作する意味があるかという疑問もあるが、計算に必要な考え方やデータの準備の仕方を学ぶことを考えると一定のいみはあるだろう。

*2:現代においても、平衡論に匹敵する一般性をもって化学反応の速度論を取り扱うことはできていない。溶液系ではなおさらである

【統計検定風】2つの封筒のパラドックス (1) 問題編

2封筒問題とかtwo envelopes problemとかとも言う。
ネット上に解説は色々あるけど、要点だけまとめて問題形式にしてみた。これが解ければおそらくこのパラドックスは理解できたと言って良いと思う。

続きを読む