Modeling with the Big Green Differential Equation Machine
Connecting Kinetics and Equilibrium: Reversible First-Order Reactions

In this exercise using the kinetics modeling applet, you can connect kinetics and equilibrium by modeling reversible, first-order reactions.

Consider the following reactions, dear to the hearts of many a physical chemist:

A equilibrium arrows B

If the forward and reverse reactions are both first-order with rate constants kf and kr respectively, then we can write the rates of formation of A and B as:



The applet below allows you to model the system by numerical integration of these two differential equations. The intial values of A and B are entered as well as the formulas for the time derivatives which are denoted A' and B' in the applet. For easy equation entering, kf and kr are entered on separate lines and assigned time derivatives of 0 since they are both constant with respect to time. Click the "Calculate" button to see the time behavior of [A] and [B]. Instructions for using the applet are given toward the bottom of this page.


a) What is the ratio [B]/[A] as the system comes to equilibrium at t = 20? Move the mouse over the plot to read the (x,y) coordinates. What is the ratio kf/kr? Adjust the intial values of [A] and[B] and recalculate [B]/[A] as the system comes to equilibrium.

b) Change kf to 0.1 and kr to 0.2. Then repeat the calculations for [B]/[A] and kf/kr.

c) The ratio [B]/[A] is the equilibrium constant, K, for the reaction. What relationship seems to be true between the equilibrium constant and the rate constants, kf and kr?

Kinetics Modeling Instructions

The Kinetics Modeling applet integrates systems of ordinary differential equations that represent chemical reaction kinetics and graphs the results. The applet integrates with respect to the variable "t" (often representing "time"). Since any number of variables may be entered into the applet, it can be used to model systems with an arbitrary number of reactions. For each species, the user should enter an intial value (value for t = 0) and a derivative with respect to "t". Constants can be entered as 'variables' as long as their derivatives are set equal to 0.


AN IMPORTANT NOTE: When you refresh or reload this page, all input fields are reset.

Values entered in the "Name:" and "Title:" fields are for identification and do not affect the numerical integration. The applet uses a Runge-Kutta fixed-step method for the numerical integration between the time entered in the "Time Start:" field and the time entered in the "Time End:" field. The applet performs the integration using the integral number of steps entered in the "Number of Steps:" field. The applet will also plot this many points. Make the value high enough for accuracy, but as low as possible for speed.

Variable names, initial values, and time derivatives must be entered in the large text area on the left. Variable names can be of any length, but must start with a letter. Capitalization is significant ("a" is different from "A"). The variable "t" is reserved to represent time. The format for entering variables is to enter one variable on each line. Start the line with the variable name, enter an equals sign (=) and then enter the initial value of the variable. On the same line then enter a comma (,), the variable name with a prime ('), another equals sign, and then a formula for the time derivative of the variable. The formula can contain the any of following:


+ for addition
- for subtraction
* for multiplication
/ for division
^ for power

Parentheses: ( )

Constants: any number, e.g. 1.23, -6, 5.55E-5

Variables: any string of letters and numbers,
beginning with a letter and having no spaces

    Valid Functions:

ABS - absolute value, ABS(x) = |x|
SQR - square, SQR(x) = x2
EXP - exponential function, EXP(x) = ex
LN - natural logarithm, LN(x) = loge(x)
LOG10 - base 10 logarithm, LOG10(x) = log10(x)
SQRT - square root
SIN - sine
COS - cosine
TAN - tangent
ATN - arc tangent in the range of -pi/2 to pi/2
INT - nearest integer


Pressing the "Calculate" buttons starts the integration and performs the plotting. The "Update Plot" button will replot the results of the integration. This can be used to look at the behavior of different variables without redoing the integration.


The text area below the plot gives feedback on any problems with the input values and variables, or with problems during the integration.

The values to be plotted on the graph are controlled by the "vertical" and "horizontal" fields. The "vertical" field will accept any number of defined, non-constant variables, each separated by a comma. The horizontal field will accept only one defined, non-constant variable including "t".

© 2002 BPReid