Werkstoffwoche '96, Symposium 8 Simulation, Modellierung, Informationssysteme, (1997), 47 ( ISBN 3-88355-236-4, published by DGM Informationsgesellschaft mbH, Hamburger Allee 26, D-60486 Frankfurt, Germany)
Language: English

ChemApp - A programmable thermodynamic calculation interface

Eriksson G. Hack K. Petersen S.

GTT-Technologies, Kaiserstraße 100, 52134 Herzogenrath, Germany

Keywords: chemapp


Note This text is a web-ified and updated version of the original article


ChemApp is derived from the renowned ChemSage family of thermochemical calculation programs, which are widely used in universities, corporate and government laboratories.

It offers new possibilities and perspectives for the use of thermochemical calculations across a wide spectrum of applications by providing an easily programmable interface to complex equilibrium calculation techniques.

ChemApp consists of a library of subroutines for data handling and phase equilibrium calculation purposes. It is available as an object code library for a variety of platforms and can be added as a module to virtually any existing or new software, major application areas are CFD (computational fluid dynamics) and process simulation programs.

ChemApp is described, and selected ongoing projects involving ChemApp are briefly introduced.

1 Introduction

Over the last years, it became obvious that many programs would benefit from the ability to calculate chemical equilibria. However, substantial know-how in the field of computational thermochemistry is necessary to design the code needed, even for modest problems. As soon as multicomponent, multiphase complex equilibrium calculations are required, the need for a highly specialized, modular third-party code becomes obvious. To fill this need, ChemApp was developed within the framework of a European Science project at the Lehrstuhl für Theoretische Hüttenkunde at the RWTH Aachen, Germany /95Eri/. It is based on improved equilibrium routines of ChemSage /90Eri/, enhanced by a set of interface routines to allow their easy integration into existing programs (see Figure 1).

Figure 1: Schematic representation showing the integration of ChemApp into a process modeling or simulation program.

Especially programs from the area of process chemistry and computational fluid dynamics (CFD) benefit from ChemApp, as programmers active in these fields have long been wanting to add sophisticated, state-of-the-art chemical equilibrium calculation code to their programs.

It should also be noted that not only perfect equilibrium states may be considered. The modeling of thermodynamic properties also includes extrapolations into metastable states, thus driving forces for transformations, for instance, can be calculated. Furthermore, the availability of ChemApp as a module enables researchers working in the field of modeling of kinetic phenomena to use it for calculating local or partial equilibrium conditions within their kinetic models. Work is already under way into this direction.

2 General features

2.1 Terminology

A thermodynamic system consists of a number of phases, where some may have a composition expressed as amounts of a number of phase constituents, and others can have an invariant composition. Phases are divided into three groups in ChemApp - the gaseous phase, condensed mixtures, and condensed stoichiometric phases. For convenience, a condensed stoichiometric phase is considered to consist of a single phase constituent only.

Phases and phase constituents always have thermochemical properties (activities, chemical potentials, enthalpies, volumes, etc.). Phase constituents have compositions expressed as amounts of a number of components.

A component is a system-wide entity. Sometimes this is stressed by calling it a system component. In ChemApp, as well as in ChemSage, components are usually the elements, but they may also be composed of elements in any combination. In the latter case the stoichiometric formulae of the components must be linearly independent.

2.2 Thermochemical data and mixture models

The same comprehensive library of models for non-ideal solution phases available in ChemSage is also built into ChemApp (see Table 1). Thus, the wide range of existing thermochemical data for ChemSage is available for ChemApp too. ChemApp also uses the same thermochemical data-file format as ChemSage.

Table 1 Solution models available in ChemApp
Model Application area
Four-suffix Margules
for general use with substitutional
or associated solution phases

Compound energy formalism
Species chemical potential/bond energy formalism
solid alloys
Ionic two sublattice model
ionic liquids
Equivalent fraction sublattice model
molten salts
Gaye-Kapoor-Frohberg cell model
ionic oxidic mixtures
Blander-Pelton modified quasichemical model
ionic oxidic mixtures with non-oxidic solutes
metallic dilute solutions
concentrated aqueous solutions
Virial equation
non-ideal gas phases

3 Programming steps

Only three stages of simple programming are necessary to proceed from initialisation of ChemApp to collection of results

  1. Initialise the interface, read a thermodynamic data-file, and adjust the chemical system.
  2. Set initial conditions for the equilibrium calculation.
  3. Perform the calculation and collect results.

In the simplest cases, each programming step requires calling only one or two of the ChemApp interface routines. For more complicated applications, the number of routines called in each step increases; however, the demands on programming capabilities are never particularly difficult.

3.1 Initialising the interface and reading a thermodynamic data-file

This first step of each program entails initialising the interface, reading a thermodynamic data-file into the program, and changing default units, if necessary.

3.2 Adjusting the chemical system

A further series of programming subroutines enable the chemical system to be adjusted to match the requirements of the calculation

  • identification of phases, phase constituents, and system components
  • delete or activate phases and/or constituents from a calculation

The latter group of routines provide a very useful set of tools, since they allow the suppression of otherwise stable phases in order to calculate metastable conditions. Also, by elimination of phases and/or constituents which are known not to be stable under the chosen conditions, considerable increase in computation speed can be gained.

3.3 Setting the initital conditions for the equilibrium calculations

ChemApp offers considerable flexibility for defining initial conditions for a chemical equilibrium calculation. Two different methods are available that will cover most cases experienced in practice.

  • By defining the global conditions of the system

    Using this method, it is merely needed to set single conditions for pressure and temperature, and enter incoming species to define the composition of the system. For example, if the thermodynamic equilibrium for the system SiO2-CaO is to be calculated, using a ChemSage - compatible data-file that contains the elements Ca, Si, and O, it is only required to define the temperature and pressure of the system, and the total amounts of SiO2 and CaO present. Instead of temperature and pressure, other variables of state can be chosen too.

  • By defining streams

    A stream is considered as a medium for transferring non-reacted matter to a reaction zone. It has constant temperature and pressure, and contains one or more phases of given composition. Hence, when using this method, the conditions for the three variables - composition, temperature and pressure - need to be defined for one or more input streams. For instance, one stream entering a reaction zone can consist of O2(g), preheated to a temperature of 1500K, while the other consists of CO(g) at room temperature.

    This method must be used for calculation of the extensive properties of reactions; for example, those involving the heat balance or the adiabatic temperature of a combustion process. It is also convenient to use it for reactor calculations, where it is known what is entering the system and it is desired to calculate results at various stages during and at the end of the process.

3.4 Performing the calculation and collecting results

Only one subroutine needs to be called to execute phase equilibrium calculations defined by pressure, temperature, and input composition.

Like ChemSage, ChemApp is also able to perform extensive property target calculations (defined by an extensive property change) and phase target calculations (defined be the search for a particular phase). If, in the previous step, such a target calculation has been defined, the necessary additional information is supplied upon calling the equilibrium calculation routine. Results from a phase equilibrium calculation are retrieved by using only a single subroutine.

For the following variables results can be obtained

  • Total pressure, total volume, temperature
  • Equilibrium amount of phases, phase constituents, and system components
  • Chemical potential and activity
  • Heat capacity, enthalpy, entropy, and Gibbs energy of the equilibrium state
  • Mass or mole fraction of a system component or phase constituent

ChemApp can also calculate the thermodynamic properties, Cp, H, S, and G, of a phase and its constituents.

4 Application examples

Brief descriptions of several projects which are currently under way and employ ChemApp as the core of the dedicated programs involved are given below (for an up-to-date list of projects involving ChemApp see the ChemApp section of GTT's Technical Thermochemistry Web Page (http//www.gtt-technologies.de).

The Åbo Black-Liquor Recovery Boiler Advisor This program, developed at Åbo Akademi University, is intended to provide information about the high-temperature ash and flue gas chemistry in black liquor recovery boilers of kraft pulp mills. Utilizing ChemApp for the calculation of the complex phase equilibria, the program can be used for predictions of a variety of furnace and flue gas phenomena, such as fireside fouling of the heat exchanger surfaces caused by the flue gas particulate matter, emissions of SO2(g), HCl(g), and NOx(g) with the flue gas etc. The program determines the composition of the flue gas as well as the amount and composition of the two typical fly ash fractions found in recovery boiler flue gases, the condensed fly ash particles and the carry over particles. These data are used for calculating the melting behavior of the fly ash present at different locations in the boiler and this characteristic behaviour is used for the fireside fouling predictions.

Combination of Reaction Kinetics with Gibbs Energy Minimization ChemApp is applied together with a new method called RATEMIX® to calculate multicomponent chemical reaction mixtures as a series of sequential thermochemical states. The procedure combines multicomponent thermodynamics with chemical kinetics and may be used to simulate the multicomponent reactors as a thermochemical 'natural process'. It combines the desired reaction rates sequentially with constrained Gibbs energy minimisations. The method is applicable in processes where the core thermodynamic and kinetic data of the system are known and the time-dependent heat transfer data can either be measured or estimated by calculation. The reactor simulations already performed using this method include high temperature aerosol reactors (e.g. TiCl4 oxidation), zinc vapor oxidation during zinc condensation, counter-current rotary drums with chemical reactions, causticisation of aqueous (impure) sodium carbonate solution with lime.

Improved coatings on metals using fluidized bed thermochemical treatments The objectives of the project are to develop improved multielement high temperature coatings based on Al/Cr/rare earth combinations and Ti-based hard wear resistant coatings using fluidized bed (FBT) and plasma fluidized bed (PFBT) technology. ChemApp is used to predict the conditions (temperature, type, and amount of materials used) under which the formation of the desired coating phases is most probable.

Numerical simulation of YBaCuO-growth phenomena using the phase field method Numerical modeling of the growth of superconducting materials is beneficial with respect to both process control and the understanding of growth phenomena. The phase field method has been used to treat the evolution of a solid-liquid interface and has been extended to describe aspects of the multiphase system YBaCuO. The faceted growth of both the properitectic and peritectic phases and its dependence upon Y-diffusion in the liquid phase has been calculated by a dedicated program utilizing ChemApp.

ChemApp as a module for CFD programs After an early version of ChemApp was used successfully as an add-on to the CFD program Phoenics, further projects in this direction are under way, demonstrating that complex equilibrium thermochemistry can be a valuable enhancement to the CFD modeling code.