Application of Algorithmic Differentiation for Exact Jacobians to the Universal Laminar Flame Solver

  • Alexander HückEmail author
  • Sebastian Kreutzer
  • Danny Messig
  • Arne Scholtissek
  • Christian Bischof
  • Christian Hasse
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10862)


We introduce algorithmic differentiation (AD) to the C++ Universal Laminar Flame (ULF) solver code. ULF is used for solving generic laminar flame configurations in the field of combustion engineering. We describe in detail the required code changes based on the operator overloading-based AD tool CoDiPack. In particular, we introduce a global alias for the scalar type in ULF and generic data structure using templates. To interface with external solvers, template-based functions which handle data conversion and type casts through specialization for the AD type are introduced. The differentiated ULF code is numerically verified and performance is measured by solving two canonical models in the field of chemically reacting flows, a homogeneous reactor and a freely propagating flame. The models stiff set of equations is solved with Newtons method. The required Jacobians, calculated with AD, are compared with the existing finite differences (FD) implementation. We observe improvements of AD over FD. The resulting code is more modular, can easily be adapted to new chemistry and transport models, and enables future sensitivity studies for arbitrary model parameters.


Combustion engineering Flamelet simulation Algorithmic differentiation Exact Jacobians Newton method C++ 


  1. 1.
    Carmichael, G.R., Sandu, A., et al.: Sensitivity analysis for atmospheric chemistry models via automatic differentiation. Atmos. Environ. 31(3), 475–489 (1997)CrossRefGoogle Scholar
  2. 2.
    Ferraris, G.B., Manca, D.: Bzzode: a new C++ class for the solution of stiff and non-stiff ordinary differential equation systems. Comput. Chem. Eng. 22(11), 1595–1621 (1998)CrossRefGoogle Scholar
  3. 3.
    Griewank, A., Walther, A.: Evaluating Derivatives. Society for Industrial and Applied Mathematics (SIAM), 2nd edn. (2008)Google Scholar
  4. 4.
    Hindmarsh, A.C., Brown, P.N., Grant, K.E., Lee, S.L., Serban, R., Shumaker, D.E., Woodward, C.S.: SUNDIALS: suite of nonlinear and differential/algebraic equation solvers. ACM Trans. Mathe. Softw. (TOMS) 31(3), 363–396 (2005)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Hück, A., Bischof, C., Sagebaum, M., Gauger, N.R., Jurgelucks, B., Larour, E., Perez, G.: A Usability Case Study of Algorithmic Differentiation Tools on the ISSM Ice Sheet Model. Optim. Methods Softw., 1–24 (2017)Google Scholar
  6. 6.
    Hück, A., Utke, J., Bischof, C.: Source transformation of C++ codes for compatibility with operator overloading. Proc. Comput. Sci. 80, 1485–1496 (2016)CrossRefGoogle Scholar
  7. 7.
    Kee, R.J., Grcar, J.F., Smooke, M.D., Miller, J.A., Meeks, E.: PREMIX: A Fortran Program for Modeling Steady Laminar One-Dimensional Premixed Flames. Technical report SAND85-8249, Sandia National Laboratories (1985)Google Scholar
  8. 8.
    Metcalfe, W.K., Burke, S.M., Ahmed, S.S., Curran, H.J.: A hierarchical and comparative kinetic modeling study of C1–C2 hydrocarbon and oxygenated fuels. Int. J. Chem. Kinet. 45(10), 638–675 (2013)CrossRefGoogle Scholar
  9. 9.
    Pawlowski, R.P., Phipps, E.T., Salinger, A.G.: Automating embedded analysis capabilities and managing software complexity in multiphysics simulation, part I: template-based generic programming. Sci. Program. 20(2), 197–219 (2012)Google Scholar
  10. 10.
    Peters, N.: Laminar flamelet concepts in turbulent combustion. Symp. (Int.) Combust. 21(1), 1231–1250 (1988)CrossRefGoogle Scholar
  11. 11.
    Probst, M., Lülfesmann, M., Nicolai, M., Bücker, H., Behr, M., Bischof, C.: Sensitivity of optimal shapes of artificial grafts with respect to flow parameters. Comput. Methods Appl. Mech. Eng. 199(17–20), 997–1005 (2010)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Wang, H., You, X., Joshi, A.V., Davis, S.G., Laskin, A., Egolfopoulos, F., Law, C.K.: USC Mech Version II. High-Temperature Combustion Reaction Model of H2/CO/C1-C4 Compounds (2007).
  13. 13.
    Zschutschke, A., Messig, D., Scholtissek, A., Hasse, C.: Universal Laminar Flame Solver (ULF) (2017).

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Alexander Hück
    • 1
    Email author
  • Sebastian Kreutzer
    • 1
  • Danny Messig
    • 2
  • Arne Scholtissek
    • 2
  • Christian Bischof
    • 1
  • Christian Hasse
    • 2
  1. 1.Institute for Scientific ComputingTechnische Universität DarmstadtDarmstadtGermany
  2. 2.Institute of Simulation of reactive Thermo-Fluid SystemsTechnische Universität DarmstadtDarmstadtGermany

Personalised recommendations