simusage component library and its application to … · 1. dynamic programming1. dynamic...

27
DYNAMIC PROGRAMMING USING THE SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO THE SIMULATION OF THE CEMENT CLINKER BURNING PROCESS BURNING PROCESS GEN-RE-Workshop-06_08 R. Emler – University of Leoben

Upload: others

Post on 25-Jun-2020

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

DYNAMIC PROGRAMMING USING THE

SIMUSAGE COMPONENT LIBRARY

AND ITS APPLICATION TO THE

SIMULATION OF THE CEMENT CLINKER

BURNING PROCESSBURNING PROCESS

GEN-RE-Workshop-06_08R. Emler – University of Leoben

Page 2: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

Contents

1. Dynamic programming – Definition and introduction

2. Development of SimuSage based components

3. Cement clinker burning process3. Cement clinker burning process

4. Simulation purpose and layout

5. Simulation results

6 O tl k6. Outlook

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning191

Page 3: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

1. Dynamic programming 2. SimuSage based components 3. Cement clinker burning process

1. Dynamic programming1. Dynamic programming Mathematics and computer science

Definition

Method of solving problems

Overlapping sub problems

Optimal substructure

Algorithm

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning192

Page 4: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

1. Dynamic programming 2. SimuSage based components 3. Cement clinker burning process

1. Dynamic programming1. Dynamic programming Mathematics and computer science

Definition

Method of solving problems

Overlapping sub problems

Optimal substructure

Algorithm

Break the problem into smaller sub problems

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning192

Page 5: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

1. Dynamic programming 2. SimuSage based components 3. Cement clinker burning process

1. Dynamic programming1. Dynamic programming Mathematics and computer science

Definition

Method of solving problems

Overlapping sub problems

Optimal substructure

Algorithm

Break the problem into smaller sub problems

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning192

Page 6: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

1. Dynamic programming 2. SimuSage based components 3. Cement clinker burning process

1. Dynamic programming1. Dynamic programming Mathematics and computer science

Definition

Method of solving problems

Overlapping sub problems

Optimal substructure

Algorithm

Break the problem into smaller sub problems

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning192

Page 7: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

1. Dynamic programming 2. SimuSage based components 3. Cement clinker burning process

1. Dynamic programming1. Dynamic programming Mathematics and computer science

Method of solving problems

Definition

Overlapping sub problems

Optimal substructure

Algorithm

Break the problem into smaller sub problems

S l th i lSolve these simple problems

Use these optimal solutionsUse these optimal solutions to construct an optimal solution for the original

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning192

gproblem

Page 8: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

1. Dynamic programming 2. SimuSage based components 3. Cement clinker burning process

1. Dynamic programming1. Dynamic programming Mathematics and computer science – Fibonacci numbers

F(n) = 1 if n = 1;0 if n = 0;

F( 1) + F( 2) if > 1Method of solving problems

Definition

F(n – 1) + F(n – 2) if n > 1.

function Fib(n: Integer): Integer;begin

Overlapping sub problems

Optimal substructurebeginif n = 0 then

Result:= 0else if n = 1 then

Result:= 1

AlgorithmResult:= 1

elseResult:= Fib(n – 1) + Fib(n – 2);

end;

Break the problem into smaller sub problems

S l th i lF(5) = F(4) + F(3)

F(4) F(3) + F(2)

Solve these simple problems

Use these optimal solutionsF(4) = F(3) + F(2)

F(4) = (F(2) + F(1)) + (F(1) + F(0))

( )

Use these optimal solutions to construct an optimal solution for the original

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning193

F(4) = ((F(1) + F(0)) + F(1)) + (F(1) + F(0))g

problem

Page 9: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

1. Dynamic programming 2. SimuSage based components 3. Cement clinker burning process

1. Dynamic programming1. Dynamic programming Programming language

procedure CalcAllFibs();var Fibs: array of Integer;

n, i: Integer;, g ;

begin

GetN(n); Data input for the number of Fibonacci numbersSetLength(Fibs, n);

Fibs[0]:= 0;Fibs[1]:= 1;

Dynamic allocation of memory

Fibs[1]: 1;

for i:= 2 to (n – 1) doFibs[i]:= Fibs[i – 1] + Fibs[i – 2];

Fibs =

WriteFibs(Fibs);

end;

Output

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning194

Page 10: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

1. Dynamic programming 2. SimuSage based components 3. Cement clinker burning process

1. Dynamic programming1. Dynamic programming Application for process simulation

Break the process into sub-processes

Break sub-processes into characteristic process stepsprocess steps

Develop models for these process steps

Generate components for process steps

Create and connect process steps according

GenerateGenerate componentscomponents forfor processprocess stepssteps

Create and connect process steps according to the total process model

Solve the model by an iterative procedure

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning195

Page 11: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

1. Dynamic programming 2. SimuSage based components 3. Cement clinker burning process

2. Development of SimuSage based components2. Development of SimuSage based componentsIntorduction

Properties

Delphi componentsp

Methods

Eventse ts

TPbGttBalanceTPbGttBalanceTemperature

calculatecalculate

OnBeforeCalculation

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning196

Page 12: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

1. Dynamic programming 2. SimuSage based components 3. Cement clinker burning process

2. Development of SimuSage based components2. Development of SimuSage based componentsPartial equilibrium reactor

Partial thermodynamic equilibrium

Parameters and specificationsy q

Model for the amount of ‚non-equilibrium‘

Defined enthalpy inputDefined enthalpy input

Homogeneous temperature of outgoing stream

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning197

Page 13: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

1. Dynamic programming 2. SimuSage based components 3. Cement clinker burning process

2. Development of SimuSage based components2. Development of SimuSage based componentsPartial equilibrium reactor – multiple input streams

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning198

Page 14: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

2. SimuSage based components 3. Cement clinker burning process 4. Simulation purpose and layout

3. Cement clinker burning process3. Cement clinker burning process

Typical plant layout

Raw mix: 250 t/h

Heat: 2.900 – 3.400 kJ/kg clinker

Clinker: 150 t/h

Off gas: 220.000 mN3/h

Volatile recirculation

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning199

~ 10 m

Page 15: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

2. SimuSage based components 3. Cement clinker burning process 4. Simulation purpose and layout

3. Cement clinker burning process3. Cement clinker burning process

Typical plant layout

Raw mix: 250 t/h

Heat: 2.900 – 3.400 kJ/kg clinker

Clinker: 150 t/h

Off gas: 220.000 mN3/h

Volatile recirculation

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning1910

~ 10 m

Page 16: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

3. Cement clinker burning process 4. Simulation purpose and layout 5. Simulation results 6. Outlook

4. Simulation purpose and layout4. Simulation purpose and layout

Project objectives

Determination of the chemical loading of refractoriesDetermination of the chemical loading of refractories

Calculation of the infiltration depth of volatiles in the lining

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning1911

~ 10 m

Page 17: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

4. Simulation purpose and layout

3. Cement clinker burning process 4. Simulation purpose and layout 5. Simulation results 6. Outlook

4. Simulation purpose and layout

Project objectives

Determination of the chemical loading of refractoriesDetermination of the chemical loading of refractories

Calculation of the infiltration depth of volatiles in the lining

TC TTC TT

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning1911

~ 10 m

Page 18: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

4. Simulation purpose and layout

3. Cement clinker burning process 4. Simulation purpose and layout 5. Simulation results 6. Outlook

4. Simulation purpose and layout

Project objectives

Determination of the chemical loading of refractoriesDetermination of the chemical loading of refractories

Calculation of the infiltration depth of volatiles in the lining

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning1911

~ 10 m

Page 19: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

4. Simulation purpose and layout

3. Cement clinker burning process 4. Simulation purpose and layout 5. Simulation results 6. Outlook

4. Simulation purpose and layout1st evaluation with focus on the recirculation

Simplified setup of reactors

Definition of input streams

Assumptions for further input streams

Solving mass and energy balancesSolving mass and energy balances

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning1912

~ 10 m

Page 20: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

4. Simulation purpose and layout

3. Cement clinker burning process 4. Simulation purpose and layout 5. Simulation results 6. Outlook

4. Simulation purpose and layoutTotal process model

Reactors in a total process modelP h t t 4 6Preheater stages

Calciner(s)

.............. 4 – 6

........................ 0 – 2

Kiln segments

Cooler segment(s)

................. up to ~ 1/m

.......... 1 – 300

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning1913

Page 21: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

4. Simulation purpose and layout

3. Cement clinker burning process 4. Simulation purpose and layout 5. Simulation results 6. Outlook

4. Simulation purpose and layoutKiln segment model

Fuel

Gas

Dust

Gas

Dust

Kiln feed Kiln feed

Material transport according to Kramers and Crookewitt (1952)

Heat transfer according to Frisch and Jeschar (1983)

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning1914

Separation of feed into segments according to temperature distribution

Page 22: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

4. Simulation purpose and layout

3. Cement clinker burning process 4. Simulation purpose and layout 5. Simulation results 6. Outlook

4. Simulation purpose and layoutKiln segment model

Material transport according to Kramers and Crookewitt (1952)

Heat transfer according to Frisch and Jeschar (1983)

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning1914

Separation of feed into segments according to temperature distribution

Page 23: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

5. Simulation results

3. Cement clinker burning process 4. Simulation purpose and layout 5. Simulation results 6. Outlook

5. Simulation resultsSimulation of a real-life kiln

4 Preheater stages

Setup of reactorsg

1 Calciner

35 Kiln segments (à 2 m) complexity similar to FE-simulations

Facts and figuresg ( ) complexity similar to FE simulations

~ 4000 SimuSage components

~ 1 6 · 1015 floating point operations~ 1.6 · 10 floating point operations

~ 250 000 calculated equilibria

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning1915

Rashadiya kiln #1 (Jordan) – Kiln audit 08/07

Page 24: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

5. Simulation results

3. Cement clinker burning process 4. Simulation purpose and layout 5. Simulation results 6. Outlook

5. Simulation results

Ts,top

Tgas

Ts

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning1916

Page 25: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

5. Simulation results

3. Cement clinker burning process 4. Simulation purpose and layout 5. Simulation results 6. Outlook

5. Simulation results

Ts,top

Tgas

Ts

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning1917

Page 26: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

6. Outlook

3. Cement clinker burning process 4. Simulation purpose and layout 5. Simulation results 6. Outlook

6. OutlookDevelopment of a user interface

User interfaceData input

User interfaceSimulation layout

User interfaceSimulation results

Plant layout

Simulation layout and data

Database Material data

Material input streams

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning1918

Simulation results

Page 27: SIMUSAGE COMPONENT LIBRARY AND ITS APPLICATION TO … · 1. Dynamic programming1. Dynamic programming Mathematics and computer science Definition Method of solving problems Overlapping

6. Outlook

3. Cement clinker burning process 4. Simulation purpose and layout 5. Simulation results 6. Outlook

6. OutlookTimetable and further procedure

1/06 1/07 1/08 1/09

Simplified User interface

preliminary modelPreheater model

Kiln segment model

Cooler model

Plant simulation

Total process modelKiln modeltested and verified

GEN-RE-Workshop-06_08Dynamic programming – Process simulation – Cement clinker burning1919