-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add steam heater and condenser #1358
Conversation
@ElmiraShamlou @adam-a-a I am guessing you aren't aware of this, but IDAES already has a model for a heat exchanger with a condensing section. In order to avoid duplication of code and effort, it would probably be good idea to check this out to see if it might meet your needs: https://github.com/IDAES/idaes-pse/blob/main/idaes/models_extra/power_generation/unit_models/feedwater_heater_0D.py |
@andrewlee94 Thanks for the comment. Yes, I'm aware of the IDAES feed water heater. The current PR aims to enhance the steam heater's compatibility with the WaterTAP property packages. This is because the existing IDAES steam heater requires properties that are not available in WaterTAP property packages. We have previously discussed the possibility of integrating these properties to simplify future development efforts with the team. |
I am unsure whether the Mac failure is something we want to just dodge with |
@adam-a-a I believe it's because of Chen's approximation |
The issue here is we call some external function not available without IDAES extensions. We should just use @lbianchi-lbl we should probably consider updating the macOS tests given these external functions are now available for macOS, although that would require re-working the |
@Morgan88888888 The primary reason for developing this unit model is to calculate the steam consumption rate (given complete condensation of the steam at the outlet) across various flowsheets and configurations in treatment systems like membrane distillation where the steam requirement significantly varies with design. Given that the hot inlet steam flow rate is variable, additional steps are added to the main heat exchanger's initialization method to improve initialization for this specific case. From my experience, initializing a steam heater in the treatment flowsheet without these additional steps was challenging. If you have experience using heat exchangers in similar applications without the need for modifications in initialization, sharing your experience could be greatly helpful. Another consideration is that we plan to add flowsheets containing multiple steam heaters; having this unit prevents the need to replicate extra constraints for each one. |
I strongly agree with this -- as soon as we have the same code in two different places a refactor with tests like this makes the most sense for maintainability and reliability. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1358 +/- ##
==========================================
+ Coverage 93.63% 93.65% +0.01%
==========================================
Files 285 286 +1
Lines 30580 30670 +90
==========================================
+ Hits 28635 28723 +88
- Misses 1945 1947 +2 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM - just one comment that may or may not hold up this PR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! 👍 Thanks for your work on this.
Fixes/Resolves:
Adds a steam heater and condenser unit model, assuming full condensation at the outlet.
Estimate cooling water flow for the condenser option assuming specific design delta T.
Compatible with the WaterTap Property Packages.
Evaporative based desalinations like MD flowsheet, and crystallizer flowsheet will benefit from this added steam heater and condenser unit models.
Changes proposed in this PR:
Legal Acknowledgement
By contributing to this software project, I agree to the following terms and conditions for my contribution: