Data Science and Machine Learning using a distillation column simulator.
To begin with, this will be a steady-state simulator. The final goal is to convert it into a dynamic simulator.
This project serves the author's personal learning purposes. Developing the simulator will initially provide practice with Python classes, NumPy and SciPy. The simulator will then be used to learn and practice Data Science and Machine Learning.
There is only one Jupyter notebook file, currently.
- Distillation.ipynb. This file contains all the Python code to run the simulation. The code is under development, and currently only includes a working example for a simple distillation column. This file contains the very first code and is not updated. Classes and functions in this file have been broken out into individual files.
- connector.py. Connector class. Sets attributes of two Stream objects equal to each other.
- foust_8_11.py. Runs Example 8.11 if Foust et al's textbook.
- mixer.py. Mixer class. Mixes multiple input streams and outputs one or more streams with identical attributes (except flow rate).
- phy_props.py. Specify physical properties of each component
- sim_utils.py. Utility functions required for simulation.
- simplecolumn.py. Class for simple distillation column.
- specify.py. Class to specify attribute of a Stream object.
- stream.py. Class to hold attributes of a stream.
- tray.py. Class for tray in a distillation column.
- unit.py. Parent class for all processing unit and stream classes.
Download the file in the File Descriptions section. Read the description to understand what the simulator includes and run it.
The following packages are used. The user must download and install these packages separately.
- NumPy (https://www.numpy.org)
- SciPy (https://www.scipy.org)
- matplotlib (https://www.matplotlib.org)
- pandas (https://pandas.pydata.org/pandas-docs/stable/)
- cProfile (https://docs.python.org/3/library/profile.html)
- pstats (https://docs.python.org/3/library/profile.html)
- io (https://docs.python.org/3/library/profile.html)