This article applies object-oriented methods to model power plant boiler modules systems and establishes a simulation program library using C++ language. Depending on different simulation purposes and boiler modules systems, this program library can easily create simulation models that meet user requirements. Finally, a simulation curve of a 210MW boiler under load fluctuations is provided.

#### Introduction-Research on Simulation Modeling of Power Plant Boiler Modules

In recent years, power systems have become increasingly complex, and there is a growing demand for improved efficiency and quality of electrical energy. Consequently, the control and operation of boiler systems, as crucial energy-producing equipment, have also faced higher requirements. To meet these demands, it is essential to enhance the study of power plant boiler system operations and the training of boiler operators. Currently, these tasks are mainly accomplished through computer-based boiler simulation systems.

Since the 1960s, there has been extensive research on boiler modules system models, and corresponding simulation programs have been developed. These programs are typically created using high-level procedural languages or specialized simulation languages. To shorten the program development cycle, a basic model represented by graphical blocks has been proposed. By assembling these graphical blocks, simulation software can automatically generate simulation programs, making modeling more convenient. However, this method has limitations, as the accuracy of system simulation is determined by the language used, and the simulation models embedded in the simulation language cannot be easily modified or expanded. In practice, different simulation purposes require different levels of model descriptions or model accuracy, making it challenging to alter existing models in complex system simulations. Thus, specialized simulation languages have significant limitations. Object-oriented methods can address this issue, and they have gained increasing attention. This paper conducts an in-depth analysis of power plant boiler system models and establishes a simulation program library using C++ language. This program library can be used for personnel training and boiler simulation for control system parameter tuning.

#### Analysis of Power Plant Boiler Modules

Power plant boilers are complex, nonlinear continuous systems involving thousands of variables. In the modeling process, the system is commonly decomposed into smaller, independent blocks based on functionality or convenience. Each block is modeled separately, and the blocks are connected according to data transmission relationships to form the overall simulation model of the system. The power plant boiler modules system can be divided into models as follows:

First, the following definitions and assumptions are given:

- Points connecting two sub-models are called nodes. At these nodes, fluid flow characteristics remain unchanged, meaning the fluid state is continuous or the chemical composition of the fluid remains unchanged. The output of model 1 equals the input of model 2.
- The state of each module is represented by its internal characteristic parameters. Changes in these parameters only affect the output, not the input. Modules interact only through nodes, and internal characteristic parameters of different models do not influence each other.

Based on these assumptions, a general mathematical model of the boiler modules system can be established. Suppose the power plant boiler system is decomposed into N modules (parts). The i-th module is described by Pi input variables U_{i}, R_{i} internal variables Xi, and Qi output variables Y_{i} (U_{i}, X_{i}, Yi are column vectors). Due to the spatial and temporal distribution characteristics of the boiler modules system, the description equations generally include partial derivatives with respect to space and time, making the equations infinite-dimensional and unsuitable for real-time simulation. Therefore, for each module, mass balance, momentum balance, and energy balance laws are applied to establish lumped parameter equations for the unknown variables. Suppose each module can establish Mi equations, i.e., Y_{i }= F_{i}(X_{i}, U_{i}), where i = 1, 2, …, F_{i}. For nodes connecting modules, according to assumption 1, the output of the previous module equals the input of the next module, i.e., Y_{i}-1 = U_{i}.

The above equations can be divided into two types:

If the output variable Yi of a module is also considered a state variable, the typical module equation is: Gi(x_{1} , x_{2} , … , x_{n})=Fi(x_{1} , x_{2} , …x_{n}) (1)

This equation is generally nonlinear. By expanding the Taylor series and taking the first-order approximation, we get:

In equation (3), ′*x _{i}*′ is already determined in the previous iteration of the simulation or during program initialization, so the partial derivative terms are also known.

The second type of equation determines the properties of water, steam, flue gas, etc. One method is to use lookup tables and interpolation, which provides sufficient accuracy but requires significant space and slow lookup speed. Another method is to use fitting formulas, which are faster but less accurate, though sufficient for simulation purposes.

From the linearized fluid (flue gas, steam, water) property fitting equations, some equation parameters can be obtained. The boundary conditions of specific boiler modules systems (e.g., structural parameters) are also known. Additionally, the initial values of ′*x _{i}*′ in equation (3) need to be obtained through initialization. If the number of equations equals the number of unknowns, the system can be solved.

#### Object-Oriented Modeling Method

##### Object-Oriented Programming Method

Since the advent of object-oriented programming in the 1960s, the technology has matured significantly. Object-oriented programming provides a completely different approach to implementing simulation models, directly related to the characteristics of the actual system. By deeply analyzing the commonalities among different sub-parts of the system, further abstraction into classes is possible. Using inheritance, many classes can be derived from a single class, allowing subclasses to inherit the characteristics of the parent class, thus achieving different functionalities with a unified interface. This improves program reusability and applicability.

##### Hierarchical Structure of Boiler System Model Classes

The advantage of object-oriented simulation is that the model can be easily expanded based on the original model. Generally, different simulation purposes require models at different levels. Here, the level of description representing certain characteristics of the object is called the layer, and the sum of related layers forms the mathematical model, creating a hierarchical structure. The lower the position of the layer, the more detailed the description of the object; the higher the position, the more macroscopic the description. Each layer consists of models from lower layers. When programming with object-oriented methods, it is necessary to analyze the internal structure of each object block in detail, further dividing it into smaller parts based on functionality and abstracting similar functional parts of different object blocks to have the same structure or composition, enabling implementation with a single class and improving program reusability.

For example, the working process of a superheater is as follows: high-temperature flue gas flows in the flue and transfers heat to the superheater tube wall by convection and radiation, reducing the flue gas temperature from the inlet *tg*1 to the outlet *tg*_{2}. The heat is conducted through the metal heat pipe wall to the inner wall and then transferred mainly by convection, with some conduction, to the steam inside the tube, raising the steam temperature from the inlet *t*_{1} to the outlet *t*_{2}. The pressure of the flue gas on the flue side decreases from the inlet *pg*_{1} to the outlet *pg*_{2} due to flow resistance. Similarly, the pressure of the superheated steam decreases from the inlet *p*_{1} to the outlet *p*_{2}. The temperature changes of the flue gas and steam are determined by their properties. The hierarchical structure of the superheater model class is shown in Figure 3.

By using object-oriented programming methods to assemble the program into modular models, the program can adapt to different structural changes and make modifications based on the original model, further improving program efficiency. For example, the superheater model described above can be applied to any part with tubular heat exchange. If the gases or liquids flowing inside and outside the superheater tubes differ, their characteristic equations can be changed as needed.

#### Simulation Application

A simulation was conducted on a 670-ton coal-fired boiler with a single drum, natural circulation, forced draft, and solid-state slag removal. The superheated steam system has three stages of water spray desuperheaters. The main parameters of the boiler modules system are shown in Table 1.

**Table 1: Boiler System Parameters**

No. | Item | Unit | Design Data |
---|---|---|---|

1 | Rated Evaporation | t/h | 670 |

2 | Reheat Steam Quantity | t/h | 590 |

3 | Drum Working Pressure | MPa | 15.8 |

4 | Superheater Outlet Steam Pressure | MPa | 13.8 |

5 | Reheater Inlet Steam Pressure | MPa | 2.71 |

6 | Reheater Outlet Steam Pressure | MPa | 2.46 |

7 | Superheated Steam Temperature | MPa | 545 |

8 | Reheater Inlet Steam Temperature | ℃ | 330 |

9 | Reheater Outlet Steam Temperature | ℃ | 545 |

10 | Feed Water Temperature | ℃ | 242 |

Figure 4 shows the simulation curves when the steam flow rate undergoes a 10% step disturbance. Figures (a) and (b) show the response curves of drum water level and pressure when the steam flow rate undergoes a positive step disturbance. Figures (c) and (d) show the response curves of drum water level and pressure when the steam flow rate undergoes a negative step disturbance.

From Figures 4(a) and (c), it can be seen that when the steam flow rate undergoes a +5% step disturbance, the boiler water level suddenly increases; when the steam flow rate undergoes a -5% step disturbance, the boiler water level suddenly decreases. This is known as the false water level phenomenon. From the response curves of boiler pressure (Figures 4(b) and (d)), it can be seen that when the steam flow rate undergoes a positive step disturbance, the drum pressure gradually decreases and eventually stabilizes; when the steam flow rate undergoes a negative step disturbance, the pressure changes in the opposite direction and also eventually stabilizes. Additionally, the response delay of the drum water level and pressure to the step disturbance in steam flow rate is not significant, as the response delay time is very short.

**Figure 4: Response Curves of Drum Water Level and Pressure to Steam Flow Disturbances**

- (a), (b) Response curves when steam flow undergoes a +5% step disturbance
- (c), (d) Response curves when steam flow undergoes a -5% step disturbance

### Conclusion

Based on a detailed analysis of power plant boiler models, this paper establishes a boiler simulation program library using object-oriented programming methods. This method provides a convenient way to model different boiler modules systems for various purposes. The program library can be easily expanded to improve model accuracy for more detailed descriptions. The developed program library was applied to simulate a 200MW power plant boiler, yielding satisfactory simulation results.

#### References

- C. Carcasci, B. Facchini. “A Numerical Method for Power Plant Simulations.” Transactions of the ASME, V118, Mar. 1996, pp. 36-43.
- Smith L.P., et al. “Modular Modeling System (MMS): A Code for the Dynamic Simulation of Fossil and Nuclear Power Plants.” EPRL CS/NP-2989, 1983.
- Chell A. Robert, et al. “An Overview of Object-Oriented Simulation.” Simulation, V70, N6, June 1998, pp. 359-368.
- S. Lu, B.W. Hogg. “Power Plant Analyzer – A Computer Code for Power Plant Operation Studies.” V10, N3, Dec. 1997, pp. 335-341.
- A. F. Neyer, et al. “Object-Oriented Programming for Flexible Software: Example of a Load Flow.” IEEE Transactions on Power Systems, V5, N3, Aug. 1990, pp. 689-696.
- Ni Weidou, et al. “Modeling and Control of Thermodynamic Systems.” Science Press, 1996.

Boiler Modules Boiler Modules Boiler Modules Boiler Modules Boiler Modules Boiler Modules Boiler Modules Boiler Modules Boiler Modules