idaes-pse icon indicating copy to clipboard operation
idaes-pse copied to clipboard

Requests for new tutorials/examples

Open andrewlee94 opened this issue 6 years ago • 2 comments

As we are getting more issues asking for new examples and tutorials, I am creating this issue as a master list of all areas identified as needing examples or tutorials. Feel free to add new items to the list as needed, and we can periodically cull things that have been checked off.

Flowsheets

  • [ ] Dynamic flowsheets (already have something, but it needs to be better)
  • [ ] Nested flowsheets
  • [ ] Flowsheets with multiple property packages and translator blocks (#339)
  • [ ] Flowsheets with with mixed single and multi phase flows (#339)
  • [x] Debugging over/under constraints (P)DAE models: (see https://github.com/Pyomo/pyomo/issues/3016)

Unit Models

  • [x] Examples for each type of model (https://github.com/IDAES/idaes-pse/issues/9)
  • [x] Custom unit models

Properties

  • [x] Custom property packages (https://github.com/IDAES/idaes-pse/issues/9, IDAES/idaes-dev#675 )
  • [ ] Examples of using cubic equations of state

andrewlee94 avatar Aug 01 '19 20:08 andrewlee94

Related to issue IDAES/idaes-dev#340, deciding how to organize these new examples.

eslickj avatar Aug 05 '19 13:08 eslickj

Some comments received from a new IDAES user on some of the advanced tutorials:

As a follow up to our discussion here is my feedback on some idaes docs and tutorials.

For building a custom property model I followed this tutorial. I had a little trouble understanding the distinction between all the blocks (e.g. state block, parameter block) and how they are set-up. Moreover, I understood what build-on-demand property functionality does conceptually but I had some trouble understanding how that is set up. Also, with the new release, we can't add custom properties in the add_properties part but we need to add define_custom_properties which is written in the releases tab but not reflected in the examples yet. I don't think I could have figured this out just looking at the error I got.

For building custom unit models, the config block was the most confusing for me. Especially how to set up config arguments for the property models. I did not check out the docs at the time and just went through some files on git and saw that there were multiple ways that people have done this that were not really consistent. Also even if you don't inherit the config block from somewhere else and write your own you still have to add dynamic and has_holdup which is apparently in the docs but may benefit from extra highlighting. Another difficulty was about the discretization of property blocks. I understood what idx_map does and why we need it but to figure out how it works and how to alter it for my purposes was difficult.

I went through a couple tabs from readthedocs and some jupyter notebook tutorials, they were super helpful! I can let you know if I can't find something I need in the docs in the future.

andrewlee94 avatar Jun 20 '23 12:06 andrewlee94