Coupled Time Integration and Globalised Newton's method for Faster Solution of Chemical Reactor Networks
More Info
expand_more
Abstract
In the present era of environment-friendly and clean combustion systems, there is an increasing demand for fast and accurate tools for emission predictions. The best choice is the CFD-CRN method which is a combination of computational fluid dynamics (CFD) and chemical reactor network (CRN) for decoupled simulation of fluid flow and detailed chemical kinetics. This thesis describes an improved solver implementation for resolving a constructed CRN using only global resolution methods and debunks the notion of needing any form of sequential resolution. This research focuses on further improving the Python based computational tool AGNES, developed at the Delft University of Technology. AGNES can automatically cluster CFD cells into reactors, solve the network and visualise the results [?][?]. This project aims at boosting the performance by reducing computation time and selecting a PETSc [1] based global resolution approach using time integration and Newton’s method. Sandia flame D, a piloted methane-air jet flame (Re=22400) [2], is chosen as the test case. The CRN results for species concentration, mainly NO and CO, are validated with the experimental data and CFD simulation results to ensure no compromise on the accuracy. The solution time and convergence ratewere compared for pre-research AGNES (AGNES v1.1) and the current version (AGNES v1.2). Results show that opting for an entirely global resolution approach is computationally feasible at higher reactor count (more than 500 reactors) and proves superior to the pre-research version. The achieved speedup is around 13% and with smart Jacobian evaluation, this is risen up to 21%. The potential reason for the improved performance is identified as the capability of the global time integration method (in place of local sequential resolution approach) to provide sufficient convergence with an increasing number of reactors and increased complexity. Moreover, the solver can be further augmented by selecting an efficient way for Jacobian calculations either by using automatic differentiation or simplifying the current Python loop approach.