CBE30338
Chemical Process Control
Install / Use
/learn @jckantor/CBE30338README
CBE 30338 Chemical Process Control
This repository comprises a collection of Jupyter/Python notebooks in support of CBE 30338 Chemical Process Control, a course taught at the University of Notre Dame. Please note there is a companion site CBE 32338 Process Control Laboratory with additional notebooks demonstrating the practical implementation of these concepts using the Temperature Control Laboratory.
The links below display the notebooks as regular HTML web pages. From there you can run the notebook on Google Colaboratory or download to run on your own laptop. To run on your own laptop you will need to install Jupyter and Python 3, such as the excellent Anaconda distribution from Continuum Analytics.
Please let me know (jeff at nd.edu) if you any thoughts or suggestions on how these notebooks could be improved for teaching and learning the principles of Chemical Process Control.
Table of Contents
Chapter 1.0 Getting Started
- 1.1 Getting Started with Python and Jupyter Notebooks
- 1.2 Python Basics
- 1.3 Python Conditionals and Libraries
- 1.4 Python Numeric Integration Revisited
Chapter 2.0 Process Modeling
- 2.1 Process Variables
- 2.2 Gravity Drained Tank
- 2.3 Blending Tank Simulation
- 2.4 Continuous Product Blending
- 2.5 Hare and Lynx Population Dynamics
- 2.6 Exothermic Continuous Stirred Tank Reactor
- 2.7 Fed-Batch Bioreactor
- 2.8 Model Library
Chapter 3.0 Linearization
- 3.1 Step Response of a Gravity Drained Tank
- 3.2 Linear Approximation of a Process Model
- 3.3 Linear Approximation of a Multivariable Model
- 3.4 Fitting First Order plus Time Delay to Step Response
- 3.5 One Compartment Pharmacokinetics
- 3.6 Second Order Models
- 3.7 Interacting Tanks
- 3.8 Manometer Models and Dynamics
- 3.9 Modeling and Control of a Campus Outbreak of Coronavirus COVID-19
Chapter 4.0 PID Control
- 4.1 Implementing PID Controllers with Python Yield Statement
- 4.2 PID Control with Setpoint Weighting
- 4.3 PID Control with Bumpless Transfer
- 4.4 PID Control with Anti-Reset-Windup
- 4.5 Realizable PID Control
- 4.6 PID Controller Tuning
- 4.10 PID Control - Laboratory
- 4.11 Implementing PID Control in Nonlinear Simulations
- 4.12 Interactive PID Control Tuning with Ziegler-Nichols
Chapter 5.0 Frequency Domain Control Design
- 5.1 Getting Started with Transfer Functions
- 5.2 Closed-Loop Transfer Functions for Car Cruise Control
- 5.3 Creating Bode Plots
- 5.4 Controller Tuning Rules in Frequency Domain
- 5.5 Baroreflex as a Linear Control System
Chapter 6.0 Optimization
- 6.1 Unconstrained Scalar Optimization
- 6.2 Linear Production Model
- 6.3 Linear Programming
- 6.4 Linear Production Model in Pyomo
- 6.4 Linear Programming in Pyomo
- 6.6 Linear Blending Problem
- 6.7 Design of a Cold Weather Fuel
- 6.8 Gasoline Blending
- 6.99 Pyomo Examples
Chapter 7.0 Simulation and Optimal Control
- 7.1 Simulation and Optimal Control in Pharmacokinetics
- 7.2 Soft Landing a Rocket
- 7.3 Simulation in Pyomo
- 7.4 Simulation of an Exothermic CSTR
- [7.5 First Order System in Pyomo](http://nbviewer.jupyter.org/github/jckantor/CBE30338
Related Skills
node-connect
339.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.8kCommit, push, and open a PR
