-
Notifications
You must be signed in to change notification settings - Fork 496
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
Degree of freedom not equal zero for PDE problems using pyomo.dae #3016
Comments
Hi @lxhowl, user-support type questions like this are probably better suited for the Google group or Stack Overflow, but we do have some tools available for debugging degree of freedom issues. I can add the following lines to the end of your script: from ideas.core.util import DiagnosticsToolbox
dt = DiagnosticsToolbox(m)
dt.report_structural_issues() This gives me:
This indicates that you have two degree-of-freedom issues in the model you've written: A set of 2 constraints that is attempting to solve for 4 variables, and a set of 4 constraints that is attempting to solve for 3 variables, for a net of 1 degree of freedom. We can see what variables/constraints are in these under and over-constrained sets by calling the suggested methods: dt.display_underconstrained_set()
dt.display_overconstrained_set() which gives me:
I did not look closely enough at the model to tell you exactly why these sets are under and over-constrained, but I would probably start by asking why the |
@Robbybp Thanks! We'll look at this more closely. This could even become a good example for the Diagnostics toolbox in IDAES. How to debug an over or underconstrained PDE model. Tagging: @andrewlee94 and @blnicho for their awareness. |
Summary
I use pyomo.dae to solve PDE problems but found the DOF is not equal to 0 and also changes using different discretization transformations.
Steps to reproduce the issue
Error Message
Problem:
Lower bound: -inf
Upper bound: inf
Number of objectives: 1
Number of constraints: 2572
Number of variables: 2573
Sense: unknown
Information on your system
Pyomo version: 6.6.2
Python version: 3.10.12
Operating system: Linux 5.15.120+
How Pyomo was installed (PyPI, conda, source): idaes_pse
Solver (if applicable): Ipopt 3.13.2
Additional information
Colab notebook for the minimal problem
Same problem when switching discretizers in pyomo PDE example
The text was updated successfully, but these errors were encountered: