Open3

化学計算とwasm

kkiyama117kkiyama117

化学における計算手法として、(DFTやMOなどの第一原理計算周りの手法を除いては) CALPHAD(計算状態図)や溶存化学種の推定などが挙げられる。
これらの計算については、複雑で精度が高いモデルを必要としない場合、化学式及び単純な理論から導出される物質(イオン)間の関係式を連立し、Newton-Raphson法を用いる事で解を得られる。
これらについて学習すると同時に、現在汎用的なモジュールが公開されていない事で(自身のような)初学者・他分野の人間が実用する際の障害となっていることを踏まえて、wasmでの実装を試みる。

kkiyama117kkiyama117

まず、溶液計算プログラムの利用法 パーソナルコンピュータで使えるプログラムの紹介 (地質調査所地殻熱部 竹野直人) を参考に溶液中の化学平衡及び溶存化学種についての計算を実装することを試みる。

といってもこれについては半分以上が「系においての独立変数の決定」と「従属変数を独立変数の式に分解」といった作業が占めると思われるので、PythonまたはRustでの再現のみ試みる。
(単純な行列計算になっていくので、処理速度や汎用性についてはRustやwasm化の恩恵は大きいはずである。Pythonは遅いので。)

kkiyama117kkiyama117

どうやっても計算が収束しないときがあるのでもう少し簡単な場合でやってみる