-
Notifications
You must be signed in to change notification settings - Fork 59
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
Update Costing in Dye Desal Flowsheet #1485
base: main
Are you sure you want to change the base?
Conversation
m.fs.brine_cost = Expression( | ||
expr=( | ||
-1 | ||
* m.fs.zo_costing.utilization_factor |
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.
Is the zero order costing utilization factor same as ro.costing? Can you tell me some background why we need to use zero order costing in this flowsheet?
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.
Yes, both utilization factors are set to 0.85. Zero order costing is needed to cost the ZO nanofiltration and pump models The dye_desalination_global_costing.yaml
file is also linked to the zero order costing and provides values like dye_disposal_cost
, recovered_water_cost
, electricity_cost
, etc.
Just as a reminder for both of us--should double-check capital recovery factor values for both ZO and "detailed" costing packages and ensure that they are equivalent and line up with what was used for analyses. |
I've set the capital recovery factor for ro_costing to 0.065, which is the value used by the zo_costing and our analyses |
m.fs.ro_costing.base_currency = pyunits.USD_2020 | ||
m.fs.ro_costing.utilization_factor.fix(0.85) | ||
# Assume the same capital recovery factor as zo_costing | ||
m.fs.ro_costing.capital_recovery_factor.fix(0.065051435) |
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.
@MarcusHolly any reason why we don't just point to the variable itself to get the value instead of hard-coding here?
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.
Nope - I'll update this
Co-authored-by: Adam Atia <[email protected]>
if value(m.fs.brine_cost) > 0: | ||
return pyunits.convert( | ||
m.fs.brine_cost, | ||
to_units=pyunits.USD_2020 / pyunits.year, |
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.
Something to keep in mind for subsequent PR and report modifications: would be good to move away from 2020 currency since it's more of an anomaly.
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.
@adam-a-a So what should be used instead?
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.
Could go with 2023
Fixes/Resolves:
Updates the dye desal flowsheet in preparation for a report
Changes proposed in this PR:
Legal Acknowledgement
By contributing to this software project, I agree to the following terms and conditions for my contribution: