About PyChemEngg

PyChemEngg is a python-based framework to promote problem solving and critical thinking in chemical engineering.

Computers have changed every aspect of human life, and exciting advancements in quantum computing, articial intelligence and other revolutionary technologies are expected to make computational thinking even more integral to the work space.

To better prepare the future generations of chemical engineers, it is important to therefore incorporate a greater degree of computational thinking in their education. This however, should not mean that students instead of using calculators should start coding and translating mathematical equations and formula into a program using a software language. Doing so will not enhance engineering thinking. Instead, the computational tools should be used to reinforce concepts, and train the students in problem solving.

One way to do this is to use a framework that encapsulates the equations and formula into words, and allows use of these words to build solutions. PyChemEngg strives to do just that.


The PyChemEngg package has the following philosophy:

The package should facilitate student learning. The package should not become a black box such that it hides the underlying fundamentals of chemical engineering. Instead the package should reinforce chemical engineering principles, and stimulate students to think.

In keeping with the above philosophy and for making learning intuitive, symbolism has been avoided and the public API contains only keyword arguments, and the names of the keywords have been kept as close as possible to their corresponding descriptive names of concepts and quantities.

The expectation is that use of words rather than symbols will reinforce concepts and promote deeper learning and thinking.

Why use Python to make this framework ?

Python is known for its simple syntax, English-like commands, and ease of learning. Python also has a mature ecosystem with respect to support libraries and packages such as numpy, scipy, and matplotlib, which can provide a comprehensive support in developing such as framework. Therefore, Python is a natural choice for developing this framework, and thus the idea of PyChemEngg was born.

An additional benefit of Python is its popularity in scientific and technical computational areas such as artifical intelligence, machine learning, and data science. Therefore, by using Python, the future generation of chemical engineers will be able learn Python, a skill that is already in demand in the industry. This will make the chemical engineers even more versatile.

Reference Guide

How to install PyChemEngg

PyChemEngg can be installed using pip : pip install pychemengg

Project status

PyChemEngg is in a state of development and evolution. In the near future, there will be support for different topics such as:

  • Material Balances

  • Heat Transfer

  • Fluid Flow

  • Thermodynamics

  • Chemical Reaction Engineering

  • Process Control

At this time the following has been accomplished.

  1. Material Balances : Physical balance module is ready and is being documented.

  2. Heat Transfer : Modules for common topics generally taught are ready and released as a beta version.

To do

  1. Gather feedback from constituents (instructors and students) to revise the design if needed.

  2. Create other modules.


Created by [ ] (, feel free to contact me.

License information

PyChemEngg is open source and is available under the MIT license.