Background Rao et al. 
The authors of this paper used computers to simulate a TWC. They accomplished this by solving the equations shown in the energy balance section coupled with the reactions taking place in the kinetics section. The exact method of solving the equations is fairly complicated, so it is more important to understand the big picture of what they were doing.
For instance, some specialized computer codes are employed to solve these equations as efficiently as possible. However, most engineering students would be able to write a simple MATLAB program that could model this device, though it would take some time to do so since there are 15 reactions occurring simultaneously. The big picture is that the equations described in the other parts of this website can be used to determine the concentrations of all different types of gases in the exhaust fumes. In fact, it can even display those concentrations as a function of time.
Optimization Carbon monoxide is one chemical species present in the exhaust. If we have a computer model that predicts how much CO comes out of the catalytic converter, it would be a good idea to compare that prediction with the exhaust from an actual TWC. This is exactly what the authors of the paper did. They ran experiments and measured the concentration of different types of gas in the exhaust and observed how closely their computer simulation matched the actual measured data. An example is shown below: Actually, the authors took this idea a step further. Remember that the equations in the kinetics section each have several reaction constants associated with them. If the values of these constants are changed and the simulation is run again, then the concentrations in the outlet will also change. One technique that scientists often use is to change the value of the constants in their model until the simulation lines up with actual data. When the two are aligned to the maximum extent possible, the model has been optimized. The constants that are adjusted are called parameters. Here’s the same plot as before, after tuning just one of the kinetic parameters: Let’s explore the actual procedure for adjusting these parameters. To help quantify how well the simulation matches the experimental data, the authors use something called an objective function.
Objective Function The objective function measures the difference between model and experimental data. This paper used two different kinds of objective functions. The first is called the instantaneous objective function. At every time point, it calculates the difference between the measured and the predicted concentration of each gas in the outlet. This difference is divided by the amount of that gas in the inlet. This gives us a dimensionless number that is something like the percent error in the predicted amount of gas. At every time where data is available, this “percentage” is computed and the results are all added together. The formula is given below: The other is slightly more complicated, and it is called the cumulative objective function. Instead of evaluating the difference at every time point, the cumulative objective function sums up the differences over time. That means that if the model is off by just a little bit, but it stays off by that little bit over a long period of time, the cumulative objective function will grow. The formulas are given below: The objective functions are large when the model does not match up with experiment very well. Therefore, a good model minimizes the objective function. We need a good way to pick parameters that minimize the objective function. The authors chose a technique called the genetic algorithm.
Genetic Algorithm An easy way to understand the basics of the genetic algorithm is to make a parallel to Darwin’s theory of survival of the fittest. Evolution occurs because the fittest individuals survive long enough to reproduce. When they do so, they pass on their traits to the next generation. Combined with a small amount of genetic mutation, this is how the traits of the offspring are determined, and how more and more evolved species develop over time. If we think about sets of kinetic parameters as “individuals” in a “population,” then we can use the law of survival of the fittest to reach the optimum parameter set. To assign a fitness value for an individual parameter set, we decide how closely it matches experimental data when run through the computer model. To do this quantitatively, we determine how well it minimizes the objective function. If the objective function is small, then we have a fit individual. Otherwise, we have an unfit individual. Once we have measure the fitness of the individuals, only fit individuals are allowed to “reproduce,” or exchange parameters. Some parameters are taken from each parent. We can also perform the equivalent of genetic mutation by introducing a small random change in the parameter set. Now we can see the whole procedure. 1. Produce many random individuals (starting population). 2. Send each individual through the computer model. 3. Calculate the objective function for each individual. 4. Throw away the individuals with the highest objective function. 5. Mix the traits of the remaining individuals (reproduction). 6. Apply a small random change to just a few parameters (mutation). 7. Check if convergence is reached; if not, go back to step 2. Convergence is when the amount of change between generations is small. It is an indication that we have reached an overall minimum for the objective function, so no further optimization is possible. A diagram of how these steps might be carried out is shown below. Sensitivity Only the most sensitive parameters should be tuned. Trying to tune insensitive parameters could lead to values that make no sense (e.g. rate constants off by many orders of magnitude, negative rate constants). The authors identify the most sensitive parameters by performing a sensitivity analysis; that is, they test how modifying each individual parameter a little bit away from its initial value affects the output of the model. If modifying a parameter a little bit affects the output a great deal, it is a highly sensitive parameter. For example, here is the graph showing what happened when parameter k_{11} was modified. Recall that the objective function has three different parts because there are three different species being studied in the exhaust – carbon monoxide, hydrocarbons (unburned fuel residue), and nitrous oxide. Each of these parts responds differently to a change in a given parameter. In this case, we see that the objective function for HC is insensitive to changing k_{11}, but CO and NO are both very sensitive. Adding everything up, this makes the model sensitive to a change in k_{11}. The authors repeat this process for each of the 15 rate constants in their model.
Tuning Using the techniques described in the earlier sections, the authors were able to tune the parameters in their model. To show how well the technique works, here are a series of their graphs. This first plot shows the results of tuning just one parameter. The tuned and original models are basically right on top of each other, and neither one is a good prediction of the real data: The authors tuned more parameters in order to get a better fit. The next plot shows the results of tuning three parameters. Now, the tuned model shows marked improvement over the default: Now tuning seven paramenters, the tuned model lines up very well with experiment: Results The tuned model can be used to simulate a TWC under other operating conditions. Unfortunately, there are some limitations to this. When the operating conditions are changed too much, the model may need to be tuned again. There is a limited region in which this model can predict the exhaust composition. Why is this true? The answer is that the model is imperfect. It is impossible to write down every single reaction that is taking place inside the TWC; it is just too complex. As a result, our computer model will never contain everything that is actually occurring. Despite this inability to be perfect, the tuned model still outperforms the default model considerably, as shown above.
