Tore Haug-Warberg's Home Page

Tore Haug-Warberg
Department of Chemical Engineering, NTNU
email: haugwarb@nt.ntnu.no
phone: +47-7359-4108

Picture of myself

You should call it entropy, for two reasons. In the first place your uncertainty function has been used in statistical mechanics under that name, so it already has a name. In the second place, and more important, no one really knows what entropy really is, so in a debate you will always have the advantage..

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.

Links to my other stuff:

  1. Animations
  2. PhD Theses
  3. TABBE
  4. KP8108
  5. Sjokolade
  6. TKP4175
  7. TKP4175 Lectures
  8. TKP4106
  9. Matlab primer

External links:

  1. The Japanese KENSHU Method (J.Chem.Educ.)
  2. Symbols in Scientific Manuscripts (NIST)
  3. Scientific Papers (Internet Archive)
  4. The Engines of Our Ingenuity (UH)
  5. Ruby Hacking Guide (RubyForge)
  6. Top Thermodynamics (wiki)
  7. Chemistry WebBook (NIST)
  8. Ask (BIBSYS)
  9. Nobel prizes (Nobelprize.org)
  10. LaTeX (Cambridge University)

Links on this page:

  1. Thermodynamic modelling
  2. Algorithms
  3. Languages
  4. Enterprices
  5. Equations of state
  6. Teaching
  7. Network solvers

Thermodynamic models and model parameters:

Electrolyte NRTL

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.

Consistency check

Database example

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

CAS number

Developing new languages for model representation:

YASIM server

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:

Thermo language

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):

RGrad language

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...

Math language

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

Congruence transformation

Developing algorithms for:

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

Keeping up on equations of state and activity models:

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

Private enterprices:

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

HAUG Technology

Teaching (TKP4175, KP8108):

Den termodynamiske arbeidsboken

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

Process simulation with thermodynamic structure:

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

Network solver

Last updated: 28 March 2011