逐次回分反応

2023.4.27(2011.3.11)

化学工学トップページ >

最も簡単な逐次反応は,
A→B,  r1=k1Ca
B→C,  r2=k2Cb
と書くことができる。

各成分の濃度を表わす微分方程式は次のようになる。
dCa/dt = -k1Ca
dCb/dt =k1Ca – k2Cb
dCc/dt = k2Cb

これをオイラー法で解くJavaScriptを書く。
このプログラムは2008年2月にDashCodeを使って書いたものだ。
この時のDashCodeはマックのダッシュボードというウイジットとしてしか動かなかったが、ウイジットの中身はHTML5+CSS+JavaScriptなので、簡単に取り出せる。
そして作り直したのがこのページだ。

k1の値:
k2の値:
Ca0の値:
Cb0の値:
Cc0の値:


赤い線はA成分が時間と共に減少していく様子を示している。
A成分が減少した分、B成分(緑の線)ができるが、BはさらにC成分(青い線)に変わるので、途中から減少する。

もし、欲しい成分がCならどんどん反応させればいいのだが、B成分が欲しいなら、緑色の山の頂上で止めなくてはならない。

さもなければ、反応速度定数に差が出るような、実験条件を探さなくてはならない。

例えば、温度を変える、圧力を変える、pHを変えるなどして、B->Cの反応速度定数を小さく出来れば2つ目の図のようにBの収率を上げることができる。

K1、K2の値をいろいろ変えて試してみていただきたい。

K1=K2=0.05

K1=0.05, k2=0.005

K1=0.05, K2=0.5

こんなことができてしまうなら、何故2008年の段階で、全面的にJAVAScriptに移行しなかったのか?といわれれば、その時にはMacのウイジットでしか動かなかったのだ。

Pirikaはマックユーザーだけを相手にしているわけではないので、採用はしなかった。
しかし、今はこの技術がHTML5という形で標準化され、今後ほとんどのブラウザーでサポートされるだろう。

こんなことがプラグインなしにできてしまうとは、すごい時代になったものだ。

2023.4.27

Office ScriptによるExcel on the web開発入門を紐解きながら、この逐次反応をExcel上で動くようにしてみた。初めてのJavaScriptを勉強したプログラムなのでTypeScript初めてのプログラムとしては丁度良い。

セルの値を取り出す方法が解れば1時間ほどで完成する。

よくわからないのが、セルのところにはどんなタイプ(文字、数字、真偽値)が入っているかわからない。そこでScript的には赤波線が置かれエラー表示なる。


Copyright pirika.com since 1999-
Mail: yamahiroXpirika.com (Xを@に置き換えてください)
メールの件名は[pirika]で始めてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です