|
|
|
Tore Haug-Warberg |
|
|
Suggestion of John von Neumann to Claude Elwood Shannon on what to call his uncertainty function in information theory [M. Tribus ``Energy and Information'', Scientific American, 225 (1971) p. 180]. |
|
This page presents my daily tasks during the past 15 years. There is no chronology with respect to what comes first and what comes last, but the bulk of the time I find myself teaching, or studying thermodynamic (model) structures using different kinds of programming languages. |
|
|
|
|
Implementing models from the literature is tedious work: The models can be complex, and errors and misprints is the rule, not the exception. |
|
About thermodynamic consistency: Making the model right is harder than making the right model. |
|
|
|
Collecting and maintaining thermodynamic data(bases): There is somewhere between 0.5 M and 1M physical property values and model parameters in my database collection. |
|
Verifying component chemistry and uniqueness: As easy at it sounds - this is a very hard task. Many data collections are published with minimal identification information. Just formulas and numbers. Now, one chemical formula may map to several component names, and one component can have several CAS numbers (allthough there to each CAS number is only one component). As a rule, the physical properties of the component must be tested to verify that it is want you think it is. top |
|
|
|
|
|
Thermodynamic calculation server (YASIM): Built to serve the needs of Yara International. Basically, it is a thermodynamic stream calculator equipped with a symbolic equation solver. |
|
Thermodynamic model declaration (Thermo): This is my little baby - a high-level language written in Ruby to make object-oriented design of model hierarchies possible: |
|
|
|
Automatic gradient calculation (RGrad): Calculating scalar derivatives of explicit functions is quite routine, and of function gradients the same, but calculating function gradients to arbitray order is not. RGrad is a language (designed by me and my PhD student Bjørn Tore Løvfall) for doing exactly this. It has been tested up to the seventh order on the SRK equation of state (yielding about 200,000 lines of exported C code): |
|
|
|
Mathematical notation: Doing high-level programming is quite hard without some kind of abstract object representation. Standard notation from calculus is not always sufficient and new things must be tried out... |
|
|
|
Co-ordinate transformations: Thermodynamics is much about shifts in free variables (which is actually why I need the automatic gradient calculations above). Symmetry and beaty is definitly the rule! top |
|
|
|
|
|
Phase stability |
Global optimization |
|
Multiphase |
Known as flash calculations |
|
Multicomponent reaction |
Reactions in gas, solid or liquid phases |
|
Heterogeneous reactions |
Reactions across phase boundaries |
|
Shock |
Gas explosions and detonations |
|
Membranes |
Restricted phase equilibrium |
|
Gravitational field |
Oil-gas wells of significant thickness |
|
Manifolds |
TVN, TpN, HpN, UVN, etc. |
|
Critical |
Thermodynamic singularities top |
|
|
|
Hydrocarbons |
LNG, LPG |
|
Strong acids |
Nitric acid, hydrochloric acid |
|
Weak electrolytes |
CO2, amines |
|
Pure fluid properties |
Steam tables and reference fluids |
|
Inorganic solids |
Allotropic forms of NH4NO3 |
|
Salt melts |
Cryolite |
|
Liquids |
Liquid air, alcohols |
|
High-pressure phases |
H2, geochemistry, detonations |
|
Isotopes |
Heavy water distillation top |
|
|
|
Thermodynamic pun: HAUG is an acronym for Enthalpy, Helmholtz, Internal, Gibbs (besides being my first family name). A small company serving customers in Norwegian industry, institutions and private sector with tailor made computer code for all kinds of thermodynamic calculations. top |
|
|
|
|
|
TKP4175: The course shall provide a thorough introduction to the mathematical methods of thermodynamics, aimed at the use in simple control volume theory, computation of properties of thermodynamic mixtures (gases and liquids), and phase and reaction equilibrium calculations. KP8108: Hands-on course in thermodynamic equilibrium theory and algorithms (Newton type) for computing complex phase and reaction equilibria, in geometry independent systems. The concept of canonical variables and Legendre transformations is stressed. Programming in Matlab. top |
|
|
|
A joint effort by me and 3 of my PhD students (Volker Siepmann, Bjørn Tore Løvfall and Olaf Trygve Berglihn). The goal has been to represent, and of course solve, process flowsheets with thermodynamic nodes - both in steady state and dynamic mode. The outcome is in both cases a nicely structured coefficient matrix: top |
|
|
|
Last updated: 28 March 2011 |