Process Dynamics and Control

Process Dynamics and Control for Chemical Engineering focuses on the analysis, modeling, and control of dynamic process systems. These systems include chemical, biochemical, and biological processes that can be described using mathematical equations. The aim of this course is to simulate dynamics and implement control systems that ensure safe and efficient operation of the process, with minimal human intervention. This includes the use of advanced control techniques such as model predictive control.

This course focuses on a complete start to finish process of physics-based modeling, data driven methods, and controller design. Although some knowledge of computer programming is required, students are led through several introductory topics that develop an understanding of numerical methods in process control.

Each topic is divided into knowledge building, assessment (quiz), simulation exercise, and a Temperature Control Lab (TCLab) exercise. The TCLab exercise is with real data using an Open-Source Arduino lab.

This course focuses on methods that are used in practice for simple or complex systems. It is divided into three main parts including (1) data driven modeling and controller development, (2) physics-based modeling and controller development, and (3) advanced controls with optimization. Example problems are provided throughout in the Python programming language.


 John D. Hedengren
 Office: 330L EB, 801-422-2590
 john.hedengren [at]
 Office hours: Stop by anytime office is open, 330L EB
 Connect on LinkedIn

John Hedengren leads the BYU PRISM group with interests in combining data science, optimization, and automation with current projects in hybrid nuclear energy system design and unmanned aerial vehicle photogrammetry. He earned a doctoral degree at the University of Texas at Austin and worked 5 years with ExxonMobil Chemical prior to joining BYU in 2011.

Teaching Assistants

The office hours for the teaching assistants are held in CB Stepdown Lounge.

 LaGrande Gunnell
 llgunnell7 [at]>
 Responds on Discord ChE Channel
 T/Th 2-5 PM

 Jansen Berryhill
 jansenberryhill [at]
 M/W/F 9-10 AM (in class)
 Th 10-11 AM
 F  1-3 PM

Course Objectives

It is the intent of this course to help the student to:

  • Understand and quantitatively describe the dynamic behavior of process systems.
  • Learn the fundamental principles of classical control theory, including different types of controllers and control strategies.
  • Develop the ability to describe quantitatively the behavior of simple control systems and to design control systems.
  • Develop the ability to use computer software to help describe and design control systems.
  • Learn how to tune a control loop and to apply this knowledge in the laboratory.
  • Gain a brief exposure to advanced control strategies.

Additional Resources

Install Python

A first assignment for this course is to install Python. Recent versions are compatible with posted code examples including versions of Python 2.7 or Python 3+. Popular distributions are Anaconda, PyCharm, and