Thermodynamicist™ is a C# .NET program that calculates thermodynamic properties of chemical systems. This software is intended to be the backend for an as-of-yet undeveloped educational process simulator. Thus, Thermodynamicist™ is built with the intention of being user-friendly and easy to integrate into teaching plans. Students can use this software to complete more difficult thermodynamic calculations — such as group contribution activity coefficients or SRK-derived equations of state — that would otherwise be left out of practice during their education.

The educational process simulator (planned name Troposoft Foundry) will include an equally user-friendly interface to provide students with process simulator experience prior to being exposed to fully-featured professional process simulators. Often, students will not interact with these industry simulators until their final year or semester. Many instructors thus do not have the time available to walk students through the software, which results in students not learning how to use the software and instead relying on a few peers to do the work for them. This simulator intends to address this issue by providing a middle-ground between paper-and-pen/hand-coded calculations and the very complex industry process simulators.

Development Plan

Features

Thermodynamicist™ provides users with the ability to…

  • Evaluate and plot pure-component thermodynamic properties (including molar volume, enthalpy, entropy, Gibbs energy, and fugacity) using various equations of state, such as the Peng-Robinson equation.
  • Model and find phase equilibria for two-phase binary mixtures using activity models and equations of state.
  • Estimate entropies and enthalpy/heats of reaction from formation thermodynamic data.
Screenshot from August 2025 showing thermodynamic properties for water at 273 K and atmospheric pressure using the Peng-Robinson equation of state, as well plots showing pressure-volume isotherms and Gibbs-temperature curves for each phase.
Screenshot from August 2025 showing some thermodynamic variables for a homogeneous liquid mixture of acetone and n-pentane at 298 K and atmospheric pressure.

History

The spiritual predecessor to this program was written in MATLAB by Professor Ali Mohraz from the University of California, Irvine. It was originally written in Java before being convinced to switch to C#/.NET/UWP for better UI and performance. Construction began around the beginning of May 2022 and had successfully implemented all features that the original MATLAB code had included in late June 2022.

In mid-July 2022, the first dynamic inputs were added to the UI, allowing users to select a temperature, pressure, and chemical species to be used for calculations. After a few months of being kept busy with summer classes, the first plotting output (for pressure-volume isotherms) was added in late September 2022. By November, this plot could correct the S-curve behavior exhibited by equations of state using the vapor pressure. By 2023, Phase II was completed with the completed implementation of phase-change temperature/pressure calculations for pure component systems.

Phase III, which started in parallel with Phase IV in August of 2024, was completed in October 2025 after adding the UNIFAC activity model for liquid multicomponent mixtures. In combination with the ideal mixture model, binary vapor-liquid equilibria could be found using a custom phase finding algorithm.

Phase IV began with the addition of the Reaction class and related handling for calculating heats and enthalpy of reaction in August 2024, and basic kinetics calculations began being added after the completion of Phase III.

These last two phases mark the first overt steps towards simulating non-trivial chemical unit operations, such as reaction vessels and distillation towers. Simpler operations such as flash drums are already partially modeled with the methods added in Phase II, and units such as heat exchangers and pumps can be modeled with some mild changes.

References

Many equations used in this code, as well as the built-in data tables, are pulled directly from Sandler’s Chemical, Biochemical, and Engineering Thermodynamics (5th edition). When used, sources are marked in the code with a comment. Chemical data is largely taken from Yaw’s Handbook of Thermodynamic Properties for Hydrocarbons and Chemicals or the NIST Chemistry WebBook↗.

Devlogs & Posts

    Comments

    No comments yet. Why don’t you start the discussion?

    Leave a Reply

    Your email address will not be published. Required fields are marked *