Skip to content
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

Nanofiltration DSPM-DE Enhancement #464

Open
8 of 23 tasks
adam-a-a opened this issue Mar 29, 2022 · 4 comments
Open
8 of 23 tasks

Nanofiltration DSPM-DE Enhancement #464

adam-a-a opened this issue Mar 29, 2022 · 4 comments
Assignees
Labels
documentation Improvements or additions to documentation iedo model dev team Issues directly related to the model development team nawi Priority:Normal Normal Priority Issue or PR

Comments

@adam-a-a
Copy link
Contributor

adam-a-a commented Mar 29, 2022

The initial version of the nanofiltration DSPM-DE was pushed in PR#465, but the model needs to undergo validation and refinement.
To Do List:
DSPM-DE Model:
Model Enhancement

  • Add pressure loss relationship for spiral wound membrane module
  • Add modified mass transfer coefficient due to suction effect
  • Revise documentation as needed: add degrees of freedom and identify variables typically fixed, etc.
  • Expand to 1D and possibly 2D to account for gradient across membrane pore and membrane length
  • Reformulate potentially problematic constraints

Stability and Testing

  • Refine initialization as needed to enhance stability
  • Refine scaling as needed to enhance stability- thanks to @bknueven
  • Augment and refine tests
  • Continue refinement of initialization for more robust model
  • Continue refinement of scaling for more robust model - thanks to @bknueven @avdudchenko for contributions
  • Rigorously validate the model and refine implementation as needed

Parameter Estimation

  • Enable parameter estimation of pore radius, effective thickness, pore dielectric constant, and charge density

MCAS Property Model

  • add calc option for Stokes radius from Stokes Einstein
  • get relationship for viscosity as a func of temp and concentration for undefined solute set
  • get relationship for density as a func of temp and concentration for undefined solute set (using seawater correlation currently)
  • consider adding the Pitzer activity coefficient model (nice-to-have)
  • consider adding OLI API functionality (nice-to-have)
  • Refine documentation as needed
  • Remove H2O from molecular weight data input requirement. MCAS should contain MW of H2O by default.
  • consider changing Solute to Anion or Cation (Updating all naming conventions in ion_prop_pack #501)
  • ADD documentation @lbibl - the issue is being tracked here. Add documentation and change the name of ion_dspmde #858
  • Rename the pressure_osm property to pressure_osm_phase in order to be more consistent with IDAES generic property package (Updating all naming conventions in ion_prop_pack #501)
  • Refine initialization, scaling, and bounds on variables/constraints (Ion pp mod #508)
@adam-a-a adam-a-a self-assigned this Mar 29, 2022
@adam-a-a adam-a-a added model dev team Issues directly related to the model development team nawi documentation Improvements or additions to documentation labels Mar 29, 2022
@ksbeattie ksbeattie added the Priority:Normal Normal Priority Issue or PR label Mar 31, 2022
@aladshaw3
Copy link
Collaborator

In #508 I have suggested (and merged in) skipping of the nanofiltration tests from initialization onwards. Results of my analysis on the initialization failures suggest that the changes in the property model are not the issue with the failing tests, but the unit model itself (which may need to be reformulated in some manner).

Here is the log from the initialization showing that convergence for the property package is smooth and normal, but the initialization of the unit model fails to ever find a solution.

nanofiltration_DSPMDE_initialization_log.txt

@adam-a-a adam-a-a mentioned this issue Apr 28, 2022
@aladshaw3
Copy link
Collaborator

I think that the main issue with the model is a combination of scaling and initialization. In the current initialization method, it does not appear as though you are performing any initial guessing for the variables this model introduces and are instead just calling the solver from what ever the current state is. I think you can improve things by performing some simple calculations based on the state variables to more properly provide an initial value to the variables this unit introduces BEFORE calling any solver.

@lbibl
Copy link
Contributor

lbibl commented Nov 29, 2022

Merging #858 will check one box here.

@adam-a-a adam-a-a changed the title Validation/Refinement of Initial Nanofiltration DSPM-DE Nanofiltration DSPM-DE Enhancement Apr 9, 2023
@adam-a-a adam-a-a added the iedo label Apr 9, 2023
@adam-a-a
Copy link
Contributor Author

@avdudchenko reported that stateblocks don't successfully initialize when trying an example with 2 ions at very low concentrations. This should be probed further to ensure model stability.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation iedo model dev team Issues directly related to the model development team nawi Priority:Normal Normal Priority Issue or PR
Projects
None yet
Development

No branches or pull requests

4 participants