Technical Report For SIWES PDF
Technical Report For SIWES PDF
HELD AT
BY:
FACULTY OF TECHNOLOGY,
TITLE PAGE
MAY 2018.
Department of Chemical Engineering,
Obafemi Awolowo University,
Ile-Ife, Osun state.
The Coordinator,
Students industrial work Experience Scheme (SIWES),
Department of Chemical Engineering,
Obafemi Awolowo University,
Ile-Ife, Osun state.
Dear Sir,
LETTER OF TRANSMITTAL
In partial fulfillment of the requirements for the award of B.Sc. (Hons) in Chemical Engineering,
I hereby submit for grading, the report for the Students’ Industrial Work Experience Scheme
(SIWES)-CHE 300. This was undertaken at the Process Systems Engineering Research area of
the Department of Chemical Engineering, Obafemi Awolowo University, Ile-Ife, Osun state
from 19th February to May 12th, 2018 under the supervision of Dr A. Bamimore.
Yours faithfully,
OSINUGA Abraham B.,
CHE/2014/065.
ii
ACKNOWLEDGEMENT
I express sincere gratitude to God on the successful completion of my Students’ Industrial Work
My sincere appreciation goes to Dr. A. Bamimore, my supervisor, who did not only supervise
Many thanks to the process control team (consisting of Olaposi, Latifah.K, Latifah.O, Abdulahi
and Kemi), other friends of the PROCESS MAFIAS graduating set and to all part four Chemical
Engineering students.
All my teachers, lecturers (Dr O. Sanda stands out here), parents, siblings, colleagues and friends
are also acknowledged. Thank you so much for your contribution to the “Engineer” I am
becoming.
I celebrate you all for your support and tutelage in every way.
iii
ABSTRACT
This report gives details of my experience during the SIWES programme at the Process Systems
In my course of work with process control team which performed laboratory research and
simulation on dynamic model equations, using computer assisted methods and models to design,
control, and optimize process systems using MATLAB with SIMULINK, selected systems
(which includes: Continuous fermentor, Heater mixer, pH reactor, Nonlinear two tank system,
etc.) were modelled and controlled in order to obtain desired outputs. Open-loop and close-loop
responses were obtained for both the simulations and real-time control of these systems.
In a bid to obtain close-loop responses for the systems, the use of some controllers were employed
and I was involved in instrumenting chemical process rig for a Direct Digital control (DDC)
which includes calibration of control elements (pumps, valves and sensors). This was achieved by
interfacing a micro-controller board Arduino Mega and Due with the chemical process plant.
iv
TABLE OF CONTENTS
ABSTRACT _________________________________________________________________ iv
INTRODUCTION ___________________________________________________________ 1
v
2.1.2 What is Process Systems Engineering? ________________________________ 6
2..3.1.2 Simulink_____________________________________________________ 13
vi
2.4.5 Manipulated variables ____________________________________________ 14
METHODOLOGY _________________________________________________________ 17
vii
3.2.2.1 CONTROL STRUCTURE/STRATEGY ___________________________ 19
viii
4.3.3.1 Sensor Calibration for tank 1 _____________________________________ 64
CONCLUSIONS ___________________________________________________________ 87
REFERENCES ______________________________________________________________ 88
ix
LIST OF TABLES
Table 4-1, Nominal values of paramaters and operating conditions for the continuous fermentor
system ____________________________________________________________ 26
Table 4-2, Nominal values of paramaters and operating conditions for the HEATER MIXER
system ____________________________________________________________ 36
Table 4-3, Nominal values of parameters and operating conditions for the nonlinear _ two-tanks
system______________________________________________________ ______ 55
Table 4-4, Experimental Raw Data for height sensor for Tank 1 _______________________ 64
Table 4-4, Experimental Raw Data for height sensor for Tank 2 _______________________ 66
Table 4-5, Experimental Raw Data for Pump Calibration for Two-tank System ___________ 68
Table 4-6, Experimental Raw Data for Pump Calibration for Two-tank System ___________ 69
Table 4-7, Nominal values of parameters and operating conditions for the pH neutralization
system ____________________________________________________________ 75
Table 4-8, Experimental data for Calibration of Base pump for the PH system ____________ 84
Table 4-9, Experimental data for Calibration of Buffer pump for the PH system ___________ 85
Table 4-10, Experimental data for Calibration of Acid pump for the PH system ___________ 86
x
LIST OF FIGURES
Figure 3-0-1: Schematic Diagram for the nonlinear two tanks system (Adebayo, 2015) ---------- 21
Figure 4-1-1: Simulink Block model for the Continuous fermentor system ------------------------- 28
Figure 4-1-7: Open loop response for the Continuous fermentor system ---------------------------- 31
Figure 4-1-8: result, using ode45 solver to solve the dynamic model for the continuous fermentor
-------------------------------------------------------------------------------------------------- 32
Figure 4-1-9: SIMULINK model diagram for PID controller with Continuous Fermentor system -
------------------------------------------------------------------------------------------------------------------ 33
Figure 4-1-10: Response for PID controller with Continuous Fermentor system ------------------ 33
Figure 4-2-1: schematic diagram of heater mixer setup (V.A. Bavdekar et al,2011). -------------- 35
Figure 4-2-2: S-Function Model for the Heater mixer system ----------------------------------------- 43
Figure 4-2-3: Simulink Model diagram for the Heater Mixer system -------------------------------- 43
Figure 4-2-4: Subsystem Model diagram for the Heater Mixer system ------------------------------ 44
Figure 4-3-1: Schematic Diagram for the nonlinear two tanks system (Adebayo, 2015) ---------- 53
Figure 4-3-2: Detailed dimensions for the nonlinear two tanks system(Adebayo, 2015)---------- 54
Figure 4-3-3: S-Function Model diagram for Nonlinear Two Tank System. ------------------------ 57
Figure 4-3-4: Simulink model diagram for Nonlinear Two tank system ----------------------------- 57
Figure 4-3-6: Open-loop response for the Two Tank system ------------------------------------------ 58
Figure 4-3-7: Simulink Model diagram for PI_Controller close-loop simulation ------------------ 59
Figure 4-3-8: Close loop response using a Proportional Integral (PI) controller for the Nonlinear
Figure 4-3-9: Simulink model Diagram for PID _Control on the two tank system----------------- 61
Figure 4-3-10: Close-loop response for the PID_control of the two tank system (servo) --------- 62
Figure 4-3-11: Simulink model diagram for calibration for the To tank system. ------------------- 63
Figure 4-3-14: Graphical Representation for Pump for two tank system ---------------------------- 68
Figure 4-3-15: Graphical Representation for Valve for two tank system ---------------------------- 70
ponse for Real-time Control using PID Controller for the Two-tank System ----------------------- 71
Figure 4-3-17: SIMULINK model diagram for Real-time Control using PID Controller for the
xii
Figure 4-3-18: Image showing the Real-time Control Setup for the Two-tank System in the
Laboratory ----------------------------------------------------------------------------------- 73
Figure 4-4-3: Subsystem for SIMULINK model for PH_openloop simulation --------------------- 78
Figure 4-4-9: SIMULINK model diagram for PID_ close loop simulation of PH system -------- 82
Figure 4-4-10: Response for PID_ close loop simulation of PH system ----------------------------- 83
Figure 4-4-11: Plot of Count against Base pump flow rate for the PH_system --------------------- 84
Figure 4-4-12: Plot of Count against Buffer Pump's flow rate for the PH_system ----------------- 85
Figure 4-4-13: Plot of Count against Acid pump's flow rate for the PH_System. ------------------ 86
xiii
CHAPTER ONE
INTRODUCTION
The main thrust of ITF programme and services is to stimulate human performance, improve
productivity, and induce value-added production in industry and commerce. Through its Students
Industrial Work Experience Scheme (SIWES), and Vocational and Apprentice Training
Programs, the Fund also builds capacity for graduates and youth self-employment, in the context
As a part of the implementation process of the Second National Development Plan (1970-1974),
SIWES, a programme instituted to provide managerial and industrial skill development for all
facets of the economy, was established by ITF in 1973 to tackle the problem of lack of adequate
institutions. The Scheme was to expose students to industry-based skills necessary for a smooth
The ITF established by Decree 47 of 1971 is charged with the responsibility of supervising and
providing fund for the program. This is done in conjunction with the school’s designated
officers. Section 2 of Decree 47 stipulates that the fund may be utilized to provide and encourage
acquisition of skills and industry or commerce with a view to generating a pool of indigenous
Participation in SIWES has become a necessary pre-condition for the award of Diploma and
Degree certificates in specific disciplines in most institutions of higher learning in the country, in
allowances to the students, the ITF is charged with the welfare of the students during training.
This is done by giving students specified monthly allowance. This however, should not deter the
employers from offering engaged students some emoluments, as students in their little way
contribute to the advancement of the organization. More so this would boost the morale of the
students’ result in increased participation on their part. During the course of the training, officers
of the ITF are expected to visit the students to ensure proper attendance and training. This may
Thus, in accordance with the Federal Government and National Universities Commission
directives, all students, especially of science and engineering related disciplines, are obliged to
go on practical work experience, in a related industry. The SIWES is a mandatory session that
must be observed towards acquiring a Bachelor of Science degree and it is also an avenue to
Students of tertiary institutions are opportune as they get familiarized and exposed to the needed
experience in handling machinery and equipment which are usually not available in the
educational institutions.
Hence, the following structure has been put in place to ensure the smooth running of the
program:
• OPERATORS: the ITF, the co-coordinating agencies (NUC, NBTE, NCCE), employers
2
• BENEFICIARIES: Undergraduate students of the following: Agriculture, Engineering,
Technology, Environmental Science, Education, Medical Science and Pure and Applied
The bodies involved are: Federal Government, Industrial Training Fund (ITF), Other Supervising
Agencies are: National University Commission (NUC), National Board for Technical Education
(NBTE) & National Council for Colleges of Education (NCCE) (Fund, 2004).
Supervise students at their places of attachment and sign their log-book and ITF Forms.
Vet and process student’s log-books and forward same to ITF Area office.
3
Prepare students for the industrial works situation which they are likely to meet after
graduation.
Provide students with an opportunity to apply their knowledge in real world situation
Enlist and strengthen employers’ involvement in the entire educational process and
Awolowo University, Ile-Ife, Osun state, is a research laboratory in which research work are
carried out.
The research work of the PSE group is focused in three (3) major areas: Optimization,
supply chain management and optimization under uncertainty, planning and scheduling of batch
and continuous process systems, real-time optimization. Finally, aspects in Control include
adaptive control and on-line parameter estimation, self-learning control, control of distributed
systems, thermodynamics-based control, passivity theory, the design and verification of process
The organization supports totally the SIWES program and as such gives the student the
knowledge and direction the need to standout better and confident. The IT student are being
shown the methods in which the software makes it analysis and are shown also how to use
support tools and programs to guide them in in getting the knowledge best suited for them.
This report has five chapters of which Chapter one gives a brief introduction of how and what
SIWES. Chapter two describes the Terminologies as regarding this report and what was being
done during the course of the SIWES. Chapter three tells the description of work done while
chapter four tells of the results for each of the method applied to selected system during the
course of the SIWES and discussed, briefly, these results. Chapter Five crowns it up with a
conclusion.
5
CHAPTER TWO
that focuses on how to design and manage complex systems over their life cycles. At its core,
systems engineering utilizes systems thinking principles to organize this body of knowledge.
testing and evaluation, maintainability and many other disciplines necessary for successful
system development, design, implementation, and ultimate decommission become more difficult
when dealing with large or complex projects. Systems engineering deals with work-processes,
optimization methods, and risk management tools in such projects. It overlaps technical and
cybernetics, organizational studies and project management. Systems engineering ensures that all
likely aspects of a project or system are considered, and integrated into a whole (Wikipedia,
Process systems engineering, commonly referred to as PSE, comes under the banner of systems
engineering, and uses computer assisted methods and models to design, control, and optimize
6
processes.
PSE is concerned with the systematic analysis and optimization of decision making processes for
“PSE research also deals with fundamental theoretical issues. PSE research strives to create
representations and models to generate desirable alternatives, and then select from among
them solutions that meets constraints and optimize multiple objectives.”, Quote from Prof.
Process control is an application area of chemical engineering - an identifiable specialty for the
Chemical Engineering. It combines chemical process knowledge (how physics, chemistry, and
important to many fields of engineering. Thus study of process control allows chemical
engineers to span their own field, as well as form a useful acquaintance with allied fields.
Practitioners of process control find their skills useful in design, operation, and troubleshooting -
7
in a suitable (mathematical) form: - often DAE (Differential Algebraic Equations) or
The form and content of dynamic process models are on the one hand determined by the
application of the model, and on the other by the available knowledge. The application of the
model determines the external structure of the model, whereas the available knowledge
determines the internal structure. Dynamic process models can be used for simulation studies to
get information about the process behavior; the models can also be used for control or
functions of one independent variable and its derivatives. The term ordinary is used in contrast
with the term partial differential equation which may be with respect to more than one
independent variable.
multivariable functions and their partial derivatives. PDEs are used to formulate problems
involving functions of several variables, and are either solved by hand, or used to create a
relevant model. A special case is ordinary differential equations (ODEs), which deal with
8
𝜕𝑢
( 𝑥 , 𝑦 ) = 0.
𝜕𝑥
This relation implies that the function 𝑢(𝑥, 𝑦) is independent of 𝑥. However, the equation gives
no information on the function's dependence on the variable y. Hence the general solution of this
equation is
𝑢 ( 𝑥 ,𝑦 ) = 𝑓 ( 𝑦 ) ,
𝑑𝑢
(𝑥) = 0;
𝑑𝑥
𝑢(𝑥) = 𝑐,
where 𝑐 is any constant value. These examples illustrate that general solutions of ordinary
differential equations (ODEs) involve arbitrary constants, but solutions of PDEs involve arbitrary
functions. A solution of a PDE is generally not unique; additional conditions must generally be
specified on the boundary of the region where the solution is defined. For instance, in the simple
example above, the function 𝑓(𝑦) can be determined if u is specified on the line 𝑥 = 0
(Wikipedia, 2018).
derivatives. A (first order) DAE in its most general form is given by:
𝐹(𝑡, 𝑥, 𝑥 ′ ) = 0, 𝑡0 ≤ 𝑡 ≤ 𝑡𝑓 … … … … … … … … . . (1)
9
Where 𝑥 = 𝑥(𝑡), the unknown function, and 𝐹 = 𝐹 (𝑡, 𝑢, 𝑣) have 𝑁 components, denoted by
𝑥𝑖 and 𝐹𝑖 , 𝑖 = 1, 2, . . . , 𝑁 respectively. Every DAE can be written as a first order DAE. The
term DAE is usually reserved for the case when the highest derivative 𝑥 ′ cannot be solved for in
terms of the other terms 𝑡, 𝑥, when (1) is viewed as an algebraic relationship between three
variables 𝑡, 𝑥, 𝑥 ′ . The Jacobian 𝜕𝐹/𝜕𝑣 along a particular solution of the DAE may be singular.
Systems of equations like (1) are also called implicit systems, generalized systems, or descriptor
systems. The DAE may be an initial value problem where 𝑥 is specified at the initial time,
The method of solution of a DAE will depend on its structure. A special but important class of
DAEs of the form (1) is the semi-explicit DAE or ordinary differential equation (ODE) with
constraints
𝑦 ′ = 𝑓 (𝑡, 𝑦, 𝑧)
0 = 𝑔 (𝑡, 𝑦, 𝑧)
which appear frequently in applications. Here 𝑥 = (𝑦, 𝑧) and 𝑔 (𝑡, 𝑦, 𝑧) = 0 are the explicit
constraints.
Simply put, differential algebraic equations comprise algebraic equations and differential
equations.
derivatives of a function.
10
In this report, the use of Euler method and Runge-kutta method are considered.
Euler method (also called forward Euler method) is a first-order numerical procedure for solving
ordinary differential equations (ODEs) with a given initial value. It is the most basic explicit
method for numerical integration of ordinary differential equations and is the simplest Runge–
Kutta method. The Euler method is named after Leonhard Euler, who treated it in his book
The Euler method is a first-order method, which means that the local error (error per step) is
proportional to the square of the step size, and the global error (error at a given time) is
proportional to the step size. The Euler method often serves as the basis to construct more
Choose a value ℎ, for the size of every step and set 𝑡𝑛 = 𝑡0 + 𝑛ℎ.
𝑦 𝑛+1 = 𝑦𝑛 + ℎ . 𝑓 ( 𝑡 𝑛 , 𝑦𝑛 ) .
The value of 𝑦𝑛 is an approximation of the solution to the ODE at time 𝑡𝑛 : 𝑦𝑛 ≈ 𝑦(𝑡𝑛 ). The
Euler method is explicit, i.e. the solution 𝑦𝑛+1 is an explicit function of 𝑦 for 𝑖 ≤ 𝑛
While the Euler method integrates a first-order ODE, any ODE of order 𝑁 can be represented as
11
2.2.2b Runge-Kutta’s Method
The fourth-order Runge–Kutta (RK4) method having a truncation error of 𝜗(ℎ4) is one of the
most widely used methods for solving differential equations and used throughout my work. Its
ℎ
𝑦𝑘+1 = 𝑦𝑘 + (𝑓 + 2𝑓𝑘2 + 2𝑓𝑘3 + 𝑓𝑘4 )
6 𝑘1
where
𝑓𝑘1 = 𝑓(𝑡𝑘 , 𝑦𝑘 )
2.3.1.1 MATLAB
MATLAB, which stands for MATrix LABoratory, is a technical computing environment for
12
MATLAB is a high-level software package with many built-in functions that make the learning
of numerical methods much easier and more interesting (Won Y. Yang, Wenwu Cao, Tae-Sang
Chung and John Morris., 2005). In this report, MATLAB is used for operations and building
2..3.1.2 Simulink
SIMULINK is a part of MATLAB that can be used to simulate dynamic systems. To facilitate
model definition, SIMULINK adds a new class of windows called block diagram windows. In
these windows, models are created and edited primarily by mouse-driven commands. Part of
mastering SIMULINK is to become familiar with manipulating model components within these
windows.
Excel is a spreadsheet software package contained in Microsoft Office Suite and used for curve
2.4.1 Process
The equipment within some boundary, along with the streams of matter and energy that cross
2.4.2 Disturbance
A change imposed on the process. For example, the input stream of a system varying with time.
13
2.4.3 Controlled variable
These are some feature of the process that we would like to control. It may be a stream crossing
the boundary or some quantity within. We want to control it because the disturbance makes it
change with time, in a way that we don't like. For example, the controlled variable is the liquid
The desired value of the controlled variable. For example, but we do want to confine the
These are some feature of the process that we adjust so that we can exert influence on the
controlled variable. In most chemical processes, the manipulated variable will be the flowrate of
a stream.
It is a device that adjusts the manipulated variable. If the manipulated variable is usually a
stream, the final control element is usually a valve, referred to as a control valve.
Most often, synonymous with the controlled variable – we measure it so that we can tell how
well our control scheme is working. Of course, we may also measure the manipulated variable
2.4.8 Sensor
This is a measuring instrument. For chemical processes, the most common measurements are of
flow (F), temperature (T), pressure (P), level or height (L), and composition (A, for analyzer).
The sensor will detect the value of the measured variable as a function of time.
14
2.4.9 Controller
Controller is the device that detects the output of the sensor, decides how seriously the controlled
variable deviates from the set point, and directs the final control element in response. The
2.4.10 Transducer
The controller must be able to communicate with sensor and final element. Transducers convert
2.4.11 Simulation
Simulation is the imitation of the operation of a real-world process or system. The act of
simulating something first requires that a model be developed; this model represents the key
characteristics, behaviors and functions of the selected physical or abstract system or process.
The model represents the system itself, whereas the simulation represents the operation of the
A dynamic model represents the behaviour of a system over time. It is used where the system's
behaviour is best described as a set of states that occur in a defined sequence. The components of
the dynamic model are: States. There are many kinds of dynamic models: linear or nonlinear.
States represent the condition of the system at some moment in time. Some state variables which
define the system are heat, density, velocity, rate of reaction, acidity, etc.
15
2.4.13 Problems: Servo- and Regulatory problems
I was introduced to the following problem types associated with control objectives which are the
2.4.13.1 Servo-problem
Servo-problem is a problem that constitutes of a goal to make an output of a process system track
or meet a set-point changes based on a fixed input feed (i.e. no disturbance on the system).
Regulatory on the other hand, deals with ability of the controller to reject disturbances which can
be inform mismatch in the input values expected for some input variables, and yet track or meet
the desired set-point for the system’s output. This is also referred to as disturbance rejection
problem. A perturbation is a form of disturbance to a system, say for instance, you desire to
produce a paste of say pH 7 and have designed a model such that it accepts a particular state of
feed input. A sudden change in the feed input states can cause a change in the desired output
(set-point). The regulatory problem handles this situation by recognizing the change as
2.4.14 Implementation
To implement is to make happen, simply put. This is making the control strategy a reality for a
16
CHAPTER THREE
METHODOLOGY
There are several software packages for Process Simulation and Implementation of control
strategy, the one at the scope of this work is the use of MATLAB and SIMULINK.
The MATLAB code that describes the algorithm used Euler method is as follows:
The MATLAB code that describes the algorithm used for Runge-Kutta method is as follows:
k1=h*odefun(xo,uo);
k2=h*odefun(xo+k1/2,uo);
k3=h*odefun(xo+k2/2,uo);
k4=h*odefun(xo+k3,uo);
x(:,1)=xo+1/6*(k1+2*k2+2*k3+k4);
for k=1:Nu
k1=h*odefun(x(:,k),u(:,k));
k2=h*odefun(x(:,k)+k1/2,u(:,k));
k3=h*odefun(x(:,k)+k2/2,u(:,k));
k4=h*odefun(x(:,k)+k3,u(:,k));
x(:,k+1)=x(:,k)+1/6*(k1+2*k2+2*k3+k4) ;
end
17
3.2 SIMULATIONS
Open-loop control is a process taking place in a system where by one or more variables in the
form of input variables exert influence on other variables in the form of output variables by
reason of the laws which characterize the system. The distinguishing feature of open-loop control
is the open nature of its action, that is, the output variable does not have any influence on the
input variable.
The open-loop also known as feedforward or negative feedback control were carried out for
some selected systems given their dynamic model equations, from various sources as cited,
The Simulink block diagrams modelling were used to create steady state process simulation for
the selected system using both subsystems and not. Figures for each of the systems where this
method was used are shown in CHAPTER FOUR of this report under each system details.
On the other hand, the S-Function method involved writing MATLAB codes in a script file saves
in the m.file format and then called upon in Simulink environment using the S-Function block.
The Level-1 codes were used for this all through. See scripts for S-Function (in 4.2.1 Open-
loop simulation) for a general format of the code. Other details are included in CHAPTER
18
Results for each Process system are discussed in CHAPTER FOUR of this report.
Closed-loop control as a process where the controlled variable is continuously monitored and
compared with the reference variable. Depending on the result of this comparison, the input
variable for the system is influenced to adjust the output variable to the desired value despite any
disturbing influences. This feedback results in a closed-loop action. Close loop simulations are
The Controller does the adjustment of the output variable indirectly by directly modifying the
manipulated variable using of the deviation (also referred to as Controller error, gotten from the
comparison made). The Controllers used for these control activity are the Proportional (P),
Proportional Integral (PI) and Proportional Integral Derivative (PID) controllers. They are varied
Closed-loop simulations were made for respective systems, using majorly the PID controller and
Feedback control means measuring the controlled variable (an output), comparing that
measurement to the set point (desired value), and acting in response the error (difference
between set point and controlled variable) by adjusting the manipulated variable (an input). The
control algorithm is the set of calculations and decisions that lies between the error and the
19
Control Algorithm:
𝑑𝑒(𝑡)
𝐺𝑃𝐼 = 𝑃 ∙ 𝑒(𝑡) + 𝐼 ∙ ∫ 𝑒(𝑡) ∙ 𝑑𝑡 + 𝐷 ∙
𝑑𝑡
Modes Benefits
The Real-time implementation is an extension of simulation just that the dynamic model is not
used as a plant-wide signals are collected and controlled. The physical plant, available in the
laboratory as designed for only the two tank system now replaced its dynamic model in the
Closed-loop Simulink model. The Arduino micro-controller element was used to exchange
signals from the controller and the plant via USB cable using a Computer. This is also known as
20
Figure 3-0-1: Schematic Diagram for the nonlinear two tanks system (Adebayo, 2015)
21
The control structure for the implementation and control for the Nonlinear Two tank System
shown above (see Figure 3-0-1) is described by generic description in the figure below (see
Figure 3-0-2 )
control of the control elements, the need for calibration comes in. This need to be accurate as
wrong calibration equation will tend to have large effect on the whole process.
In this context, Calibration is simply finding the relationship between signals and counts sent
into the Arduino controller to and from the SIMULINK environment to the physical quantity.
The physical quantities in consideration here are: flow rate, height, percentage opening and pH.
22
The SIMULINK environment is interfaced with the Arduino controller. The USB port from the
personal computer is connected via a connecting USB cable to the Arduino box. The pumps,
height sensors, electrically actuated valve and the pH probe are connected to the Arduino box.
The Arduino box simply converts signals from the computer to signals understandable by the
The team calibrated pumps, an actuated valve, height sensors and the pH sensor. The calibration
of these equipment ensures that we obtain the correct measured values (physical quantities).
The process of calibrating the pumps is kicked off by obtaining the counts to the Arduino
controller corresponding to the maximum and minimum volumetric flow rates of the pumps. The
fluid used for the calibration is water. A volumetric flask and a timer is also used in the
calibration process.
Subsequently, for a particular amount of time (e.g. 30s, 60s), different values of counts with
interval of 10units between the maximum and minimum count values are inputted to the Arduino
controller and the volume of water pumped into the measuring cylinder is recorded for each
count. The count, time, volume and volumetric flow rate are recorded on an excel sheet. A plot
of the volumetric flow rate, q(cm3/s) against the count is obtained using basic fitting tool of
An equation was obtained from the plot and used as the calibration equation.
4.3.3 Calibration of Equipment and 4.4.3 Calibration of Equipment show Simulink block
diagram for calibration of the pump for a two tank system and pumps for the pH system.
23
3.4.2 CALIBRATION OF HEIGHT SENSORS
The height sensors are calibrated one after the other by adding water in to the tanks to a
particular level (say from 10cm, 20cm, etc. in the interval of 10cm), taking a reading of both the
count read by the sensor through the Arduino and the direct reading of the measured water level
by physical observation of water level as measured from the readings on the tank (as inscribed on
tank). The table of values for both the height and count are shown in 4.3.3 Calibration of
Equipment.
A plot of height against count is then gotten with the aid of Basic fitting tools of MATLAB, this
then generates the calibration equation needed to effectively, relate the count as an input to the
The real response of the pH sensor as related to the count of recognized by the Arduino is needed
as calibration equation. However, the difference between the theoretical and actual behavior of a
pH electrode which must be compensated for, requires that the pH meter is calibrated to match
During calibration, it is required that pH 7 calibration be done first. Calibration can be done at a
maximum of 3 points as the indicators available are only three and for (pH= 4.0, 7.0 and 10.0).
These three points are known as the low calibration point, the middle calibration point and the
high calibration point. Where pH 7 must be the first calibration point. This is known as the
middle calibration point. The calibration is done using the designed Simulink model to interact
A table of values for a plot of pH against count is generated and with the help of MATLAB
24
CHAPTER FOUR
The results are discussed under the cases in chapter three as carried out, they are categorized
based on the selected systems. Each Process system will show as subsection of it various results
obtained from the methodology applied to it. Figures and table of values are duly attached.
A continuous fermentor essentially consists of a stirred tank, a feed, and an outlet stream. The
process can be represented by the following nonlinear ordinary differential equations (M.A.
𝑋̇ = −𝐷𝑋 + µ𝑋 (4.1)
1
𝑆̇ = 𝐷(𝑆𝑓 − 𝑆) − µ𝑋 (4.2)
𝑌𝑥
𝑠
Where
µ𝑚 [1 − 𝑃⁄𝑃 ] 𝑆
𝑚
µ= 2 (4.4)
𝑆
𝐾𝑚 + 𝑆 + ( ⁄𝐾 )
𝑖
In this process, cell concentration 𝑋 is the controlled variable and one of the output variable,
dilution rate 𝐷 is the manipulated variable also an input variable. The nominal values of the
25
Table 4-1, Nominal values of paramaters and operating conditions for the continuous
fermentor system
26
4.1.1 Open-loop simulation
The Simulink block model and S-Function model for the open-loop simulation are shown below:
27
Figure 4-1-1: Simulink Block model for the Continuous fermentor system
28
Figure 4-1-3: subsystem 1
29
Figure 4-1-5: subsystem 3
30
The results from simulations for the continuous fermentor system are shown below: (see Figure 4-1-7).
Figure 4-1-7: Open loop response for the Continuous fermentor system
The result above is exactly the same when using ODE solver (ode45) in m.file as shown below:
function f = ODEfun(t, x)
X=x(1);
S=x(2);
P=x(3);
% Explicit equations
mumax=0.48;
Ki=22;
alpha=2.2;
beta=0.2;
Km=1.2;
Pm=50;
Yxs=0.4;
D=0.15;
Sf=20;
mu= (mumax*S*(1-P/Pm))/(Km+S+(S^2/Ki));
31
% Differential Equations
dXdt=-D*X + mu*X;
dSdt=D*(Sf-S)-(mu*X)/Yxs;
dPdt= -D*P + (alpha*mu + beta)* X;
Figure 4-1-8: result, using ode45 solver to solve the dynamic model for the continuous
fermentor
32
4.1.2 Close-loop simulation
Figure 4-1-9: SIMULINK model diagram for PID controller with Continuous Fermentor
system
Figure 4-1-10: Response for PID controller with Continuous Fermentor system
33
4.2 Heater Mixer system
The heater-mixer setup consists of two tanks in series as shown in Figure 4-2-1. The contents in
the tank are well agitated using variable speed agitators. A cold water stream is introduced in the
first tank. The water in Tank-1 is heated using 4 kW heating coil. The hot water that overflows
the first tank is mixed with cold water stream entering into Tank-2. The water in the second tank
is heated using another 3 kW heating coil. The heat inputs Q1 and Q2 to both the tanks can be
manipulated by changing current inputs to the thyristor power control units, which can be varied
between 4 and 20 mA. The cold water inlet flow F1 and F2 to both the tanks can be manipulated
using pneumatic control valves. The temperatures in the two tanks (T1 and T2) and level in
second tank (h2) are measured variables while the heat inputs to Tank-1 (Q1) and Tank-2 (Q2)
and cold water inlet flowrates to Tank-1 (F1) and Tank-2 (F2) are treated as manipulated inputs.
The system is interfaced with a computer using a data acquisition module (Advantech 5000
series hardware) and combination of LabVIEW and MATLAB. A grey box model was
developed for the system, which is described by the following differential equations (Vinay A.
𝑑𝑇1 𝛼1 𝑄1
= (𝐹1 (𝑇𝑐 − 𝑇1 ) + ) ÷ 𝑉1
𝑑𝑡 𝜌𝐶𝑝
𝑑ℎ2
= (𝐹1 + 𝐹2 − 10−3 × 𝑘√ℎ2 ) ÷ 𝐴2
𝑑𝑡
The flows (𝐹1 and 𝐹2 ) are modelled as a function of the % of the input current range (𝐷 and 𝑈3 )
to the respective control valves. The heat terms (𝑄1 and 𝑄2 ) are modelled as % of the input
34
current range (𝑈1 and 𝑈2 ) to the respective thyristor power control modules. The algebraic
equations that relate the model inputs to the mA signals are given below:
The nominal values for operating the simulation are as shown on, Table 4-12.
Figure 4-2-1: schematic diagram of heater mixer setup (V.A. Bavdekar et al,2011).
35
Table 4-2, Nominal values of paramaters and operating conditions for the HEATER MIXER
system
T1 58.6 ℃
T2 50.8 ℃
h2 1.2 g/l-1
Ta 301 K
k 0.1
V1 1.75 * 10−3 𝑚3
A2 7.854 * 10−3 𝑚2
r2 0.05 m
U 175 W/m.K
𝛼1 1
𝛼2 1
Tc 33.8 ℃
U1 10 mA
U2 10 mA
U3 11 mA
D 9 mA
36
4.2.1 Open-loop simulation
%
% The following outlines the general structure of an S-function.
%
switch flag,
%%%%%%%%%%%%%%%%%%
% Initialization %
%%%%%%%%%%%%%%%%%%
case 0,
38
[sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes;
%%%%%%%%%%%%%%%
% Derivatives %
%%%%%%%%%%%%%%%
case 1,
sys=mdlDerivatives(t,x,u);
%%%%%%%%%%
% Update %
%%%%%%%%%%
case 2,
sys=mdlUpdate(t,x,u);
%%%%%%%%%%%
% Outputs %
%%%%%%%%%%%
case 3,
sys=mdlOutputs(t,x,u);
%%%%%%%%%%%%%%%%%%%%%%%
% GetTimeOfNextVarHit %
%%%%%%%%%%%%%%%%%%%%%%%
case 4,
sys=mdlGetTimeOfNextVarHit(t,x,u);
%%%%%%%%%%%%%
% Terminate %
%%%%%%%%%%%%%
case 9,
sys=mdlTerminate(t,x,u);
%%%%%%%%%%%%%%%%%%%%
% Unexpected flags %
%%%%%%%%%%%%%%%%%%%%
otherwise
DAStudio.error('Simulink:blocks:unhandledFlag', num2str(flag));
end
% end sfuntmpl
%
%===========================================================================
==
% mdlInitializeSizes
% Return the sizes, initial conditions, and sample times for the S-function.
%===========================================================================
==
%
function [sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes
%
% call simsizes for a sizes structure, fill it in and convert it to a
% sizes array.
39
%
% Note that in this example, the values are hard coded. This is not a
% recommended practice as the characteristics of the block are typically
% defined by the S-function parameters.
%
sizes = simsizes;
sizes.NumContStates = 3;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 3;
sizes.NumInputs = 4;
sizes.DirFeedthrough = 0;
sizes.NumSampleTimes = 1; % at least one sample time is needed
sys = simsizes(sizes);
%
% initialize the initial conditions
%
x0 = [58.6;50.8;0.38];
%
% str is always an empty matrix
%
str = [];
%
% initialize the array of sample times
%
ts = [0 0];
% end mdlInitializeSizes
%
%===========================================================================
==
% mdlDerivatives
% Return the derivatives for the continuous states.
%===========================================================================
==
%
function sys=mdlDerivatives(t,x,u)
% parameters
alp1=1;
alp2=1;
k=0.1;
V1=1.75*10^-3;
A2=7.854*10^-3;
40
r2=0.05;
U=175;
Ta= 301;
Tc=33.8;
rho=1000;
Cp=4200;
% state variables:
T1=x(1);
T2=x(2);
h2=x(3);
% input parameters:
U1=u(1);
U2=u(2);
U3=u(3);
D=u(4);
dT1dt=(F1*(Tc-T1)+((alp1*Q1)/(rho*Cp)))/V1;
dT2dt=(F1*(T1-T2)+F2*(Tc-T2)+((alp2*Q2)-(2*pi*r2*h2*U*(T2-Ta)))/(rho*Cp))/(A2*h2);
dh2dt= (F1+F2-((10^-3)*k*sqrt(h2)))/A2;
% end mdlDerivatives
%
%===========================================================================
==
% mdlUpdate
% Handle discrete state updates, sample time hits, and major time step
% requirements.
%===========================================================================
==
%
function sys=mdlUpdate(t,x,u)
sys = [];
% end mdlUpdate
%
%===========================================================================
==
% mdlOutputs
% Return the block outputs.
41
%===========================================================================
==
%
function sys=mdlOutputs(t,x,u)
% end mdlOutputs
%
%===========================================================================
==
% mdlGetTimeOfNextVarHit
% Return the time of the next hit for this block. Note that the result is
% absolute time. Note that this function is only used when you specify a
% variable discrete-time sample time [-2 0] in the sample time array in
% mdlInitializeSizes.
%===========================================================================
==
%
function sys=mdlGetTimeOfNextVarHit(t,x,u)
% end mdlGetTimeOfNextVarHit
%
%===========================================================================
==
% mdlTerminate
% Perform any end of simulation tasks.
%===========================================================================
==
%
function sys=mdlTerminate(t,x,u)
sys = [];
% end mdlTerminate
42
Figure 4-2-2: S-Function Model for the Heater mixer system
Figure 4-2-3: Simulink Model diagram for the Heater Mixer system
43
Figure 4-2-4: Subsystem Model diagram for the Heater Mixer system
44
Figure 4-2-5: Subsystem for Q1(U1)
45
Figure 4-2-7: Subsystem for F2(U3)
46
Figure 4-2-9: Subsystem showing Equation 1, T1dot
47
Figure 4-2-10: Subsystem describing Equation 2, T2dot
48
Figure 4-2-11: subsystem describing Equation 3, h2dot
49
The result above is exactly the same when using ODE solver (ode45) in m.file as shown below:
% Differential Equations
dT1dt=(F1*(Tc-T1)+((alp1*Q1)/(rho*Cp)))/V1;
dT2dt=(F1*(T1-T2)+F2*(Tc-T2)+((alp2*Q2)-(2*pi*r2*h2*U*(T2-Ta)))/(rho*Cp))/(A2*h2);
dh2dt= (F1+F2-((10^-3)*k*sqrt(h2)))/A2;
subplot(2,1,1);
plot(t,x(:,1), t,x(:,2));
legend('T1','T2')
xlabel('Time(s)');
ylabel('T (K)');
grid off;
title('Temperature of Tank 1 & 2');
subplot(2,1,2);
plot( t,x(:,3));
legend('h2');
xlabel('Time(s)');
50
ylabel('h2 (m)');
grid off;
title('height of tank 2');
51
4.2.2 Close-loop simulation
Did not run any close loop simulation for this system.
This system consists of two tanks (cuboidal and trapezoidal tanks) modelled with the following
1
ℎ1̇ = (𝑈 − 𝑈2 𝑆𝑝 √2𝑔ℎ1 − 𝐶2 𝑆𝑝 √2𝑔ℎ1 )
𝑎𝑤 1
𝐻
ℎ2̇ = (𝑈 𝑆 √2𝑔ℎ1 + 𝐶2 𝑆𝑝 √2𝑔ℎ1 − 𝐶3 𝑆𝑝 √2𝑔ℎ2 )
𝑏𝑤ℎ2 + 𝑐𝑤𝐻 2 𝑝
The schematic of the nonlinear multi-tank system is given in Figure 4-3-1. Detailed dimensions
The control objective is to maintain the liquid level in both tanks ℎ1 and ℎ2 at desired heights
52
Figure 4-3-1: Schematic Diagram for the nonlinear two tanks system (Adebayo, 2015)
53
Figure 4-3-2: Detailed dimensions for the nonlinear two tanks system(Adebayo, 2015)
54
Table 4-3, Nominal values of parameters and operating conditions for the nonlinear
two-tanks system
manual valve
manual valve
55
4.3.1 Open-loop simulation
The model used for the two tank system as in Simulink and S-Function are shown below:
case 0 % initialization;
sizes = simsizes;
sizes.NumContStates = 2;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 2;
sizes.NumInputs = 2;
sizes.DirFeedthrough = 0;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
str=[];
ts= [0 0] ;
case 1 % derivatives;
%values of parameters
H=35;
C2=0.1668;
C3=0.6327;
Sp=1.267;
g=981;
a=25;
b=34.5;
c=10;
w=3.5;
U1=u(1); U2=u(2);
%C2=u(3); %C3=u(4); %c3=u(4);
h1=x(1);
h2=x(2);
x1dot=(1/(a*w))*(U1-U2*Sp*sqrt(2*g*h1)-C2*Sp*sqrt(2*g*h1)) ;
x2dot=(H/(b*w*h2+c*w*H))*(U2*Sp*sqrt(2*g*h1)+C2*Sp*sqrt(2*g*h1)-C3*Sp*sqrt(2*g*h2)) ;
sys = [x1dot;x2dot];
case 3 % outputs;
sys = [x(1); x(2)] ;
case {2, 4, 9}
sys = [];
end
56
Figure 4-3-3: S-Function Model diagram for Nonlinear Two Tank System.
Figure 4-3-4: Simulink model diagram for Nonlinear Two tank system
57
Figure 4-3-5: Subsystem
58
4.3.2 Close-loop simulation
The close-loop simulation was designed using open-loop SIMULINK model already described
above, it was designed for two cases: namely, (i) Using the PI controller and (ii) Using the PID
controller
The control objective is to maintain the liquid level in both tanks ℎ1 and ℎ2 at desired heights
using pump flow rate, 𝑈1 and valve/flow coefficient 𝑈2 . The system pairing was figured out by
calculating the Relative Gain Array, RGA, which is beyond my scope for now. The pairing was
off-diagonal pairing.
Step change on the set points were introduced for both heights. Having a set point of 10 for both
heights until 500sec then h1 is set to 16.7cm while h2 is set to 13.4 cm (i.e. Servo-problem).
(I) PI controller:
59
Figure 4-3-8: Close loop response using a Proportional Integral (PI) controller for the
60
(II) PID Controller:
Figure 4-3-9: Simulink model Diagram for PID _Control on the two tank system
61
Figure 4-3-10: Close-loop response for the PID_control of the two tank system (servo)
62
4.3.3 Calibration of Equipment
Calibration was done for real-time implementation and control of the system.
The Simulink model used in calibrating the pump, valve and Height sensors is as shown on Figure 4-3-
11.
Figure 4-3-11: Simulink model diagram for calibration for the To tank system.
63
4.3.3.1 Sensor Calibration for tank 1
Table 4-4, Experimental Raw Data for height sensor for Tank 1
1 5 777
2 8 786
3 10 792
4 14 804
5 15 808
6 18 817
7 20 824
8 23 832
9 25 838
10 28 848
11 30 854
12 35 869
13 37 875
64
y = 0.3252x - 247.65
Sensor 1
40
35 Sensor 1
30
25
20
15
10
0
760 780 800 820 840 860 880
Calibration equation
y = 0.325x - 247.6
65
4.3.3.2 Sensor Calibration for tank 2
Table 4-4, Experimental Raw Data for height sensor for Tank 2
1 766 4.5
2 775 7
3 784 10
4 793 13
5 799 15
6 805 17
7 814 20
8 830 25
9 836 27
10 845 30
11 861 35
12 867 37.2
66
Sensor 2
40
35
30 y = 0.325x - 244.64
25
20 h2(cm)
15 Linear (h2(cm))
10
5
0
760 780 800 820 840 860 880
Calibration equation
y = 0.325x - 244.6
67
4.3.3.3 Pump Calibration
Table 4-5, Experimental Raw Data for Pump Calibration for Two-tank System
PUMP
y= 1E-08x4 - 9E-06x3 + 0.0025x2 + 0.0586x + 172.03
300
250
200
calibration
150
Poly. (calibration)
100
50
0
0 50 100 150 200 250 300
Figure 4-3-14: Graphical Representation for Pump for two tank system
68
Calibration equation
Table 4-6, Experimental Raw Data for Pump Calibration for Two-tank System
255 100 1 55 0 0
55 0 0 255 100 1
69
300
FO-FC
250 FC-FO
200
150
100
50
0
0 0.2 0.4 0.6 0.8 1 1.2
Figure 4-3-15: Graphical Representation for Valve for two tank system
Calibration equations
70
4.3.4 Real-time Implementation and Control
I ran a Real-time Control using the PID controller and using the Tuning parameters obtained
Figure 4-3-16: Response for Real-time Control using PID Controller for the Two-tank
System
71
Figure 4-3-17: SIMULINK model diagram for Real-time Control using PID Controller for
72
Figure 4-3-18: Image showing the Real-time Control Setup for the Two-tank System in the
Laboratory
73
4.4 Neutralization Reactor pH system
The process consists of a base (NaOH) stream q1, a buffer (NaHCO3) stream q2 and an acid
(HNO3) stream q3 which are mixed in a constant volume tank. The continuous-time fundamental
model of the reactor is comprised of two nonlinear ordinary differential equations (Ławrynczuk,
2013).
1
̇ =
𝑊𝑎4 [(𝑊𝑎1 − 𝑊𝑎4 )𝑞1 + (𝑊𝑎2 − 𝑊𝑎4 )𝑞2 + (𝑊𝑎3 − 𝑊𝑎4 )𝑞3 ]
𝐴ℎ
1
̇ =
𝑊𝑏4 [(𝑊𝑏1 − 𝑊𝑏4 )𝑞1 + (𝑊𝑏2 − 𝑊𝑏4 )𝑞2 + (𝑊𝑏3 − 𝑊𝑏4 )𝑞3 ]
𝐴ℎ
𝑝𝐻−14
1 + 2 × 10𝑝𝐻−𝐾2
𝑊𝑎 + 10 + 𝑊𝑏 − 10−𝑝𝐻 = 0
1 + 10𝐾1 −𝑝𝐻 + 10𝑝𝐻−𝐾2
State variables 𝑊𝑎 and 𝑊𝑏 are reaction invariants. Nominal values of the variables and operating
points used for this process here are shown in Table 4-7.
74
Table 4-7, Nominal values of parameters and operating conditions for the pH neutralization
system
75
4.4.1 Open-loop simulation
The Simulink model and S-Function model are shown below:
The S-Function script is given below:
function [sys,x0,str,ts] =ph_model(t,x,u,flag,x0)
%
%
switch flag
case 0 % initialization;
sizes = simsizes;
sizes.NumContStates = 2;
sizes.NumDiscStates = 0;
sizes.NumOutputs = 1;
sizes.NumInputs = 1;
sizes.DirFeedthrough = 0;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
str=[];
ts= [0 0];
case 1 % derivatives;
%values of parameters
wa1=-3.05*(10^-3);
wa2=-3*(10^-2);
wa3=3*(10^-3);
wb1=5*(10^-5);
wb2=3*(10^-2);
wb3=0;
k=8.75;
q1=u(1); %q1=15.55
q2=0.55; %q2=0.55;
q3=16.6; %q3=16.6;
h=14;
wa4=x(1);
wb4=x(2);
a=207;
x2dot=((((wa1-wa4)*q1)+((wa2-wa4)*q2)+((wa3-wa4)*q3))/(a*h)) ;
x3dot=((((wb1-wb4)*q1)+((wb2-wb4)*q2)+((wb3-wb4)*q3))/(a*h)) ;
sys = [x2dot;x3dot] ;
76
case 3 % outputs;
c=10.25;
d=6.35;
wa4=x(1);
wb4=x(2);
f=@(pH)(wa4+(10^(pH-14))+(wb4*((1+(2*10^(pH-c)))/(1+10^(d-pH)+10^(pH-c))))-(10^-pH)) ;
%y=fsolve(@(pH) f(pH),1);
y=fzero(f,9);
sys = [y] ;
case {2, 4, 9}
sys = [];
otherwise
error(['unhandled flag = ',num2str(flag)]);
end
77
Figure 4-4-2: SIMULINK model diagram for the pH system.
78
Figure 4-4-4: ODE1 for PH_system
79
Figure 4-4-6: Algebraic Equation model for PH_SIMULINK MODEL
The Response gave it steady state value of pH=7 for the nominal operating conditions.
80
4.4.2 Close-loop simulation
The control objective is to maintain the 𝑝𝐻 at the desired set-point using base flow rate, 𝑞1 as
Step change on the set point was introduced for pH. Having a set point change from 3 to 10 and
(I) PI controller:
81
Figure 4-4-8: pH response for PI controller for the PH system.
Figure 4-4-9: SIMULINK model diagram for PID_ close loop simulation of PH system
82
Figure 4-4-10: Response for PID_ close loop simulation of PH system
83
Table 4-8, Experimental data for Calibration of Base pump for the PH system.
Base-Pump
300
y = 0.0455x3 + 8.3349x2 + 4.5894x + 46.873
250
200
150
100
50
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Figure 4-4-11: Plot of Count against Base pump flow rate for the PH_system
84
Table 4-9, Experimental data for Calibration of Buffer pump for the PH system
Buffer pump
300
y = -47.939x3 + 243.32x2 + 7.0241x + 55.916
250
200
150
100
50
0
0 0.2 0.4 0.6 0.8 1 1.2
Figure 4-4-12: Plot of Count against Buffer Pump's flow rate for the PH_system
85
Table 4-10, Experimental data for Calibration of Acid pump for the PH system
Acid_pump
300
200
150
100
50
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Figure 4-4-13: Plot of Count against Acid pump's flow rate for the PH_System.
86
CHAPTER FIVE
CONCLUSIONS
5.1 CONCLUSION
During the course of the internship, my use of engineering software packages was sharpened and
The SIWES programme did not only promote a team spirit in me, it also gave me the platform to
apply theories to solving real life problems among many other situations. It was really an
87
REFERENCES
Adebayo, K. (2015). Design, Fabrication and Control of Trapezoidal Tank System. Unpublished
Brian Roffel, Ben Betlam. (2006). Process Dynamics and Control, Modeling for control and
Euler, L. (1768). Institionum calculi integralis. imp. Acad. imp. Saent., 1769.
Fund, I. T. (2004). Information and Guideline for Students' Industrial Work Experience Scheme.
Ławrynczuk, M. (2013). Practical nonlinear predictive control algorithms for neural Weiner
M.A. Henson, D.E. Seborg. (1992). Nonlinear control strategies for continuous fermenters,.
process and measurement noise covariance for state and parameter estimation using
https://en.wikipedia.org/wiki/Partial_differential_equation
88
Wikipedia. (2018). Retrieved from Wikipedia: https://en.wikipedia.org/wiki/Simulation
https://en.wikipedia.org/wiki/Euler_method
https://en.wikipedia.org/wiki/Systems_engineering
Won Y. Yang, Wenwu Cao, Tae-Sang Chung and John Morris. (2005). Applied Numerical
89