All Posts

GSoC 2020: Developing a 0-D Steady-State Combustion Solver for Cantera

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.

Read more ...


GSoC 2020: A description of the 0D steady-state solution method

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:

Read more ...


GSoC 2020: How Does Cantera’s Reactor Network Time Integration Feature Work?

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 Reactors, which is then passed off to an Integrator object for solution. What is an Integrator? How does this work?

Read more ...


Renaming Cantera’s default branch

There has been a growing awareness that the use of the name master for the default branch in Git repositories perpetuates the use of the language of oppression. It has also been shown that the use of the term master in Git likely does stem from the harmful master/slave metaphor, which it inherited from an earlier piece of software.

Read more ...


GSoC 2020: Developing a 0-D Steady-State Combustion Solver for Cantera

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!

Read more ...


GSoC 2020: Developing a 0-D Steady-State Combustion Solver for Cantera

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.

Read more ...


GSoC 2020 - Developing a 0-D Steady-State Combustion Solver for Cantera

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).

Read more ...


NSF awards Cantera Project $2.5M through 2022

We are proud to announce that NSF has awarded funds to members of the development team and steering committee, under the Cyberinfrastructure for Sustained Scientific Innovation (CSSI) program. The proposal, titled Extensible and community-driven thermodynamics, transport, and chemical kinetics modeling with Cantera: expanding to diverse scientific domains, was awarded $2.5M USD to enable new scientific modeling capabilities, improvements to the Cantera software architecture, and perform community development activities. These activities will help further Cantera’s primary objective, which is a generalizable software package to assist users in a variety of fields with a range of calculations related to thermodynamics, chemical kinetics, and species transport.

Read more ...


GSoC 2019 Fourth Blog

After two months, the functions of ChemCheck are fairly robust. We improved editing and ck2yaml error reporting pages this week, and we added pages for user account management.

Read more ...


GSoC Third Blog – Function update

As we planned after the first evaluation, the functionality of ChemCheck should be more robust. File replacement was added, and users are able to update and delete files arbitrarily.

Read more ...


GSoC 2019 First Evaluation

Thanks to the instructions from mentors Richard West (@rwest), Bryan Weber (@bryanwweber) and Kyle Niemeyer (@kyleniemeyer), the website is functioning after the first month, and we will keep improving it in the rest of the GSoC time. From what I mentioned in the last post, ChemCheck is a web-based application for visualizing and diagnosing syntax and chemical errors in Chemkin and Cantera input files. In this case, we created basic functions that allow users to convert their mechanism files to Cantera YAML input files easily (Cantera input file is going to be changed from CTI file to YAML file, so we made some adjustments as well).

Read more ...


GSoC 2019: PyCanChemAndYouCan2 (ChemCheck)

Hi everyone! I’m Chao Xu, a master student in Chemical Engineering at Northeastern University. I am working on a Cantera project in GSoC 2019 with my mentor Richard West (@rwest) and other Cantera committee members (@bryanwweber, @kyleniemeyer). I am glad to introduce my project here!

Read more ...


KinCodeCon 2018

Thanks to the support of NumFOCUS via a small development grant, the Cantera Steering Committee met in person on MIT’s campus in Cambridge, MA, at the 3rd Annual KinCodeCon on November 16–18, 2018.

Read more ...


Cantera 2.4.0

We are pleased to announce the release of Cantera 2.4.0. Cantera 2.4.0 includes more than 380 commits to the code since 2.3.0, merges more than 70 pull requests, and closes almost 60 issues. In this release, we improved the maintainability of Cantera by removing or deprecating old, untested code, moving the website and Mixmaster to separate repositories, and automating more of the build/testing process. We also added new features to the 1-D reactor code (among other areas), including adding an ionized gas transport class and the IonFlow and BurnerIonFlame classes, providing better accessing to callbacks during 1-D solutions, and automatically detecting certain common failure conditions of the 1-D solver. This release of Cantera was made possible by contributions from 14 developers: @speth, @bryanwweber, @BangShiuh, @decaluwe, @wandadars, @jsantner, @arghdos, @rwest, @g3bk47, @awehrfritz, @band-a-prend, @vdevgan, @KyleLinevitchJr, and @MarcDuQuesne.

Read more ...


The New Cantera Website is Here!

This summer, Bryan Weber and Steven DeCaluwe took on the project of revamping the Cantera website. The old website was, well, old and needed to be refreshed. Thanks to a grant from NumFOCUS, Bryan and Steven were able to completely redo the website!

Read more ...