Posts by Paul Blum
GSoC 2020: Developing a 0-D Steady-State Combustion Solver for Cantera
- 31 August 2020
Combustion is a fundamental discipline of modern science, and understanding it has enabled the development of our technologies in electricity production, heating, transportation, and industry. Advancements in combustion science have been facilitated by our ability to simulate the phenomenon, made possible by computer software like Cantera. The goal of this project was to add a new solver to Cantera that would allow users to directly simulate zero-dimensional steady-state combustion, which can occur in reactors when internal chemical processes become perfectly balanced with one another. This type of idealized simulation can be used to quickly and accurately approximate the behavior of real combustion systems.
GSoC 2020: A description of the 0D steady-state solution method
- 18 August 2020
This summer I’ve been working to add a dedicated steady-state solver to Cantera’s ZeroD
reactor network simulation module. Inspired by my study of ZeroD
’s current ODE time-integration solver, CVodesIntegrator
(see this post), I developed a nonlinear algebraic solver class called Cantera_NonLinSol
to be used by ReactorNet
to solve the steady-state problem:
GSoC 2020: How Does Cantera’s Reactor Network Time Integration Feature Work?
- 26 July 2020
There’s a great description of the science behind Cantera’s reactor network simulation capabilities available on the Cantera website, here. This post will go into more developer-oriented detail about how the last step, ReactorNet
’s time integration methods, actually work. A ReactorNet
object doesn’t perform time integration on its own. It generates a system of ODE’s based on the combined governing equations of all contained Reactor
s, which is then passed off to an Integrator
object for solution. What is an Integrator
? How does this work?
GSoC 2020: Developing a 0-D Steady-State Combustion Solver for Cantera
- 29 June 2020
My work since last posting has been characterized by research and experimentation, and this blog post will highlight some of the findings that I’ve made. I have learned a lot about Cantera and combustion over the past two weeks, but more excitingly, I developed a working proof-of-concept 0-D steady-state solver, PSRv0.2!
GSoC 2020: Developing a 0-D Steady-State Combustion Solver for Cantera
- 15 June 2020
My original project proposal called for preliminary development in C and Python, primarily because I’ve worked with these languages in the past and would be able to start writing test code right away. However, I ultimately decided to learn and use C++ instead, and I’m very glad that I did. Most of the Cantera source code is written in C++, and being able to easily read and reference it without guessing at the syntax has proven invaluable in development so far.
GSoC 2020 - Developing a 0-D Steady-State Combustion Solver for Cantera
- 01 June 2020
Hello, world! My name is Paul Blum (@paulblum), and I’m an undergraduate student at the University of Connecticut studying Mechanical Engineering and Computer Science & Engineering. I was introduced to Cantera by @bryanwweber, one of my professors at UConn, as an undergraduate research project that might allow me to jointly apply concepts from both of my fields of study. Since then, I’ve completed some small projects for the Cantera software and its website (Cantera/cantera #709, Cantera/cantera-website #95, Cantera/cantera-website #98).