Process simulation, optimisation
and design
P.S.O.D.
ORGANIZATION ISSUES
Course scope
Introduction
MathCAD
Introduction to CAPE
Simple simulation of heat exchange process
using common software
ChemCAD (by dr Robert Kubica)
Process simulation, optimisation
and design
Course objectives
Provide the students with:
– using specialized software for mathematical
problems solution
– clear understanding of what is a process
simulation, a process optimization and process
design
– using commonly available software to solve
simulation problems
– using specialized software for process simulation
Lectures are available on the web
address
www.chemia.polsl.pl/~jkocurek/Studenci.html
Introduction
All the simulation related issues
requires
A Model, what is it?
A model is a representation of some aspects
of real world objects by:
– other parameters easier to measure
– scaled down objects
– equations and numbers – mathematical models
The Model, what for?
A good model of the apparatus is needed for:
– Apparatus design
– Process
» simulation
» optimization
» design
apparatus design can be done with pen and piece
of paper but even quite simple process
optimization problem needs to involve the
computer
Model, how to calculate?
Manually
– We need:
» Knowledge
» Paper and pen
» Log tables, slide rule, calculator
Computer supported calculation
– We need:
» Knowledge
» PROGRAM
COMPUTER PROGRAM
DEFINITION
„Set of instructions in a logical sequence
interpreted and executed by a computer enabling
the computer to perform a required function;
also called software. Programs are the "thought
processes" of computers, without which they
cannot operate. Programs are written in various
languages, to conform with the operating system
of particular computers.”
Computer supported calculation
PROGRAM
– Written by user, using programming language:
» Low level (assembler)
» High level (C, Pascal, Fortran, Basic)
– Written by user, using common applications for
calculation
» Spreadsheets (Excel, Calc)
» Mathematical tools (MathLab, MathCAD)
– Specialized software for modeling and process
simulation (AspenOne, ProSIM, ChemCAD)
MathCAD
The mathematical tool
Introduction
User interface
– Writing cursor '+'
– Toolbars
» Calculator – equation symbols
» Graph – building the charts
» Matrix – inserting matrix/vectors, matrics operation
» Calculus – derivatives, integrals, limits, summation, iterated
product
» Symbolic
» Evaluation
» Boolean –logical operation
» Programming
» Greek – inserting Greek letters
– Turn of the Resource center at startup
View/Preferences/Startup Options
Basic operations
– Typing:
» "normal" – text
Forced by: [shift]+["]
Automatically: after space insertion
» "variable" – interpreted by program
Default
– The typing modes are identified by style:
» Normal – Font is Arial (by default)
» Variable – Font is Times (by default)
– Assign symbol":=" (keys [:][=])
Numbers notation
– Floating-point notation:
1.23·104
Multiplication symbol [*] Superscript (exponent) [^]
Key sequence: [1][.][2][3][*][1][0][^][4]
MathCAD intro
Algebraic expressions
– +,-,/,*(not always needed), power [^]
– Functions arguments "(...)"
– Result (evaluation): [=]
Expression typing – standard mathematical
notation:
3 ln 3 10.554
2 2
3
[2][/][3][+][3][^][2][][l][n][(][3][)][=]
or
[2][/][3][+][3][^][2][space bar][l][n][(][3][)][=]
To go back to basic level press spacebar or right arrow
MathCAD intro
Variables notation
– Latin and Greek alphabet ( [ctrl] + [g] after
typing Latin letter)
– Case sensitivity: xX
– Subscripts (not vector/matrix subscripts) [.]
– Prim: x`, bis: x`` etc.
MathCAD intro
Assigning values and expressions (Pascal
like)
– One value assigned to one variable:
x:=5
keys: [x][:][5]
– Range of arithmetic progression assigned to
variable
» Default step: x:=0..3 (means numbers 0, 1, 2, 3)
keys [x][:][0][;][3]
» Defined step: x:=0,2..6 (means numbers 0, 2, 4, 6)
keys [x][:][0][,][2][;][6]
Has to be defined earlier
– Expression to variable:
y:=2·x+3
keys: [y][:][2][*][x][+][3]
MathCAD intro
Correct Incorrect
MathCAD intro
The expressions edition
– To change the position of edited place press
space bar
Vertical line: shows
place of insertion of
a sign
Horizontal: shows
range will be inserted
into function etc.
MathCAD functions
Standard functions set
Functions definition
– Syntax:
FunctionName(arg1, arg2,...):= expression
– E.g. f(x,y)=x·y
keys: [f][(][x][y][)][:][x][*][y]
Calculations with use of defined (or predefined)
functions:
– Evaluation for constants
– Evaluation for defined variables
– Evaluation for range of constants (vectors)
MathCAD functions
Function of constant (scalar)
MathCAD functions
Function of variable
Global variable
Local variable
MathCAD functions
Range of arithmetic sequence (or vector)
MathCAD functions
Graphs:
– Function of one variable f(x)
keys: [f][(][x][)][shift]+[2][x]
MathCAD functions
Graphs:
– Default independent values range: -10 ÷ 10
– Can be edited
MathCAD functions
Graphs:
– Several functions of one independent variable range: f(x), g(x)@x
keys: [f][(][x][)][,] [g][(][x][)][shift]+[2][x]
MathCAD functions
Graphs:
– Several functions of several different independent variable range:
f(x), g(z)@x, z
keys: [f][(][x][)][,] [g][(][z][)][shift]+[2][x][,][z]
MathCAD functions
Graphs formatting:
MathCAD functions
Graphs formatting:
MathCAD functions
MathCAD functions
Show markers enabled
MathCAD – vectors and matrix
Matrix variable definition
vector – one column matrix
MathCAD – vectors and matrix
MathCAD – vectors and matrix
Matrix operations
– Multiply by constant
– Matrix transpose [ctrl]+[1]
– Inverse [^][-][1]
– Matrix multiplying
– Determinant
MathCAD – vectors and matrix
To read the matrix elements Ar, k: key [[] r-
row nr, k – column nr
– e.g. element A1,1 keys: [A][[][1][,][1][=]
To chose matrix column
– First column A( A<0>):
keys [A][ctrl]+[6][0]
– Default first column number is 0, (to change :
Math/Options/Array Origin)
MathCAD – vectors and matrix
Calculations of dot product and cross
product of vectors
MathCAD – vectors and matrix
Special definition of matrix elements as a
function of row-column number Mi,j=f(i,j)
– E.g. Value of element is equal to product of
column and row number
MathCAD 3D graphs
3D graphs of function on the base of matrix :
[ctrl]+[2][M]
– M – matrix defined earlier
RESTICTION:
function arguments
have to bee integer
type
MathCAD 3D graphs
3D Graphs of function of real type
arguments
– Using procedure: CreateMesh(function,
lb_v1, ub_v1, lb_v2, ub_v2, v1grid, v2grid)
– Assign result to variable
– Plot of the variable like plot of matrix
([ctrl]+[2])
Boundaries can be the real type numbers. (def. –5,5)
Grids have to be integer type numbers (def. 20)
MathCAD 3D graphs
MathCAD 3D graphs - formating
MathCAD 3D graphs – formatting: fill options
MathCAD 3D graphs – formatting: fill options
Contours colour
filled
MathCAD 3D graphs – formatting: line options
MathCAD 3D graphs – formatting: Lighting
MathCAD 3D graphs – formatting: Fog and
perspective
MathCAD 3D graphs – formatting: Backplane and
Grids
Predefined constants
e = 2,718 – natural logarithm base
g = 9,81 m2/s – acceleration of gravity
= 3,142 – circle perimeter/diameter ratio
MathCAD equation solving
Single equation (one unknown value)
1. Given-Find method
» Input start point of variable
» Type "Given"
» Type equation with using [=] ([ctrl]+[=])
» Type Find(variable)=
MathCAD equation solving
Given-Find – solving methods
– Linear (function of type c0x0 + c1x1 +...+ cnxn) –
starting point do not affects on results, it only defines
size of matrix/vector of the solution.
– Nonlinear – according to nonlinear equation.
Obtained result could depend on starting point.
Available methods:
» Conjugate Gradient
» Quasi – Newton
» Levenberg-Marquardt
» Quadratic
The choice of method is automatic by default.
User can choose method from the pop-up menu
over word Find.
MathCAD equation solving
Single equation (one unknown value)
2. Root procedure:
Root(function, variable, low_limit, up_limit)=
– Values of function at the bounds must have different signs
or
MathCAD equation solving
Single equation (one unknown value)
2. Root procedure
methods:
1. Secant method
2. Mueller method
y1
x2 x3
x4 x2 y 2
y 2 y3
x2 x3 x5
x4
y3 x1
y2
xi 1 xi
xi 1 xi 1 yi 1
yi 1 yi
MathCAD equation solving
Single equation (one unknown value)
3. Special procedure: polyroots for the
polynomials. Argument of procedure is a
vector of polynomial coefficients (a0, a1...).
The result is a vector too.
Methods:
1. Laguerre's method
2. companion matrix
MathCAD, the system of equations solving
The system of linear equations
– Solving on the base of matrix toolbar:
» Prepare square matrix of equations coefficients
(A) and vector of free terms (B)
» Do the operation x:=A-1B and show result: x=
Or
» Use the procedure LSOLVE: lsolve(A,B)=
MathCAD, the system of equations solving
MathCAD, the system of equations solving
The system of nonlinear equation
– Can be solved using given-find method
» Assign starting values to variables
» Type Given
» Type the equations using = sign (bolded)
» Type Find(var1, var2,...)=
MathCAD, the system of equations solving
Differential equations solving
Numerical methods:
– Gives only values not function
– Engineer usually needs values
– There is no need to make complicated
transformations (e.g. variables separation)
– Basic method implemented in MathCAD is
Runge-Kutta 4th order method.
Differential equations solving
Numerical methods principle
– Calculation involve bounded segment of
independent variable only
– Every point is being calculated on the base of
one or few points calculated before or given.
– Independent variable is calculated using step:
xi+1 = x i + h = xi+Dx
– Dependent value is being calculated according
to the method
Differential equations solving
Runge-Kutta 4th order method principles:
– New point of integral is being calculated on the
base of one point (given/calculated) and 4
intermediate values k1 hF xi , yi
1 1
k 2 hF xi h, yi k1
2 2
1 1
k3 hF xi h, yi k 2
2 2
k 4 hF xi h, yi k3
K
1
k1 2k2 k3 k4
6
yi 1 yi K O h 5
MathCAD differential equations
Single, first order differential equation
dy Initial
f ( x, y ) x x0 , y x x0 y0
dx condition
1. Assign the initial value of dependent variable
(optionally)
2. Define the derivative function
3. Assign to the new variable the integrating function
rkfixed:
R:=rkfixed(init_v, low_bound, up_bound, num_seg, function)
MathCAD differential equations
4. Result is matrix (table) of two columns: first
contain independent values second dependent ones
x0 y1, 0
x1 y1,1
R x2 y1, 2
... ...
x
N y1, N
5. To show result as a plot: R<1>@R<0>
MathCAD differential equations
MathCAD differential equations
System of first order differential equations
dy0 x x0
dx f x , y , y
y0 x x y
0 1 0
0
0
dy1 f x, y , y y1xx0 y 0
dx 0 1 1
1. Assign the vector of initial conditions of dependent
variables (starting vector)
2. Define the vectoral function of derivatives (right-hand
sides of equations)
3. Assign to the variable function rkfixed:
R:=rkfixed(init_vect, low_bound, up_bound, num_seg, function)
MathCAD differential equations
4. Result is matrix (table) of three columns:
first contain independent values, 2nd first
dependent values, third second ones :
x0 y1, 0 y2, 0
x1 y1,1 y2,1
R x2 y1, 2 y2, 2
... ... ...
x
N y1, N y2, N
5. Results as a plot: R<1>,R<2>@ R<0>
MathCAD differential equations x x0
y0 xx y00
0
y1xx0 y10
MathCAD differential equations
Single second order equation
x x0 , y x x0 y0
dy
2
d y Initial
f x, y , dy
dx 2
dx condition y0
dx x x0
1. Transform the second order equation to the
system of two first order equations:
dy dz0 d 2 y dz1
y z0 , z1 , 2
dx dx dx dx
dz0 x x0
dx z1
z0 xx0 z00
dz1 f x, z , z z1xx0 z10
dx 0 1
MathCAD differential equations
Example:
Solve the second order differential equation
(calculate values of function and its first
derivatives) given by equation:
d2y
2
x 2
3 y y
dx
While y=10 and y’=-1 for x=0
In the range of x=<0,1>
MathCAD differential equations
Starting vector Vectoral function
System of equations