1 name, title of the presentation canonical thermodynamics & modelling tore haug-warberg bjørn...

36
1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

Upload: jordan-holstead

Post on 14-Dec-2015

224 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

1

Name, title of the presentation

Canonical Thermodynamics & Modelling

Tore Haug-WarbergBjørn Tore Løvfall

Olaf Trygve Berglihn

Cybernetica21 June 2006

Page 2: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

2

Programme

1. Executive summary (THW) 2. Symbolic differentiation (BTL)3. Thermodynamic algebra (THW)4. Dynamic simulation (OTB)

Name, title of the presentation

Page 3: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

3

What is thermodynamic modelling?• Thermodynamic modelling is about physical

state models. In the current context only simple systems shall be considered. Thus, the models assume uniform states (no gradients), and they are insensitive to geometry, to external fields, and to the previous history. In practice f (x) can be G(T, p, n), A(T, V, n) or (T, V, µ ).

Name, title of the presentation

Page 4: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

4

When is it important?

• Thermodynamic modelling is important when there is a significant coupling between two or more of the system variables. This includes unit operations such as: Valves, compressors, expanders, reactors and separation units. Specialized units like hydraulic networks or heat exchanger networks are on the side-line of what we shall talk about.

Name, title of the presentation

Page 5: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

5

Why bother?

• If done awkwardly, thermodynamic calculations require a lot of man-power and occupy excess CPU-time. One of the most difficult questions to ask is about standard states. As soon as two or more engineers are playing around with different simulators the result is quite often a big mess. Controlling the thermodynamic calculations means better modularity, increased re-usability and reduced maintenance costs.

Name, title of the presentation

Page 6: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

6

Where does it fit in?• Good question, and this is why we are here to

listen to your problems. For many people in industry it is tempting to claim that ”the proof of the pudding lies in its eating”. However, we are talking about new technology and new thinking patterns here, and the biggest obstacle is maybe that people will not even taste the pudding because they do not recognize it as proper food.

Name, title of the presentation

Page 7: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

7

Thermodynamic formalism

Name, title of the presentation

Page 8: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

8

Newton-Raphson

Name, title of the presentation

Page 9: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

9

Newton-Lagrange-Euler

Name, title of the presentation

Page 10: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

10

Additional constraints

Name, title of the presentation

Page 11: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

11

Canonical block structure (reactive flash)

Name, title of the presentation

Page 12: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

12

Name, title of the presentation

Page 13: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

13

Conclusions

• Canonical representation implies a highly structured equation system.

• Intensive and extensive variables are solved simultanously.

• The updated state is solved for explicitly.• Equilibrium and balance equations are solved

only once (linear functional) while iterating the transport equations many times.

Name, title of the presentation

Page 14: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

14

Symbolic differentiation

• Traditional coding requires that all functions derivatives are implemented by hand.

• By collecting the function in a computer graph symbolic operations are possible.

• The derivatives can then be calculated by automatic procedures and exported to e.g. C.

• Higher order (>2) derivatives are feasible.

Name, title of the presentation

Page 15: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

15

Declarations

• d1 = Dim.new• t = Variable.new(’T’)• dg = Parameter.new(’deltag’, d1, d1)• nrtl = Model.new(’nrtl’, t, n, r, dg, al)

Name, title of the presentation

Page 16: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

16

Modelling• sumn = nrtl.expr(’sumn’, n).sum• x = nrtl.expr(’x’, n,sumn[nil]){|q,w| q/w}

etc. (5 more lines)

• dgex = nrtl.expr(’DeltaGex’,r[nil,nil],t[nil,nil],

x[nil,d1],x[d1,nil],

tmp3){|q,w,e,y,u| e*y*u*q*w}.sum

Name, title of the presentation

Page 17: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

17

Ruby vs Matlab

• tmp1 = nrtl.expr(’tmp1’,x[nil,d1],

expG,x[d1,nil]){|q,w,e| q + w*e}

The same code written in MATLAB is:

• tmp1 = repmat(x,1,3) + expg.*repmat(x’,3,1);

Name, title of the presentation

Page 18: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

18

• [x11, x21][nil,d1],

[[G11, G12], [G21, G22]],

[x12, x22][d1,nil]

• [x11, x21][d1], [G11, G12], [x12][nil]

[x11, x21][d1], [G21, G22], [x22][nil]

• [[ (x11, G11, x12), (x21, G12, x12)],

[ (x11, G21, x22), (x21, G22, x22)]]

Name, title of the presentation

Page 19: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

19

Instantiation• d1.init(3)• r.init([8.314])

• dg.init([[0,-105.43,285.39],

[-36.852,0,-2.3302],

[754.56,11.362,0]])

• al.init([[0, 0.2, 0.2],[0.2, 0, 0.2],[0.2, 0.2, 0]])

Name, title of the presentation

Page 20: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

20

API• Require ´rbct´

• c,d = SRKmodule::init([0,0,1])

• SRKmodule::set(d,SRKmodule::N,[4.3])• SRKmodule::set(d,SRKmodule::T,[298.15])• SRKmodule::set(d,SRKmodule::V,[5.0e-4])

• SRKmodule::srk(c,d)

Name, title of the presentation

Page 21: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

21

Name, title of the presentation

Page 22: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

22

Name, title of the presentation

Page 23: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

23

Name, title of the presentation

Page 24: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

24

Name, title of the presentation

Page 25: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

25

Thermodynamic frameworks

• Thermodynamic process models consist of several sub-models (heat capacity, ideal gas, equation of state, etc.).

• Different frameworks are needed for metallurgy, oil & gas, polymers, etc.

• It would be great to represent all frameworks into one generic structure rather than programming several chains of explicit function calls.

Name, title of the presentation

Page 26: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

26

Text book example

Name, title of the presentation

Page 27: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

27

Ruby interface

n = [’nitrogen’,’methane’,’ethane’,

’propane’,’n-butane’]

A = Surface * Helmholtz * StandardState * [

MuTcp.extend(:poly3) *

MuThs.fun(:h0) + MuThs.extend(:s0).mix(n)] +

EquationOfState * [

ModTVNideal.extend(:idealgas).mix(n) ] +

EquationOfState * [ ModTVN.extend(:srk).mix(n) ]

Name, title of the presentation

Page 28: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

28

Conclusions

• Thermodynamic frameworks can be captured in computer graphs using simple algebra.

• The graph acts as a wrapper and exports the entire model framework into C.

• Symbolic differentiation (gradients) is available to arbitrary order.

• Automatic documentation eliminates a common source of error.

Name, title of the presentation

Page 29: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

29

Dynamic simulation using YASIM

• One-step solver with steplength control. Newton-Lagrange-Euler formulation.

• Thermodynamic state-estimator• Modularized, flexible interface.• Aggregation of simple units into complex units.• Export to simplified/linearlized models in Taylor-

expansion manifold for process control analysis.• Plug-flow and transport delay

Name, title of the presentation

Page 30: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

30

Canonical representation

• A full thermodynamic problem is always stated.• Solve for both intensive and extensive variables.• Additional constraints are implemented as lambda

functions:• Analytical inverse is possible for the thermo-

dynamic coefficient matrix (at fixed topology).

Name, title of the presentation

Page 31: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

31

Dynamic 2-phase flash

Name, title of the presentation

Page 32: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

32

Name, title of the presentation

Page 33: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

33

Simulation factory

• Node factory.• Thermo surface import.• Thermo model propagator (graph coloring

algorithm).• Species propagator (graph coloring algorithm).• Node aggregator. Injects flowsheet constitutive

equations (flow relations) and handles DOF-assignment.

Name, title of the presentation

Page 34: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

34

Name, title of the presentation

Page 35: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

35

Executive conclusions

Name, title of the presentation

• YASIM ≠ ASPEN (simulation vs design)• DASIM = YASIM + PFR + CSTR

Page 36: 1 Name, title of the presentation Canonical Thermodynamics & Modelling Tore Haug-Warberg Bjørn Tore Løvfall Olaf Trygve Berglihn Cybernetica 21 June 2006

36

High priority development

Name, title of the presentation

• Transport delay (PFR)• Dynamic reactive flash (multiphase reactor)• Stirred tank (CSTR)• Electrolyte handling• ATLAS-binding in Ruby• Simulation API • Automatic documentation