Dynamics and Control with Jupyter Notebooks
  • 1. Getting Started
    • 1.1. Python and the Jupyter notebook
      • 1.1.1. Introduction to Sympy and the Jupyter Notebook for engineering calculations
      • 1.1.2. Python stuff not done in MPR
      • 1.1.3. The Jupyter notebook cheat sheet
  • 2. Dynamics
    • 2.1. Modelling
      • 2.1.1. The draining cup problem
    • 2.2. Time domain simulation
      • 2.2.1. Equation solving tools
      • 2.2.2. The problem with simple math on computers
      • 2.2.3. Read simulation input from a file
      • 2.2.4. Fed Batch Bioreactor
      • 2.2.5. CSTR system
      • 2.2.6. Mixing system
    • 2.3. Linear systems
      • 2.3.1. Linearisation
      • 2.3.2. Laplace transforms in SymPy
      • 2.3.3. Convolution and transfer functions
      • 2.3.4. Visualising complex functions
    • 2.4. First and second order system dynamics
      • 2.4.1. Standard process inputs
      • 2.4.2. First order systems
      • 2.4.3. Second order systems
      • 2.4.4. Sinusoidal response
    • 2.5. Complex system dynamics
      • 2.5.1. Random response generator
      • 2.5.2. Simulation of arbitrary transfer functions
      • 2.5.3. Simplifying block diagrams
      • 2.5.4. Approximation
    • 2.6. Multivariable system representations
      • 2.6.1. Transfer function matrices
      • 2.6.2. State space representation
    • 2.7. System identification
      • 2.7.1. Regression
      • 2.7.2. Fitting step responses
      • 2.7.3. Neural network regression
      • 2.7.4. Identifying discrete-time models
    • 2.8. Frequency domain
      • 2.8.1. Fourier series
      • 2.8.2. What does a sinusoid sound like?
      • 2.8.3. Frequency response plots
      • 2.8.4. Asymptotic Bode diagrams
    • 2.9. Sampled systems
      • 2.9.1. Aliasing
      • 2.9.2. Filtering
      • 2.9.3. The \(z\)-transform
      • 2.9.4. The z domain and continuous systems
  • 3. Control
    • 3.1. Conventional feedback control
      • 3.1.1. Instructions
      • 3.1.2. PID step responses
      • 3.1.3. First-order system with proportional control
      • 3.1.4. Closed loop controlled responses
    • 3.2. Laplace domain analysis of control systems
      • 3.2.1. Stability analysis
      • 3.2.2. SymPy Routh Array
      • 3.2.3. Root locus diagrams
    • 3.3. PID controller design, tuning and troubleshooting
      • 3.3.1. Direct synthesis PID design
      • 3.3.2. Minimal integral measures
      • 3.3.3. ITAE parameters for FOPDT system
    • 3.4. Frequency domain analysis of control systems
      • 3.4.1. Stability in the frequency domain
    • 3.5. Advanced control methods
      • 3.5.1. Dead time compensation
    • 3.6. Discrete control and analysis
      • 3.6.1. Discrete control
      • 3.6.2. Discrete PI with ITAE parameters
      • 3.6.3. Dahlin controller
      • 3.6.4. Simple discrete simulation: Dahlin controller
      • 3.6.5. Noise models
    • 3.7. Multivariable control
      • 3.7.1. Multivariable control
      • 3.7.2. Multivariable Stability analysis
      • 3.7.3. Multivariable pairing (RGA)
      • 3.7.4. Eigenvalue problem
      • 3.7.5. Decoupling
      • 3.7.6. Model Predictive Control
    • 3.8. Control practice
      • 3.8.1. Control valve design
  • 4. Practical concerns
    • 4.1. Simulation
      • 4.1.1. Timing study
      • 4.1.2. Hybrid system simulation
      • 4.1.3. Classes
      • 4.1.4. Taking off the engine cover
      • 4.1.5. Objects
      • 4.1.6. A discrete controller class
      • 4.1.7. Blocksim
    • 4.2. Temperature Control Lab (TCLab)
      • 4.2.1. TCLab step test
      • 4.2.2. FOPDT fit
      • 4.2.3. TCLab PID
      • 4.2.4. Continuous PID on TCLab
      • 4.2.5. TCLab in the frequency domain
Dynamics and Control with Jupyter Notebooks
  • Dynamics and control
  • View page source

Dynamics and control

The parts below are separate documents, so that the navigation sidebar shows part, then chapter, then notebook. Sections written directly in this file are dropped from the global toctree, which is why each part has its own index.

  • 1. Getting Started
    • 1.1. Python and the Jupyter notebook
  • 2. Dynamics
    • 2.1. Modelling
    • 2.2. Time domain simulation
    • 2.3. Linear systems
    • 2.4. First and second order system dynamics
    • 2.5. Complex system dynamics
    • 2.6. Multivariable system representations
    • 2.7. System identification
    • 2.8. Frequency domain
    • 2.9. Sampled systems
  • 3. Control
    • 3.1. Conventional feedback control
    • 3.2. Laplace domain analysis of control systems
    • 3.3. PID controller design, tuning and troubleshooting
    • 3.4. Frequency domain analysis of control systems
    • 3.5. Advanced control methods
    • 3.6. Discrete control and analysis
    • 3.7. Multivariable control
    • 3.8. Control practice
  • 4. Practical concerns
    • 4.1. Simulation
    • 4.2. Temperature Control Lab (TCLab)

Search Page

  • Search Page

Next

© Copyright 2018-2026, Carl Sandrock.

Built with Sphinx using a theme provided by Read the Docs.