Closed dallan-keylogic closed 1 day ago
@dallan-keylogic I have a PR open to fix this, #3275. What would you expect to happen for an uninitialized (None-valued) variable in the scaled model? I could see these variable being skipped (leaving the values in the original model unchanged), or could see None being propagated just like any other value, potentially overriding a value in the original model.
@Robbybp Thank you for fixing this. I'd say propagate the None
and log a warning if the variable is not None
in the unscaled model. I don't expect such a situation to arise often.
Also, could you please comment on my check_parallel_jacobian on the desired behavior for the tolerance? I'd like to finalize that behavior so I can fix the failing tests.
Summary
propagate_state
from Pyomo's scaling tools cannot handle if any variables in the model are uninitialized.In the original IDAES model this was encountered in (the
ControlVolume1D
), we have unpaired material and energy difference terms along either the x=0 or x=1 boundary (depending on the discretization direction). Presently, we use the fact those terms are uninitialized in initialization methods to determine whether the user has provided an initial guess or not, so just initializing them at zero isn't an immediate solution.Steps to reproduce the issue
Minimum example:
Error Message
Pyomo version 6.5.1a0