Pirika logo
JAVA,HTML5と化学のサイト

Pirika トップ・ページ

Pirikaで化学
 物性化学
 高分子化学
 化学工学
 分子軌道
 情報化学

 その他の化学
 アカデミア
 MOOC講義資料
 プログラミング

ハンセン溶解度パラメータ(HSP):
 HSP基礎
 HSP応用
 ポリマー
 バイオ・化粧品
 環境
 物性推算
 分析
 化粧品の処方設計
 その他
 自分でやってみよう

雑記帳

Ad Space for you

 

Ad Space for you

 

 

 

Last Update

25-May-2017

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の値:


Safari、Mobile Safari, Chromeでは問題なく動くだろう。 (多分、FireFoxでもOK) IEはIE9からHTML5をサポートするらしいが、動かないと思って頂きたい。

赤い線は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という形で標準化され、今後ほとんどのブラウザーでサポートされるだろう。

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

化学工学のトップ・ページへ戻る

 

メールの書き方講座