Download presentation

Presentation is loading. Please wait.

Published byJordan Holstead Modified about 1 year ago

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

2
2 Programme 1.Executive summary (THW) 2.Symbolic differentiation (BTL) 3.Thermodynamic algebra (THW) 4.Dynamic simulation (OTB) Name, title of the presentation

3
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

4
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

5
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

6
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

7
7 Thermodynamic formalism Name, title of the presentation

8
8 Newton-Raphson Name, title of the presentation

9
9 Newton-Lagrange-Euler Name, title of the presentation

10
10 Additional constraints Name, title of the presentation

11
11 Canonical block structure (reactive flash) Name, title of the presentation

12
12 Name, title of the presentation

13
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

14
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

15
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

16
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

17
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

18
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

19
19 Instantiation d1.init(3) r.init([8.314]) dg.init([[0, ,285.39], [ ,0, ], [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

20
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

21
21 Name, title of the presentation

22
22 Name, title of the presentation

23
23 Name, title of the presentation

24
24 Name, title of the presentation

25
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

26
26 Text book example Name, title of the presentation

27
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

28
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

29
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

30
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

31
31 Dynamic 2-phase flash Name, title of the presentation

32
32 Name, title of the presentation

33
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

34
34 Name, title of the presentation

35
35 Executive conclusions Name, title of the presentation YASIM ≠ ASPEN (simulation vs design) DASIM = YASIM + PFR + CSTR

36
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

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google