Encouraging Modern Software Development Practices for Combustion

Presented at the 2017 SIAM International Conference on Numerical Combustion

Modern combustion research, both computational and experimental, relies on software and computational tools. However, due to a lack of saturation of modern software development practices, researchers often develop their tools in a manner that can take too long, lead to duplicated work, impede reproducibility, and lack verification. This talk will motivate the use of tools and strategies that can save time, ensure trust in computed results, and encourage the adoption, further development, and reuse of research software in combustion and chemical kinetics. Techniques to be introduced include version control, software unit and functional testing, continuous integration, peer code review, reproducibility, benefits of releasing research software openly, and appropriate software citation. These topics will be explored using mature combustion research software such as Cantera and RMG, as well as newer packages like pyJac and PyKED, as examples.