We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
I am trying to run an initializer that calls check_optimal_termination, but it appears the results object does not have the expected structure.
check_optimal_termination
results
from pyomo.environ import ( ConcreteModel, SolverFactory, units, ) from idaes.core import FlowsheetBlock from prommis.leaching.leach_train import LeachingTrain, LeachingTrainInitializer from prommis.leaching.leach_reactions import CoalRefuseLeachingReactions from prommis.leaching.leach_solids_properties import CoalRefuseParameters from prommis.leaching.leach_solution_properties import LeachSolutionParameters m = ConcreteModel() m.fs = FlowsheetBlock(dynamic=False) m.fs.leach_soln = LeachSolutionParameters() m.fs.coal = CoalRefuseParameters() m.fs.leach_rxns = CoalRefuseLeachingReactions() m.fs.leach = LeachingTrain( number_of_tanks=1, liquid_phase={ "property_package": m.fs.leach_soln, "has_energy_balance": False, "has_pressure_balance": False, }, solid_phase={ "property_package": m.fs.coal, "has_energy_balance": False, "has_pressure_balance": False, }, reaction_package=m.fs.leach_rxns, ) m.fs.leach.liquid_inlet.flow_vol.fix(224.3 * units.L / units.hour) m.fs.leach.liquid_inlet.conc_mass_comp.fix(1e-10 * units.mg / units.L) m.fs.leach.liquid_inlet.conc_mass_comp[0, "H"].fix( 2 * 0.05 * 1e3 * units.mg / units.L ) m.fs.leach.liquid_inlet.conc_mass_comp[0, "HSO4"].fix(1e-8 * units.mg / units.L) m.fs.leach.liquid_inlet.conc_mass_comp[0, "SO4"].fix( 0.05 * 96e3 * units.mg / units.L ) # Solid feed state m.fs.leach.solid_inlet.flow_mass.fix(22.68 * units.kg / units.hour) m.fs.leach.solid_inlet.mass_frac_comp[0, "inerts"].fix(0.6952 * units.kg / units.kg) m.fs.leach.solid_inlet.mass_frac_comp[0, "Al2O3"].fix(0.237 * units.kg / units.kg) m.fs.leach.solid_inlet.mass_frac_comp[0, "Fe2O3"].fix(0.0642 * units.kg / units.kg) m.fs.leach.solid_inlet.mass_frac_comp[0, "CaO"].fix(3.31e-3 * units.kg / units.kg) m.fs.leach.solid_inlet.mass_frac_comp[0, "Sc2O3"].fix( 2.77966e-05 * units.kg / units.kg ) m.fs.leach.solid_inlet.mass_frac_comp[0, "Y2O3"].fix( 3.28653e-05 * units.kg / units.kg ) m.fs.leach.solid_inlet.mass_frac_comp[0, "La2O3"].fix( 6.77769e-05 * units.kg / units.kg ) m.fs.leach.solid_inlet.mass_frac_comp[0, "Ce2O3"].fix( 0.000156161 * units.kg / units.kg ) m.fs.leach.solid_inlet.mass_frac_comp[0, "Pr2O3"].fix( 1.71438e-05 * units.kg / units.kg ) m.fs.leach.solid_inlet.mass_frac_comp[0, "Nd2O3"].fix( 6.76618e-05 * units.kg / units.kg ) m.fs.leach.solid_inlet.mass_frac_comp[0, "Sm2O3"].fix( 1.47926e-05 * units.kg / units.kg ) m.fs.leach.solid_inlet.mass_frac_comp[0, "Gd2O3"].fix( 1.0405e-05 * units.kg / units.kg ) m.fs.leach.solid_inlet.mass_frac_comp[0, "Dy2O3"].fix( 7.54827e-06 * units.kg / units.kg ) m.fs.leach.volume.fix(100 * units.gallon) initializer = LeachingTrainInitializer() initializer.initialize(m.fs.leach) solver = SolverFactory("ipopt") solver.solve(m, tee=True) ...
2025-02-05 12:13:41 [INFO] idaes.init.fs.leach.mscontactor: Stream Initialization Completed. 2025-02-05 12:13:41 [INFO] idaes.init.fs.leach.mscontactor: Initialization Completed, optimal - <undefined> Traceback (most recent call last): File "C:\GitHub\prommis\prommis\src\prommis\leaching\leach_flowsheet_trimmed.py", line 99, in <module> initializer.initialize(m.fs.leach) File "C:\Users\mholl\miniconda3\envs\prommis\Lib\site-packages\idaes\core\initialization\initializer_base.py", line 201, in initialize return self.postcheck( ^^^^^^^^^^^^^^^ File "C:\Users\mholl\miniconda3\envs\prommis\Lib\site-packages\idaes\core\initialization\initializer_base.py", line 372, in postcheck model, "solver_status", check_optimal_termination(results_obj) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\mholl\miniconda3\envs\prommis\Lib\site-packages\pyomo\opt\results\solver.py", line 152, in check_optimal_termination if results.solver.status == SolverStatus.ok and ( ^^^^^^^^^^^^^^ AttributeError: 'InitializationStatus' object has no attribute 'solver' Process finished with exit code 1
Pyomo version: 6.8.2 Python version: 3.11.9 Operating system: Windows How Pyomo was installed (PyPI, conda, source): conda Solver (if applicable): ipopt
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Summary
I am trying to run an initializer that calls
check_optimal_termination
, but it appears theresults
object does not have the expected structure.Steps to reproduce the issue
Error Message
Information on your system
Pyomo version: 6.8.2
Python version: 3.11.9
Operating system: Windows
How Pyomo was installed (PyPI, conda, source): conda
Solver (if applicable): ipopt
The text was updated successfully, but these errors were encountered: