Coding in Chemical Engineering
By Mia Divecha
I am not a programmer, a software engineer or a developer. I did not study computer science, and I only took 2 CS classes in my life. And yet, as a PhD student in chemical engineering at the University of Minnesota, I use computational tools and code almost every single day! I studied chemical engineering in undergrad because I loved chemistry and math, and thought I could use engineering techniques to solve complex and interesting problems. I imagined that as a PhD student I would be in the laboratory, pipetting solutions and mixing chemicals around in beakers to accomplish this. Turns out, there are a lot of ways to explore science and engineering outside a laboratory — like using a computer!
As a PhD student in chemical engineering at the University of Minnesota, I use computational tools and code almost every single day!
My current research uses computational techniques to simulate how heat and mass move in complex systems. I can visualize how fluid would move in a system that is heated from the bottom (like a pan on the stove), versus heating from the top (like broiling). I can model and track how well mixed a salt-water solution would be if you swirled it at 10RPM versus 1RPM. Doing computational simulations are so powerful because they are often cheaper and quicker than doing experiments and they give you information that you could not measure in an experiment.
The program I use to solve these problems is written in C. Although I didn’t write it myself, I will often modify it in order to suit the problem I am trying to solve. While I would not consider myself a C programmer, I know enough about programming that I can pick up the syntax to address the problem at hand.
I also do a lot of post processing and Matlab and Python. The simulations often output a bunch of temperature and velocity data that I then need to transform into a plot. I can write Matlab scripts to make informative plots that can be easily read.
Additionally, I’m often repeating the same simulation with one variable changed while measuring the outcome. Instead of doing this manually, I can write scripts in Python to automate this! I have probably saved days of my life by automating these processes. It’s quite fun actually — I even have an app on my phone where I can remote login to my work computer to check on the simulations while I’m doing something fun… like kayaking on a lake here in beautiful Minnesota :).
It’s quite fun actually — I even have an app on my phone where I can remote login to my work computer to check on the simulations while I’m doing something fun… like kayaking on a lake here in beautiful Minnesota :).
I am so grateful for the computer science tools that I have learned that make me a better engineer.
Mia Divecha is a PhD student in Chemical Engineering at the University of Minnesota.
Tools and Languages Mentioned: C, Python, Matlab