Main

Process Dynamics and Control in Python

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

Professor

 John D. Hedengren
 Office: 330 EB, 801-422-2590
 john.hedengren [at] byu.edu
 Office hours M, W, Fr 2-3 PM (after class), 330 EB
 Connect on LinkedIn

John Hedengren worked 5 years with ExxonMobil Chemical on Optimization solutions for the petrochemical industry. He conducts research in optimization methods, modeling systems, and applications in Chemical Engineering. The PRISM group is actively working on oil and gas drilling automation, reservoir engineering, process optimization, unmanned aerial vehicles, and systems biology.

Teaching Assistants

The office hours for the teaching assistants are held in CB 217 (UO Lab).

 Pierre Kawak
 Office Hours: MWF 12-1 PM
 b00039424 [at] gmail.com

 Dan Addington
 Office Hours: T/Th 4-7 PM
 danieladdington2005 [at] gmail.com 

 Mehran Soltani
 mehransoltani1369iut [at] gmail.com
 Grades Homework 

Course Objectives

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

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

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 Python.org.