# Thermohub

## Organizing files and examples for chemical engineering thermodynamics
Eric Furst, 
*January 2026*

Students start with simple calculations in python using Jupyter notebooks. We introduce them to standard  libraries, such as *numpy*, *scipy*, *matplotlib*, and *pandas*.

Sophomores have completed CISC 106 *Introduction to Computer Science* and are familiar with Python, but not for scientific or engineering calculations.

Code can be written and excuted using a dedictaed Collge of Engineering Jupyterhub (https://jupyterhub.cbe.udel.edu:8000/hub/login), but off-campus access requires the VPN. Students learn about several alternatives they can use, including *Google Colab* and by locally installing Jupyter on their personal machine.

Here, the code is organized into several modules:

- **Preliminaries** \
    Initial exercies to intoduce Python and Jupyter concepts

- **Module 6** \
    Properties of real fluids (Chapter 6, SIS)

- **Module 7** \
    Equilibrium and fugacity (Chapter 7, SIS)

- **Test code** \
    Experimental code / sandbox

Real fluid calculations in chapter 6 and equilibrium and fugacity calcuations in chapter 7 are the most significant areas where students use python and Jupyter notebooks to solve problems.

## Instructional goals of this repository

Constructing numerical solutions to thermodynamics problems is an important exercise for students learning the subject. First, understanding how and when to use numerical solutions is a critical skill in an engineer’s training. Models are used in initial design studies to assess the technical feasibility and cost of a new process -- details which students learn later in the curriculum. Numerical solutions also enable students to experiment with the results of calculations, for instance by changing conditions or properties in a thermodynamic model. Finally, numerical models are important intermediates between analytic solutions and process models using packages such as Aspen and gPROMS.

Starting with the second edition in 1989, Sandler incorporated computational exercises that brought engineering science, industrial practice, and undergraduate education closer. The content evolved over the years from programs written in Microsoft DOS BASIC (widely available with the IBM PC) to Visual BASIC, Mathcad, and Matlab. However, many of the remaining code bases and executables included with the text are no longer supported in modern operating systems or rely on access to software licenses. Software distribution has also changed significantly from first diskettes, then CDROMs included with the text to online distribution through webpages, and now, code repositories. 

A major focus of the 6th edition of SIS is to rewrite the problems, demonstrations, and solutions to use the modern scientific computing stack centered on the Python language and to incorporate more examples using Python and Jupyter notebooks. 

Python emerged in the last decade as a powerful scripting and programming language, especially for scientific computing. Using it has several advantages, including robust numerical libraries and plotting routines and its accessibility to users as an open source community. We will rarely use its object oriented properties. Our goal is to write programs that function while keeping the syntax and use on a relatively elementary level. Jupyter provides a seamless integration of technical text, code, and computational results.

