Class date(s):

13 to 07 February 2014

























Readings and preparation for class; video and audio files
 Main reference: Marlin textbook, Chapter 3, Chapter 4, Chapter 5, and Appendix B
 Alternative reference: Seborg textbook, Chapters 2, 3, 4 and 5
Date

Class number

Video and audio files

Main concepts

Reading (other)

Handout

13 January

02A

Video (361M)

Audio (42M)

 Why we need process models
 What is "steady state"
 General balance equations
 Derived the tank height model


None

15 January

02B

Video (364M)

Audio (43M)

 Use of the integrating factor
 Analytical solution of the tank height model
 MATLAB solution of ODEs

None

17 January

02C

Video (227M)

Audio (42M)

 Coffee cooling example
 What is the Laplace transform
 Using Laplace to solve the coffee cooling problem

 An amazing description of where the Laplace transform comes from: Video 1 and continues with video 2

Table of Laplace transforms (from Seborg)

20 January

03A

Video (367M)

Audio (43M)

 Review the coffee example
 Initial value and final value theorems
 Using deviation variables
 Solve coffee example in deviation form

22 January

03B

Video (305M)

Audio (42M)

 Reviewed deviation variables, IVT and FVT
 The tank height problem in deviation form
 Deriving a transfer function for the tank height for varying inlet flow

None

None

24 January

03C

Video (317M)

Audio (42M)

 Confirming understanding of a transfer function (TF)
 How to find system's output, for a given input
 Chaining up TFs for systems in series
 Learning about "pure gain" systems

None

None

27 January

04A

Video (294M)

Audio (41M)

 combining transfer functions in series
 linearization of nonlinear functions
 basic block diagrams

None

None

29 January

04B

Video (271M)

Audio (43M)

 linearization
 block diagrams for series and parallel systems
 time delays

None

None

31 January

04C

Video (322 M)

Audio (44 M)

 time delay derivation and interpretation
 first order system theory
 composite input example

See code below for class 04C

None

03 February

05A

Video (287 M)

Audio (42 M)

 review of all work covered in weeks 1 to 4
 assignment 3, question 3

None

Developing process models

05 February

05B

Video (267 M)

Audio (45 M)

 composite inputs
 formal introduction to second order systems
 question period

Types of damping

None

07 February

05C

Video (267 M)

Audio (45 M)

 wrapped up second order systems
 rediscussed the objective of control systems

None

* The book by Seborg et al. is easily available new or second hand, as it was the prescribed textbook in 2013 (Marlin's book was prescribed in 2012). I will make reference to the chapters from Seborg on the website as well.
Test your understanding before and after class with these resources from Dr. Thomas Marlin. This website also contains full Powerpoint slides for each chapter from his textbook. Use this as a resource to get a different teaching perspective on the same topic. It's quite OK if someone else's approach is a "better fit" for you than my approach.
Computer code: class 02B, 15 January
In a file called cstr_height.m:
function d_depnt__d_indep = cstr_height(indep, depnt)
% Dynamic balance for the CSTR height
% indep: the independent ODE variable, such as time or length or the reactor
% depnt: a VECTOR of dependent variables
%
% Returns:
%
% d(depnt)
%  = a vector of ODEs
% d(indep)
% Assign some variables for convenience of notation: one row per DEPENDENT variable
h = depnt(1);
% Constant and other equations
A = 0.5; % m^2
F_i = 0.8; % m^3/min
R = 15; % min/m^2
F_o = h/R; % m^3/min
% Output from this ODE function must be a COLUMN vector, with n rows
% n = how many ODEs in this system?
n = numel(depnt); d_depnt__d_indep = zeros(n,1);
% Specify every element in the vector below: 1, 2, ... n
d_depnt__d_indep(1) = 1/A * (F_i  F_o);
The call the above model file from the "driver"; you can call this file anything, e.g. ODE_driver.m:
% The independent variable always requires an initial and final value:
indep_start = 0.0; % s
indep_final = 50.0; % s
% Set initial condition(s): for integrating variables (dependent variables)
h_depnt_zero = 4.0; % i.e. h(t=0) = 3.0
IC = [h_depnt_zero];
% Integrate the ODE(s):
[indep, depnt] = ode45(@c02B_linear, [indep_start, indep_final], IC);
% Plot the results:
clf;
plot(indep, depnt(:,1))
grid('on')
hold('on')
xlabel('Time [min]')
ylabel('Tank height')
legend('h')
title('Tank height with time')
% Does it match the analytical equation?
height = 12  8.*exp(indep/7.5);
hold on
plot(indep, height, 'r.')
Computer code: class 04C, 31 January
t = 0:0.01:18;
y_regular = 3.*(1exp(t./4));
step_function = ones(size(t));
step_function(t<2) = 0;
y_delayed = 3.*(1exp((t2)./4)) .* step_function;
y_combined = y_regular + y_delayed;
% Show the plots
f = figure;
set(f,'Position',[440 79 841 638])
plot(t, y_regular,'b.')
hold on
%plot(t, step_function,'k.') % if you want to visualize the step function
plot(t, y_delayed,'r.')
plot(t, y_combined,'m.')
legend('Response from 1 tank', 'Response from delayed tank', ...
'Sum of the two responses', 'location','NorthWest')
grid on