Nonlinear Dynamic Model Library

This nonlinear model library is a collection of process models consisting of differential and algebraic equations. Applications include processes from life sciences, energy research, electric vehicles, distillation, and benchmarking applications. The library spans traditional to cutting edge technologies. It serves as a valuable starting point for the development of more sophisticated control or estimation exercises or for specific applications.

Some models are developed in the MATLAB language while others are in the Gekko Optimization Suite (Python) or the APMonitor modeling language (Matlab and Python). The link in the Download column is a zipped archive of all files needed to simulate the system for MATLAB. For APMonitor or Gekko models it is a link to the source model page. Finally, the description gives a brief overview of the model. Similar models are generally grouped together with the simplest model appearing first.

Type Download


Bioreactor Zoltan K. Nagy's Dynamic simulator for a yeast fermentation bioreactor
Blood Glucose Blood Glucose Model for Type-I Diabetic
Blood Glucose Blood Glucose Model for Insulin Control
Cell Culture Cell culture population dynamics
DC Motor Electric Vehicle with Roger Aarenstrup's DC motor model
Diet Minimize cost while meeting nutritional needs
Distillation 1 Distillation Column (Constant Relative Volatility)
Distillation 1 Distillation Column (Constant Relative Volatility)
Distillation 2 Distillation Column with Wilson Eq and Psat/P constant
Distillation 3 Distillation Column with Wilson Equation
Distillation 4 Distillation Column with Enthalpy Equation
Electric Auto Electric Vehicle
Fermentation Yang Zhang's yeast fermentation bioreactor model
Fuel Cell Ben Spivey's Solid Oxide Fuel Cell Model
Fuel Ethanol Industrial scale corn ethanol plant
Gas Blend Gas blending optimization problem
Heated Rod Heated Rod with Nonlinear Model Reduction by Proper Orthogonal Decomposition
Hock Schittkowski Test suite of 119 optimization problems
Kite Moritz Diehl's Dual String Kite Model
Linear MPC Model Predictive Control with Linear State Space Models
Motor DC Motor
Oscillator Electrical Oscillator
Pendulum Inverted Pendulum
Pendulum Inverted Pendulum
Poly Reactor Yang Zhang's polyethylene reactor model
Reactor 1 CSTR with Jacket Dynamics (A->B)
Reactor 1 CSTR with Jacket Dynamics (A->B)
Reactor 2 CSTR with Jacket Dynamics (A-B-C-D)
Reactor 3 CSTR with Jacket Dynamics (A->B->C)
Reactor 4 2 CSTRs in Series (A->B)
Reactor 5 2 CSTRs in Series with Jacket Dyn (A->B)
Reactor 6 CSTR
Shuttle Endeavor Space Shuttle Launch
Solar Solar Collector
Speed Control Cruise Control
Speed Control Cruise Control (with Disturbance)
Spring Spring
Stocks Dow Jones Industrial Stocks
Submarine Underwater Vehicle
Tank Gravity Drained Water Tank
Tank Gravity Drained Water Tank
TCLab PID Temperature Control Lab (TCLab) Benchmark
TCLab MPC Advanced Modeling and Control Benchmark
Thermo Thermodynamic property data as a web service
Yacht Yacht engine control with approach to dock

The library consists of nonlinear models that include chemical reactors, binary distillation columns, and simple mechanical systems. The complexity of the models range from a simple ODE model with 1 input and 1 state to a large DAE model with 2 inputs and 125 states.

Most of the models are taken from published articles. Currently, all the models are written in MATLAB, APMonitor, or Gekko. Each one has a step response driver where the model response is computed with an numerical solution engine such as the MATLAB integrator (e.g. ODE15s).

CSTR - Continuously Stirred Tank Reactor

The CSTR model with A->B exothermic reaction is the most popular model in the library. It is a standard model that has been used in reaction engineering textbooks, simulation and control research, and demonstrations for industrial software.

The model has 2 states: the concentration of A and the temperature of the reaction vessel liquid. The manipulated variable is the jacket water temperature. At a jacket temperature of 305K, the reactor model has an oscillatory response. The oscillations are characterized by reaction run-away with a temperature spike. When the concentration drops to a low value, the reactor cools until the concentration builds and there is another run-away reaction.

CSTR - Continuously Stirred Tank Reactor with Intermediate Species

Models 1-5, 10 are all variations of the CSTR model. Model 3 in particular, has a reaction intermediary (B). There is an additional equation and variable to account for the intermediate reaction step.

Binary Distillation Column with 30 trays (cyclohexane n-heptane)

Distillation column models are generally good test models for nonlinear model reduction and identification. The concentrations at each stage or tray are highly correlated. The dynamics of the distillation process can be described by a relatively few number of underlying dynamic states. A couple papers have been published with this model as an example application. One in particular is:

Hahn, J. and T.F. Edgar, An improved method for nonlinear model reduction using balancing of empirical gramians, Computers and Chemical Engineering, 26, pp. 1379-1397, (2002)

This response shows the system response after a step change in the reflux ratio. Each trajectory represents the mole fraction of cyclohexane at each tray. The top reflux material becomes less pure (more n-heptane) due to the increased draw from the top of the column.

Cruise Control with Disturbance

This simple mechanical model is of an object that is seeking to maintain constant speed while subject to disturbances. In this case, the disturbance is the incline or decline angle.

Gravity Drained Water Tank

This gravity drained water tank was a control experiment for Tom Edgar's undergraduate control course. The students had to perform experiments to determine the process time constant and tune a PID controller. The model gave excellent predictions of level (or volume) and was used to demonstrate the advantage of model predictive control (MPC) over PID control for level control.

The response shows the inlet valve 80% open for 60 seconds. The volume reaches 1400 mL before the inlet value is shut and the tank drains.

Human Blood Glucose Model for Insulin Control - Type I Diabetes

This model is combined from two related papers:

S. M. Lynch and B. W. Bequette, Estimation based Model Predictive Control of Blood Glucose in Type I Diabetes: A Simulation Study, Proc. 27th IEEE Northeast Bioengineering Conference, IEEE, 2001.


S. M. Lynch and B. W. Bequette, Model Predictive Control of Blood Glucose in type I Diabetics using Subcutaneous Glucose Measurements, Proc. ACC, Anchorage, AK, 2002.

It is a simple 3 state model that effectively describes blood glucose and insulin dynamics. The 3 states are plasma glucose concentration (mmol/L), plasma insulin concentration (mU/L) in remote compartment, and plasma insulin concentration (mU/L). The principal disturbance variable is the glucose input.

Yeast Fermentation Bioreactor

Zoltan Nagy contributed this model of a continuous plug flow fermentation reactor. Oxygen solubility is a function of the minerals that are present in solution.

You can make this library better by submitting your own models or improvements to the current set. Thousands of visitors download these models every month, making this site a great platform for disseminating research and networking with interested companies. For new submissions, please use the MathWorks File Exchange or post the model on Stack Overflow.