บทที่ 9
ตัวอย่างปฏิกิริยาเคมี
9.1 ส่วนนำ
เอกสารนี้ออกแบบให้คุ้นเคยกับการแก้ปัญหา โดยการใช้
ขั้นตอนวิธี ODE ในไซแลบสำหรับสมการปฏิกิริยาทางเคมี
9.2 ระบบปฏิกิริยาเคมี (chemical Reaction
Systems)
มี ODE หลายอย่างที่น่าสนใจสามารถที่จะสร้างขึ้นมมาเพื่ออธิบายการวิวัฒนาการทางปฏิกิริยาเคมี
สมมุติว่ามีสปีซีทางเคมี 4 อย่าง A, B, C และ D. เหล่านี้กำหนดเป็น O2, H2, OH, H2O ฯลฯ. สามารถที่จะเขียน ปฏิกิริยาเคมีหนึ่งระหว่าสปีชีเหล่านี้
ผ่านทางสมการปฏิกิริยาเคมี
A + B k1 → C + D (9.1)
ปฏิกิริยานี้จะไม่เกิดขึ้นที่ขณะหนึ่งขณะใด
แต่จะเข้าสู่อัตราที่เป็นสัดส่วนกับความเข้มข้นของสารรีแอคแตนซ์ A และ B ด้วยอัตราคงที่k1. สมมุติว่ามีสมการที่ 2 คือ
A + A + C k2 → B (9.2)
และสมมุติว่าสมการปฏิกิริยาเคมีทั้งสองเหล่านี้
ระบุถึงปฏิกิริยาที่เกิดขึ้นในระบบได้ครบถ้วน้ทำให้สามารถสร้างสมการวิวัฒนาการสำหรับมุ่งเน้นสปีซีทางเคมีดังต่อไปนี้
= −k1[A][B] − 2k2[A][A][C]
= −k1[A][B] + k2[A][A][C]
= k1[A][B] − k2[A][A][C]
= k1[A][B]
ที่ซึ่งวงเล็บเหลี่ยมแสดงถึงความเข้มข้น
พิจารณาสมการแรกคือ
= −k1[A][B] − 2k2[A][A][C]
อัตราส่วนของปฏิกิริยา 9.1 จะขึ้นอยู่กับสัดส่วนของn [A] และ [B], ตัวคงที่ของการปฏิภาคกำหนดโดย ดังนั้นอัตราของปฏิกิริยา 1 จะกำหนดโดย k1[A][B].
ในแต่ละสถานะของปฏิกริยา ใช้หนึ่งหน่วยของ A ดังนั้นอัตราการเปลี่ยนแปลงความเข้มข้นของ
A เนื่องจากปฏิกิริยา 1 จะเท่ากับ−k1[A][B]. เครื่องหมายลบบ่งชี้ถึงถูกใช้ไปหนี่งหน่วย มีเทอมที่คล้ายคลึงกันของ ODE อื่นๆ เทียบกับการใช้ไปของสปีชี B และสร้างสปีชี
C และ D.
อัตราที่ปฏิกิริยาที่ / จะขึ้นอยู่กับสัดส่วนของ [A], [A]อีกครั้งและ [C] และดังนั้นอัตราของปฏิกิริยา 2
จะเป็นe k2[A][A][C]. แต่ละปฏิกิริยา 2
จะใช้ไป 2 หน่วย่ของ A, ดังนั้นอัตราการเปลี่ยนแปลงความเข้มข้นของ A
เนื่องจากปฏิกิริยา 2 จะเท่ากับ −2k1[A][A][C], ด้วยเทอมทำนองเดียวกันในการใช้ที่ระบุในของ
ODE หนึ่งหน่วยของ C และสร้างหนึ่งหน่วยของ B การสร้างขึ้นของสมการอนุพันธ์สามารถให้เป็นอัตโนมัติ
โดยกำหนดสมการปฏิกิริยา และอัตราที่สอดคล้องกัน
โดยปล่อยให้นักเคมีกำหนดชุดสมการปฏิกิริยาที่มีเหตุผลด้วยตัวคงที่อัตราที่สอดคล้องกัน
9.2.1 ตัวอย่างของโรเบิร์ตสัน
9.2.1 ตัวอย่างของโรเบิร์ตสัน
ปฏิกิริยาเคมีในอุดมคติที่มักจะใช้ในการสร้างระบบของ ODE
ที่มั่นคงกำหนดโดยสมการปฏิกิริยา
A
0.04
−→ B
B +
B
3.0e7
−→ B + C
B +
C
1.0e4
−→ A + C
มีสปีซีทางเคมี 3 สปีซี
และดังนั้นจะมีระบบที่สอดคล้องของ 3 (There are 3 chemical species and so
there will be a corresponding system of 3)
ODE’s
modelling the evolution of the concentrations of these chemicals. The
choice
of rate constants tells us that the first reaction will evolve slowly, the
second
reaction very fast, and the final reaction fast.
Computational
Science, Scilab Tutorials 64
Exercise
15.
1.
Derive the system of ODE’s corresponding to Robertson’s example.
2.
Use Scilab to solve these equations with initial concentrations [A] = 1,
[B]
= [C] = 0 for t ∈ [0, 0.001]. Plot your results on the same graph using
the
command of the form
xbasc();plot2d(t’,y’,leg=’A@B@C’)
I
obtained the plot
0
1e−4 2e−4 3e−4 4e−4 5e−4 6e−4 7e−4 8e−4 9e−4 10e−4
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
The
concentrations of B and C are very small compared to A. It is sensible
to
normalise these concentrations by the maximum value of each concentra-
tion.
We can use the max function, using the ’c’ argument to produce a
column
vector containing the maximum of each row. I.e
ymax
= max(y,’c’);
The
trick is now to scale each row of y by the corresponding entries of ymax.
I
came up with
Computational
Science, Scilab Tutorials 65
yscaled
= diag(1.0./ymax)*y;
Can
you see what this is doing?
Now
you can plot t versus yscaled with
xbasc();
plot2d(t’,yscaled’)
legends([’A’;’B’;’C’],[1;2;3])
I
suggest producing a legend so that you can see which curve corresponds to
which
variable. The format of the command associates a character string
(such
as ’A’ with a line style 1.
ตอนนี้พล็อตกราฟที่ได้มาคือ
0
1e−4 2e−4 3e−4 4e−4 5e−4 6e−4 7e−4 8e−4 9e−4 10e−4
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
ABC
Scaled
Plots
3.
Interesting things happen for very small times as well as for much larger
times.
To see these things produce approximations of the concentrations at
times
2i, i = −20, ..., 10. Plot the scaled three concentrations on
the same
plot
using the previous scaled method. You should use a log scale for the
time
axis. Use the ’ln’ argument which tells plot2d to plot the first axis
using
log scale and the second axis using normal scale
Computational
Science, Scilab Tutorials 66
xbasc();
plot2d(’ln’,
t’,yscaled’)
legends([’A’;’B’;’C’],[1;2;3])
Here
is the plot now
−5
10
−4
10
−3
10
−2
10
−1
10
0
10
1
10
2
10
3
10
4
10
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
ABC
long
time scaled
4.
The concentrations are still in a transient state at time t = 1024. Run
the
calculation to larger times to ascertain the long time behaviour of the
system.
What concentrations do A B and C limit to?
ไม่มีความคิดเห็น:
แสดงความคิดเห็น