Process Integration

Version 1.0 (22.9 KB) by Dimos Aslanis
A project that performs useful Process Integration calculations given the streams of the process (Pinch Analysis, Heat Exchanger Network).
Updated 19 May 2021

Process Integration

View Process Integration on File Exchange

Table of contents


This project was made as part of the course "Process Design II" at the School of Chemical Engineering of the National Technical University of Athens. It uses a csv or excel spreadsheet file as input, and it generates:

  • The Grand Composite Curve of the process
  • The Enthalpy - Temperature diagram
  • The standard grid diagram for heat exchanger networks
  • An alternative graphical version of the grid diagram
  • An output cvs or excel spreadsheet file with the same information as the input file, but sorted to be like the grid diagram streams


  • The project was developed in MATLAB 2020b. If you have earlier versions of MATLAB, you may have some compatibility issues (see Bugs-Notes).
  • Basic knowledge of process integration.


It is reasonably simple to us the program if you do not want to make further changes. First, you need to make a spreadheet with 4 columns:

  • The first column will be the ID of each stream. You can name each stream however you want.
  • The second column will be the inlet temperature of each stream in degrees Celius.
  • The third column will be the outlet temperature of each stream in degrees Celius.
  • The fourth column will be the CP of each stream in kW per degree Celius.

Then, you just have to run the importfromexcel.m file and put the name of the input file and the name of the output file.

Important notes:

  • It is advised that the first row will have the names of each column variable.
  • The hot streams must be in the top rows and the cold streams in the bottom rows. An empty row must be left between them.
  • The input file must be in the same folder as the m files.
  • When you put the names of the input and output files, you must also include the extension (e.g. 'ExcelData.xlsx').

Short Description of Each File


This is probably the only file you will have to explicitly run. It reads the data form the input file and it generates the output file. The minimum temperature difference is 10 K by default, but you can change that as you wish.


This is the main function of the project. It applies the problem table algorith and it generates the Grand Composite Curve and the Enthalpy-Temperature diagram. It does not need the IDs in order to run.


This function generates the grid diagrams of the process, which can be used to make a heat exchanger network. It calls the thermocascade.m file to get the pinch.


This function must be called independently, after the Grand Composite Curve has been generated by the thermocascade.m function. As arguments, you must give the temperatures and heat duties of the condenser and the reboiler. Then, the distillation columns are generated in the Grand Composite Curve figure. It may be used to integrate the columns in the process.


This is just an empty spreadheet that can be used as a template for the input file.


  • The only problem that has been noted so far is that in some earlier versions of MATLAB, there is an error in the readtable and writetable functions. A universal solution is not applicable, as it depends on the version of MATLAB that you are using.
  • The program has been tested for pinch problems and threshold problems with no hot utility, but not for threshold problems with no cold utility. However, no bugs are expected for this kind of problems as well.


  • This project was created as part of a Process Design course and the methodology is based on the lectures.
  • The project was tested and improved by my team for this course.


Created by @dimos99 - feel free to contact me! (also found in


This project is licensed under the MIT License

Cite As

Dimos Aslanis (2024). Process Integration (, GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2020b
Compatible with R2018a and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.