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

Dynamics TODO list #1490

Open
5 tasks
dallan-keylogic opened this issue Sep 23, 2024 · 2 comments
Open
5 tasks

Dynamics TODO list #1490

dallan-keylogic opened this issue Sep 23, 2024 · 2 comments
Assignees
Labels
Backlog Things we'd like to get to someday Priority:Normal Normal Priority Issue or PR Stakeholder Feedback Feedback and requests from stakeholders

Comments

@dallan-keylogic
Copy link
Contributor

dallan-keylogic commented Sep 23, 2024

There are many outstanding issues with dynamic or multiperiod models that need to be resolved. They will be aggregated in this issue. This list is incomplete; you can help by expanding it.

  • Standardize behavior of initialization routines when more than one time point is present
  • Revisit process_base.fix_initial_conditions and roll out standardized methods to provide initial conditions for dynamic models by loading in a .json file as well as solving a steady-state problem at t0.
  • Reevaluate whether every model that allows dynamic=True should allow it, or whether it should be retired (Heater, I'm looking at you).
  • Add documentation explaining the concepts of setting has_holdup=True and dynamic=True in a model
  • Add example where we take a simple unit model (maybe a CSTR?) and make it dynamic.
@dallan-keylogic dallan-keylogic self-assigned this Sep 23, 2024
@dallan-keylogic dallan-keylogic added Stakeholder Feedback Feedback and requests from stakeholders Backlog Things we'd like to get to someday labels Sep 23, 2024
@andrewlee94
Copy link
Member

A few more thoughts for inclusion (I suggest those with more experience think about these and add any important ones above):

  1. Support normalized time domains - this could just be a new config argument to flowsheet block, which adds a scaling factor that can be picked up by control volumes.
  2. Look at standardizing multiperiod models, as different projects seem to have implemented their own approaches. Notably, FlowsheetBlock already supports multiperiod models by setting dynamic=False and providing a time_set argument (effectively creating steady state models at each time element).

@Robbybp
Copy link
Member

Robbybp commented Sep 23, 2024

Revisit process_base.fix_initial_conditions and roll out standardized methods to provide initial conditions for dynamic models by loading in a .json file as well as solving a steady-state problem at t0.

I have written some tools that may be useful for this, e.g. this example. See lines 54-55, where I load data from a steady state model into plant and controller models for initialization. The data could also come from a dynamic model or a json file.

@ksbeattie ksbeattie added the Priority:Normal Normal Priority Issue or PR label Sep 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Backlog Things we'd like to get to someday Priority:Normal Normal Priority Issue or PR Stakeholder Feedback Feedback and requests from stakeholders
Projects
None yet
Development

No branches or pull requests

4 participants