Home

Heat and Mass Exchange Simulator

I modeled counter-current heat exchange and membrane mass transfer in Python. I use the calculations to compare how changes in flow and transfer area affect the outlet conditions.

GitHubCalculation notes

ScopeSeparate heat- and mass-transfer calculations, with energy and solute balance residuals reported for each case.

Heat exchange

The heat calculation uses the effectiveness–NTU method for a counter-current exchanger. From the stream flow rates and heat capacities, it finds the capacity ratio and predicts heat duty and outlet temperatures.

I included the equal-capacity-rate case separately because the general expression needs a different form there. Changing the area or flow rates then gives a direct way to compare exchanger cases.

Membrane mass transfer

The mass-transfer calculation uses an exponential concentration model, with transfer NTU given by KA/Q. It estimates the outlet solute concentration and the amount transferred per second.

The heat and mass calculations share an input table, but they are not coupled. The current model does not feed temperature changes into membrane transport.

Balance checks

For heat exchange, I compare the hot stream’s heat loss with the cold stream’s heat gain. For mass transfer, I check that inlet solute equals the amount leaving plus the amount transferred.

Both residuals are saved beside the predictions in CSV and Excel. These are consistency checks on the implemented equations, not independent experimental validation.

What the model leaves out

Heat capacities and transfer coefficients are supplied as constants. Pressure drop and fouling are not modeled. The mass-transfer equation also assumes an ideal receiving-side sink; a finite receiving concentration would need a different treatment.

The code and calculation notes show the equations used and how cases are read and saved.

Based on the public implementation reviewed September 10, 2026.