-
Notifications
You must be signed in to change notification settings - Fork 30
Precipitation calculation with isotherms #99
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
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #99 +/- ##
=======================================
Coverage 96.98% 96.99%
=======================================
Files 48 48
Lines 7540 7557 +17
=======================================
+ Hits 7313 7330 +17
Misses 227 227 ☔ 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.
A few minor suggestions - I will not formally request changes just in case this is not ready by the time I leave so as not to hold things up with messing around to override my request.
) | ||
|
||
self.acid_flow = Var( | ||
units=units.dimensionless, |
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.
This looks like it really should have dimensions.
Also, how reliably can be define the upper bound for this (which probably depends on the units)?
|
||
# parameter based on pH 1.5 | ||
# TODO add surrogate model/equation | ||
self.E_D = Param( |
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.
A more descriptive name and/or a doc string would be good here as I do not really know what I am looking at at the moment.
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.
Seconding this point
|
||
# parameter based on pH 1.5 | ||
# TODO add surrogate model/equation | ||
self.N_D = Param( |
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.
As above.
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.
Same here
Seems like this PR still needs to address Andrew's comments as well as resolving some of the |
@agarciadiego, any news on this? |
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.
A couple of minor comments, but I'll start looking into what is needed to incorporate this into the UKy flowsheet today and tomorrow
|
||
# parameter based on pH 1.5 | ||
# TODO add surrogate model/equation | ||
self.E_D = Param( |
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.
Seconding this point
|
||
# parameter based on pH 1.5 | ||
# TODO add surrogate model/equation | ||
self.N_D = Param( |
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.
Same here
Reaction package for heterogeneous reactions involved in oxalate precipiration of | ||
REEs from solid West Kentucky No. 13 coal refuse using oxalic acid. |
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.
Reaction package for heterogeneous reactions involved in oxalate precipiration of | |
REEs from solid West Kentucky No. 13 coal refuse using oxalic acid. | |
Reaction package for heterogeneous reactions involved in oxalate precipitation of | |
REEs from solid West Kentucky No. 13 coal refuse using oxalic acid. |
} | ||
|
||
# parameter based on pH 1.5 | ||
self.E_D = Param( |
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.
Better name or docstring
) | ||
|
||
# parameter based on pH 1.5 | ||
self.N_D = Param( |
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.
Better name or docstring
|
||
def build(self): | ||
""" | ||
Reaction block for leaching of West Kentucky No. 13 coal refuse in H2SO4. |
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 this docstring accurate?
|
||
|
||
# ----------------------------------------------------------------------------- | ||
# Leach solution property package |
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.
Precipitation liquid property package?
# Precipitator unit model | ||
class OxalatePrecipitatorInitializer(ModularInitializerBase): | ||
""" | ||
This is a general purpose Initializer for the Oxalate Precipitator unit model. |
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.
This is a general purpose Initializer for the Oxalate Precipitator unit model. | |
This is a general purpose Initializer for the Oxalate Precipitator unit model. |
src/prommis/uky/uky_flowsheet.py
Outdated
initializer_precip = OxalatePrecipitatorInitializer() | ||
precip_units = [ | ||
m.fs.precipitator, | ||
] | ||
|
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.
Running into the following issue with OxalatePrecipitatorInitializer: idaes.core.util.exceptions.InitializationError: Degrees of freedom for fs.precipitator.mscontactor were not equal to zero during initialization (DoF = 13).
The SXInitializer had a similar issue when it was first being developed - see Andrew's comment here on a potential fix: #85 (comment)
per @MarcusHolly I (@dangunter ) will check how to add new outputs from L1572-2121 in |
@MarcusHolly I added a version of the Once the new version is verified, of course you can replace |
Addresses Issue:
Lack of prediction from previous precipitation data
Summary/Motivation:
Precipitation requires function to calculate precipitation based on acid dosage
Changes proposed in this PR:
-Adds isotherm form calculation for oxalate precipitation based on acid dosage
-Data based on Visual Minteq
Reviewer's checklist / merge requirements:
main
branch on the PR author's forkLegal Acknowledgement
By contributing to this software project, I agree to the following terms and conditions for my contribution:
I agree my contributions are submitted under the license terms described in the LICENSE.md file
at the top level of this directory.
I represent I am authorized to make the contributions and grant the license. If my employer has
rights to intellectual property that includes these contributions, I represent that I have
received permission to make contributions and grant the required license on behalf of that
employer.