# \[ANN-RFC\] FlowsheetTools.jl

**URL:** https://discourse.julialang.org/t/ann-rfc-flowsheettools-jl/117011
**Category:** Package Announcements
**Tags:** package, announcement
**Created:** [July 13, 2024, 6:20pm UTC](https://discourse.julialang.org/t/ann-rfc-flowsheettools-jl/117011 "2024-07-13T18:20:51Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![braamvandyk](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/braamvandyk/32/5086_2.png) [@braamvandyk](https://discourse.julialang.org/u/braamvandyk)
#### Post date: [July 13, 2024, 6:20pm UTC](https://discourse.julialang.org/t/ann-rfc-flowsheettools-jl/117011/1 "2024-07-13T18:20:51Z")

</div>

A request for comments on a new WIP package, [FlowsheetTools.jl](https://github.com/braamvandyk/FlowsheetTools.jl/).

This is a basic flowsheeting toolkit for chemical / process engineers.

There is always a need for mass balance reconciliation in my job - either when I am troubleshooting a running plant or fitting models to pilot plant data. I wanted a generic tool to define a flowsheet, mass balance boundaries etc and then run a reconciliation. I also included a mixer, some splitters and a stoichiometric reactor, since we never have all the data we need often need to calculate some streams. It is easy to add any additional user-defined unit operations.

There is a demo file to illustrate what you can do with the tookit as it stands: [demo.ipynb](https://github.com/braamvandyk/FlowsheetTools.jl/blob/main/demos.ipynb).

I would love some input on missing features and improvements to the user interface. This is a tool I am using and would like to build out further. If you are interested in contributing, you are more than welcome. Let’s chat.

This is not meant to be a process simulator, but the basic building blocks are there. Maybe, if I ever find the time, I’ll add a recycle convergence algorithm.

In any event, I think I am ready for a first release and will register the package if I don’t find major flaws in the next week or so. I would love some input before then, though.

---

<div class="post-metadata">

### Author: ![longemen3000](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/longemen3000/32/7298_2.png) [@longemen3000](https://discourse.julialang.org/u/longemen3000)
#### Post date: [July 16, 2024, 3:00am UTC](https://discourse.julialang.org/t/ann-rfc-flowsheettools-jl/117011/2 "2024-07-16T03:00:36Z")

</div>

seems great!, i saw that you need to implement a tearing algorithm, maybe using ModelingToolkit could help in that regard? (of course, this is not a blocking issue for registration)

---

<div class="post-metadata">

### Author: ![braamvandyk](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/braamvandyk/32/5086_2.png) [@braamvandyk](https://discourse.julialang.org/u/braamvandyk)
#### Post date: [July 16, 2024, 8:05am UTC](https://discourse.julialang.org/t/ann-rfc-flowsheettools-jl/117011/3 "2024-07-16T08:05:39Z")

</div>

The stream tearing is a very nice to have, but not required feature that I am resisting. The temptation to change this into a simulator will be too large. 😀
